rsync freezes on solaris
Anand Raman
araman at sapient.com
Wed Oct 15 01:03:49 EST 2003
hi guys
We use rsync extensively in keeping the site resources in synch across redundant infrastructure.
While attempting rsync for one of the boxes we find that the rsync process simply sleeps. The situation remains the same even if we have sync very small contents of the order of 4 KB. The same run with the -an flag runs without any issues. We run rsync over ssh on solaris boxes.
To debug the situation we attached "truss" to the process on the source as well as the destination.
We see the following output on the destination server.
<snip>
poll(0xFFBEF4B8, 2, 60000) (sleeping...)
poll(0xFFBEF4B8, 2, 60000) = 0
poll(0xFFBEF4B8, 2, 60000) (sleeping...)
poll(0xFFBEF4B8, 2, 60000) = 0
poll(0xFFBEF4B8, 2, 60000) (sleeping...)
poll(0xFFBEF4B8, 2, 60000) = 0
poll(0xFFBEF4B8, 2, 60000) (sleeping...)
poll(0xFFBEF4B8, 2, 60000) = 0
poll(0xFFBEF4B8, 2, 60000) (sleeping...)
poll(0xFFBEF4B8, 2, 60000) = 0
poll(0xFFBEF4B8, 2, 60000) (sleeping...)
poll(0xFFBEF4B8, 2, 60000) = 0
poll(0xFFBEF4B8, 2, 60000) (sleeping...)
poll(0xFFBEF4B8, 2, 60000) = 0
poll(0xFFBEF4B8, 2, 60000) (sleeping...)
poll(0xFFBEF4B8, 2, 60000) = 0
poll(0xFFBEF4B8, 2, 60000) (sleeping...)
poll(0xFFBEF4B8, 2, 60000) = 1
poll(0xFFBEF218, 1, 60000) = 1
read(7, " ?\0\0\b", 4) = 4
poll(0xFFBEF218, 1, 60000) = 1
read(7, " r s y n c : c o n n e".., 63) = 63
poll(0xFFBEE0E8, 1, 60000) = 1
write(1, " ?\0\0\b r s y n c : c".., 67) Err#32 EPIPE
Received signal #13, SIGPIPE [ignored]
write(2, " r s y n c : w r i t e".., 81) Err#32 EPIPE
Received signal #13, SIGPIPE [ignored]
sigaction(SIGUSR1, 0xFFBEDAF8, 0xFFBEDB78) = 0
sigaction(SIGUSR2, 0xFFBEDAF8, 0xFFBEDB78) = 0
getpid() = 7970 [7969]
Received signal #18, SIGCLD [caught]
siginfo: SIGCLD CLD_EXITED pid=7971 status=0x000C
waitid(P_ALL, 0, 0xFFBED6D8, WEXITED|WTRAPPED|WNOHANG) = 0
waitid(P_ALL, 0, 0xFFBED6D8, WEXITED|WTRAPPED|WNOHANG) Err#10 ECHILD
setcontext(0xFFBED890)
kill(7971, SIGUSR1) Err#3 ESRCH
write(2, " r s y n c e r r o r :".., 69) Err#32 EPIPE
Received signal #13, SIGPIPE [ignored]
sigaction(SIGUSR1, 0xFFBED598, 0xFFBED618) = 0
sigaction(SIGUSR2, 0xFFBED598, 0xFFBED618) = 0
getpid() = 7970 [7969]
kill(7971, SIGUSR1) Err#3 ESRCH
write(2, " r s y n c e r r o r :".., 69) Err#32 EPIPE
Received signal #13, SIGPIPE [ignored]
sigaction(SIGUSR1, 0xFFBED038, 0xFFBED0B8) = 0
sigaction(SIGUSR2, 0xFFBED038, 0xFFBED0B8) = 0
getpid() = 7970 [7969]
kill(7971, SIGUSR1) Err#3 ESRCH
write(2, " r s y n c e r r o r :".., 69) Err#32 EPIPE
Received signal #13, SIGPIPE [ignored]
sigaction(SIGUSR1, 0xFFBECAD8, 0xFFBECB58) = 0
sigaction(SIGUSR2, 0xFFBECAD8, 0xFFBECB58) = 0
getpid() = 7970 [7969]
kill(7971, SIGUSR1) Err#3 ESRCH
write(2, " r s y n c e r r o r :".., 69) Err#32 EPIPE
Received signal #13, SIGPIPE [ignored]
sigaction(SIGUSR1, 0xFFBEC578, 0xFFBEC5F8) = 0
sigaction(SIGUSR2, 0xFFBEC578, 0xFFBEC5F8) = 0
getpid() = 7970 [7969]
kill(7971, SIGUSR1) Err#3 ESRCH
write(2, " r s y n c e r r o r :".., 69) Err#32 EPIPE
Received signal #13, SIGPIPE [ignored]
sigaction(SIGUSR1, 0xFFBEC018, 0xFFBEC098) = 0
sigaction(SIGUSR2, 0xFFBEC018, 0xFFBEC098) = 0
getpid() = 7970 [7969]
kill(7971, SIGUSR1) Err#3 ESRCH
write(2, " r s y n c e r r o r :".., 69) Err#32 EPIPE
Received signal #13, SIGPIPE [ignored]
sigaction(SIGUSR1, 0xFFBEBAB8, 0xFFBEBB38) = 0
sigaction(SIGUSR2, 0xFFBEBAB8, 0xFFBEBB38) = 0
getpid() = 7970 [7969]
kill(7971, SIGUSR1) Err#3 ESRCH
write(2, " r s y n c e r r o r :".., 69) Err#32 EPIPE
Received signal #13, SIGPIPE [ignored]
sigaction(SIGUSR1, 0xFFBEB558, 0xFFBEB5D8) = 0
sigaction(SIGUSR2, 0xFFBEB558, 0xFFBEB5D8) = 0
getpid() = 7970 [7969]
kill(7971, SIGUSR1) Err#3 ESRCH
write(2, " r s y n c e r r o r :".., 69) Err#32 EPIPE
Received signal #13, SIGPIPE [ignored]
sigaction(SIGUSR1, 0xFFBEAFF8, 0xFFBEB078) = 0
sigaction(SIGUSR2, 0xFFBEAFF8, 0xFFBEB078) = 0
getpid() = 7970 [7969]
kill(7971, SIGUSR1) Err#3 ESRCH
write(2, " r s y n c e r r o r :".., 69) Err#32 EPIPE
Received signal #13, SIGPIPE [ignored]
sigaction(SIGUSR1, 0xFFBEAA98, 0xFFBEAB18) = 0
sigaction(SIGUSR2, 0xFFBEAA98, 0xFFBEAB18) = 0
getpid() = 7970 [7969]
kill(7971, SIGUSR1) Err#3 ESRCH
write(2, " r s y n c e r r o r :".., 69) Err#32 EPIPE
Received signal #13, SIGPIPE [ignored]
sigaction(SIGUSR1, 0xFFBEA538, 0xFFBEA5B8) = 0
sigaction(SIGUSR2, 0xFFBEA538, 0xFFBEA5B8) = 0
getpid() = 7970 [7969]
kill(7971, SIGUSR1) Err#3 ESRCH
write(2, " r s y n c e r r o r :".., 69) Err#32 EPIPE
Received signal #13, SIGPIPE [ignored]
llseek(0, 0, SEEK_CUR) Err#9 EBADF
_exit(13)
</snip>
The rsync process also terminates unexpectedly on the remote server and I suspect thats what is causing the freeze to happen.
Any help in figuring out this issue will be greatly appreciated. Please let me know if I have missed some information which would have further helped in diagnosing the issue
Thanks for your time
anand
More information about the rsync
mailing list