probbable generator hang bug in rsync

Steve Sether steve at vellmont.com
Sat Sep 10 01:53:48 GMT 2005


I've noticed this problem for a while and thought it was my
own changes to rsync causing them.  I've recently done some 
tests with vanilla versions of rsync though, and found the 
same problem.  Here's the details.

The generator process on an rsync server seems to get stuck in 
an infinite loop after a client process dies.  (The receiver
process dies just fine). I can produce this behavior by starting rsync 
on the client sending files to the server, waiting for the file generation 
process to end and the file sending to start, then killing the rsync process 
on the client end.  I see this bug on rsync 2.6.0-2.6.6.  Version 2.5.7 
doesn't exhibit the same behavior.

I'm running rsync over stunnel, though I doubt that has any effect on the bug
since rsync is running in daemon mode on the server.  (Stunnel thus passes
packets on to rsync via loopback). The module I'm testing under isn't running 
as root, and the timeout on the server is set to 120 seconds.

Strace output for the generator process looks like this:

select(5, NULL, [4], NULL, {33, 310000}) = 0 (Timeout)
select(5, NULL, [4], NULL, {60, 0})     = 0 (Timeout)
select(5, NULL, [4], NULL, {60, 0})     = 0 (Timeout)
select(5, NULL, [4], NULL, {60, 0})     = 0 (Timeout)
select(5, NULL, [4], NULL, {60, 0})     = 0 (Timeout)
select(5, NULL, [4], NULL, {60, 0})     = 0 (Timeout)
select(5, NULL, [4], NULL, {60, 0})     = 0 (Timeout)
select(5, NULL, [4], NULL, {60, 0})     = 0 (Timeout)
select(5, NULL, [4], NULL, {60, 0})     = 0 (Timeout)



More information about the rsync mailing list