[Bug 13109] rsync hangs during transfer of many small files

samba-bugs at samba.org samba-bugs at samba.org
Mon Nov 6 21:06:46 UTC 2017


--- Comment #2 from Hansjoerg Lipp <samba at hlipp.de> ---
Created attachment 13760
  --> https://bugzilla.samba.org/attachment.cgi?id=13760&action=edit
Simplified test case

I could simplify the test case even further, the attached test script does not
even need any example files any more. Simply execute
  ./mktest 5000
on a Linux system. This creates files consisting of few 0-bytes in the manner
described above and executes rsync as described.

I can't really help debugging this as I'm not familiar with the code, the
communication of the processes appears quite complex. I only got this far
(current git):

Commenting out the line
  send_msg((enum msgcode)code, buf, len, 0)
in rwrite() in log.c makes the error go away.

When printing the values iobuf.msg.len, iobuf.msg.len + needed, and
iobuf.msg.size in send_msg() in io.c, it can be seen that the hang occurs as
soon as (iobuf.msg.len + needed) exceeds iobuf.msg.size (32768), i.e. when
perform_io(needed, PIO_NEED_MSGROOM) has to be called.

You are receiving this mail because:
You are the QA Contact for the bug.

More information about the rsync mailing list