rsync write fails on descriptor 3

M. Warner Losh imp at bsdimp.com
Thu Dec 28 15:36:57 PST 2006


In message: <4593E92D.7040001 at edpausa.com>
            Ilya Vishnyakov <ilya at edpausa.com> writes:
: -----BEGIN PGP SIGNED MESSAGE-----
: Hash: SHA1
:  
: 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.

Please make sure that the rsync daemon is actually running as root,
that there are no syslog messgaes complaining about permission
problems, etc.

Also make sure that the area you are trying to write to isn't NFS
mounted (which denies writes to root by default), or has immutable
file attribute set (see ls -o for a list of flags).

Warner


More information about the freebsd-stable mailing list