rsync write fails on descriptor 3

Bill Moran wmoran at collaborativefusion.com
Thu Dec 28 08:12:31 PST 2006


In response to Ilya Vishnyakov <ilya at edpausa.com>:
>  
> Hello, I'm in trouble with rsync. Some people think that this problem
> is freebsd related:
> 
> I use rsync to synchronize 2 servers (rsync versions are same on both
> machines).
> Most of the directories are copied fine, however, some huge ones fail
> and produce
> some strange output.
> 
> Rsync guys detected this problem as: "
> So the write fails on descriptor 3, which I think is the socket to the
> > daemon.  I Googled "FreeBSD write EPERM" and turned up the
> > following FreeBSD bug, which you might be seeing:
> >
> > http://www.freebsd.org/cgi/query-pr.cgi?pr=kern%2F95559
> 
> I use FreeBSD m.mycompany.com 6.1-RELEASE-p10 FreeBSD 6.1-RELEASE-p10 #2:
> 
> here is the detailed output of the error (I tried to run rsync in
> different modesm however, with no luck):
> 
> truss rsync -atlrpogHvv me at myip::public
> - - - --password-file=/root/rsync_pass /home/public
> 
> ARRIVALS/ARRV112806.xls",0x7fffffffc620) ERR#2 'No such file or directory'
> lstat("Company/General/2006 OLD
> ARRIVALS/ARRV112906.xls",0x7fffffffc620) ERR#2 'No such file or directory'
> select(5,{4},{3},0x0,{60 0})             = 1 (0x1)
> write(3,0xc20000,4092)                   ERR#1 'Operation not permitted'
> rsync: writefd_unbuffered failed to write 4092 bytes [generator]:
> Operation not permitted (1)write(2,0x7fffffffa4f0,93)      = 93 (0x5d)
> 
> write(2,0x80083ce67,1)                   = 1 (0x1)
> sigaction(SIGUSR1,{ SIG_IGN
> 0x0|ONSTACK|RESTART|RESETHAND|NOCLDSTOP|NODEFER|NOCLDWAIT|SIGINFO ss_t
> },0x0) = 0 (0x0)
> sigaction(SIGUSR2,{ SIG_IGN
> 0x0|ONSTACK|RESTART|RESETHAND|NOCLDSTOP|NODEFER|NOCLDWAIT|SIGINFO ss_t
> },0x0) = 0 (0x0)
> getpid()                                 = 42660 (0xa6a4)
> kill(0xa6a5,0x1e)                        = 0 (0x0)
> rsync error: received SIGUSR1 (code 19) at main.c(1095) [receiver=2.6.8]
> rsync error: error in rsync protocol data stream (code 12) at
> io.c(1124) [generator=2.6.8]write(2,0x7fffffffa480,90)         = 90 (0x5a)
> 
> write(2,0x80083ce67,1)                   = 1 (0x1)
> SIGNAL 20 (SIGCHLD)
> SIGNAL 20 (SIGCHLD)
> wait4(0xffffffff,0x7fffffffb394,0x1,0x0)         = 42661 (0xa6a5)
> wait4(0xffffffff,0x7fffffffb394,0x1,0x0)         ERR#10 'No child
> processes'
> sigreturn(0x7fffffffb3b0)                = 524288 (0x80000)
> exit(0xc)
> 
> 
> process exit, rval = 3072
> 
> here is my share from the rsync.conf:
> - -----------------------------------------------------
> uid = 0
> gid = 0
> hosts allow = myhostsips
> secrets file =/usr/local/myfile
> auth users = ilya
> [public]
>         path = /home/public/
>         comment = home filesystem
>         auth users = ilya
>         uid = root
>         read only = yes
>         secrets file =/usr/local/myfile
> - -------------------------------------------------------
> 
> 
> Please advice me what to do next. Thank you in advance.
> Ilya.

1) Actually read the PR
2) Have you tried the workaround of removing the skip and/or scrub
   directives to pf?
3) Are you even using pf?  The PR involved is related to pf, and it
   appears as if the problem was related to an incorrect pf configuration,
   and _not_ a bug in FreeBSD.

Someone should follow up on that PR and see if the OP ever fixed the
problem.

I don't see as how this belongs on FreeBSD-stable.  You might do better
to follow up on that PR, if you can confirm that your problem goes away
with the removal of pf rules as well.

-- 
Bill Moran
Collaborative Fusion Inc.


More information about the freebsd-stable mailing list