[Bug 12527] New: Sender waits for timeout when fuzzy basis file found
samba-bugs at samba.org
samba-bugs at samba.org
Wed Jan 18 15:16:59 UTC 2017
https://bugzilla.samba.org/show_bug.cgi?id=12527
Bug ID: 12527
Summary: Sender waits for timeout when fuzzy basis file found
Product: rsync
Version: 3.1.2
Hardware: All
OS: All
Status: NEW
Severity: critical
Priority: P5
Component: core
Assignee: wayned at samba.org
Reporter: ben.rubson at gmail.com
QA Contact: rsync-qa at samba.org
Hello,
Trying to make the sender get the last error messages from the
generator/receiver (https://bugzilla.samba.org/show_bug.cgi?id=12522), I found
one case where sender exits with timeout instead of correctly exiting.
It is when a fuzzy basis file has been selected.
Here is an example where we send 2 files, but as the remote FS gets full,
transfer properly exits. Perfect.
sending incremental file list
[sender] change_dir(/home/prd/bkp)
send_files starting
server_recv(2) starting pid=45749
get_local_name count=3 /home/prd/bkp/
[Receiver] change_dir(/home/prd/bkp)
generator starting pid=45749
delta-transmission enabled
recv_generator(.,0)
set modtime of . to (1484751636) Wed Jan 18 16:00:36 2017
recv_generator(.,1)
recv_generator(bf.iso,2)
recv_generator(sf2.dmg,3)
recv_files(3) starting
generate_files phase=1
send_files(0, /home/prd/bkp/.)
./
send_files(2, /home/prd/bkp/bf.iso)
bf.iso
549,158,912 74% 12.12MB/s 0:00:14
rsync: [sender] write error: Broken pipe (32)
[sender] got msg=2, len=14
recv_files(.)
[sender] got msg=2, len=19
recv_files(bf.iso)
[sender] got msg=2, len=27
[receiver] send_msg(1, 94)
[sender] got msg=2, len=28
[generator] send_msg(1, 94)
[sender] got msg=1, len=94
rsync: write failed on "/home/prd/bkp/bf.iso": Disc quota exceeded (69)
[sender] got msg=2, len=33
[generator] converted msg len=94
[sender] got msg=2, len=27
[receiver] send_msg(3, 76)
[sender] got msg=2, len=28
[generator] send_msg(3, 76)
[sender] got msg=3, len=76
rsync error: error in file IO (code 11) at receiver.c(400) [receiver=3.1.2]
[sender] got msg=2, len=33
[generator] converted msg len=76
[sender] got msg=2, len=85
[receiver] _exit_cleanup(code=11, file=receiver.c, line=400): about to call
exit(11
[sender] got msg=2, len=32
[receiver] send_msg_int(86, 11)
[sender] got msg=2, len=33
[generator] send_msg_int(86, 11)
[sender] got msg=86, len=4
[sender] send_msg(86, 0)
[sender] _exit_cleanup(code=11, file=io.c, line=1633): about to call exit(11)
Exactly same command launched, but adding -y so that fuzzy basis may be found.
sending incremental file list
[sender] change_dir(/home/prd/bkp)
send_files starting
server_recv(2) starting pid=48003
get_local_name count=3 /home/prd/bkp/
[Receiver] change_dir(/home/prd/bkp)
generator starting pid=48003
delta-transmission enabled
recv_generator(.,0)
set modtime of . to (1484751636) Wed Jan 18 16:00:36 2017
recv_generator(.,1)
recv_generator(bf.iso,2)
recv_generator(sf2.dmg,3)
fuzzy basis selected for sf2.dmg: sf1.dmg
send_files(0, /home/prd/bkp/.)
./
send_files(2, /home/prd/bkp/bf.iso)
bf.iso
519,077,888 70% 8.14MB/s 0:00:25
[sender] io timeout after 30 seconds -- exiting
rsync error: timeout in data send/receive (code 30) at io.c(195) [sender=3.1.2]
[sender] _exit_cleanup(code=30, file=io.c, line=195): about to call exit(30)
As you can see, a fuzzy basis has been selected for the second file.
However, as the remote FS gets full, the transfer of the first file stops, but
instead of correctly exiting, the process hangs and waits for the configured
timeout (30 seconds here), or forever if no timeout configured.
Same behaviour with protocol 30 and 31.
I went through the code but was not able to find out why.
Wayne, could you (or someone else of course) help me solving this issue ?
Would be perfect if this could be solved without having to modify the sender
code.
Thank you very much for your support !
Ben
--
You are receiving this mail because:
You are the QA Contact for the bug.
More information about the rsync
mailing list