[Bug 8265] Various corruption of devices and sockets

samba-bugs at samba.org samba-bugs at samba.org
Sat Jun 25 20:17:05 MDT 2011


https://bugzilla.samba.org/show_bug.cgi?id=8265

--- Comment #7 from grarpamp at gmail.com 2011-06-26 02:17:04 UTC ---
Hi :) Patch 6397 and 6626, configure, compiles, and exec's ok.
Here's the build log...

rsync.c:378: warning: unused parameter `fnamecmp'
generator.c:216: warning: `desc' might be used uninitialized in this function
generator.c:622: warning: unused parameter `fname'
generator.c:665: warning: unused parameter `fnamecmp'
generator.c:1112: warning: `type' might be used uninitialized in this function
sender.c:143: warning: unused parameter `fname'
sender.c:143: warning: unused parameter `file'
io.c:470: warning: unused parameter `convert'


I remade the entire real /dev to make sure nothing crept in over
the years, rebooted, still broken. Also ran a few tar's of / | sha1
to make sure that all the kernel stuff is reliably readable, it is.


Not sure if the patch is ok, rsync stalls in some different cases
and needs ctrl-c. Search stall below.

Empty is an empty dir, full is a freshly MAKEDEV'd dir.


### With patch 6397 and 6626, both cases stall.
# Additionally, in both cases, --no-i-r stalls.
# DEBUG is without --no-i-r.
# rsync -nHaxi --delete /dev/ ./empty/
...
[sender] i=4302 /dev zs0 mode=020600 len=0 uid=0 gid=0 flags=0
[sender] i=4303 /dev fd/ mode=040555 len=1024 uid=0 gid=0 flags=4
send_file_list done
file list sent

^C[sender] _exit_cleanup(code=20, file=rsync.c, line=549): entered
rsync error: received SIGINT, SIGTERM, or SIGHUP (code 20) at rsync.c(549)
[sender=3.0.8]
[sender] _exit_cleanup(code=20, file=rsync.c, line=549): about to call exit(20)
rsync: writefd_unbuffered failed to write 96 bytes to socket [Receiver]: Broken
pipe (32)

DEBUG 9: make_file(./fd1.1440): major(tmp_rdev) = 9
DEBUG 1: send_file_entry(fd1.1440): major(rdev) = 9
DEBUG 3: send_file_entry(fd1.1440): XMIT_SAME_RDEV_MAJOR
DEBUG 9: make_file(./rfd1.1440): major(tmp_rdev) = 9
DEBUG 1: send_file_entry(rfd1.1440): major(rdev) = 9
DEBUG 6: recv_file_entry(fd1.1440): XMIT_SAME_RDEV_MAJOR, rdev_major was 3
DEBUG 7: recv_file_entry(fd1.1440): after assembly, major(rdev) = 3
DEBUG 8: recv_file_entry(fd1.1440): DEV_MAJOR(F_RDEV_P(file)) = 3
DEBUG 4: recv_file_entry(rfd1.1440): took major(rdev) = 3 from previous file
fd1.1440
DEBUG 8: recv_file_entry(rfd1.1440): DEV_MAJOR(F_RDEV_P(file)) = 3

# rsync -nHaxi --delete /dev/ ./full/
...
[sender] i=4302 /dev zs0 mode=020600 len=0 uid=0 gid=0 flags=0
[sender] i=4303 /dev fd/ mode=040555 len=1024 uid=0 gid=0 flags=4
send_file_list done
file list sent

^C[sender] _exit_cleanup(code=20, file=rsync.c, line=549): entered
rsync error: received SIGINT, SIGTERM, or SIGHUP (code 20) at rsync.c(549)
[sender=3.0.8]
[sender] _exit_cleanup(code=20, file=rsync.c, line=549): about to call exit(20)
rsync: writefd_unbuffered failed to write 96 bytes to socket [Receiver]: Broken
pipe (32)

DEBUG 9: make_file(./fd1.1440): major(tmp_rdev) = 9
DEBUG 1: send_file_entry(fd1.1440): major(rdev) = 9
DEBUG 3: send_file_entry(fd1.1440): XMIT_SAME_RDEV_MAJOR
DEBUG 9: make_file(./rfd1.1440): major(tmp_rdev) = 9
DEBUG 1: send_file_entry(rfd1.1440): major(rdev) = 9
DEBUG 6: recv_file_entry(fd1.1440): XMIT_SAME_RDEV_MAJOR, rdev_major was 3
DEBUG 7: recv_file_entry(fd1.1440): after assembly, major(rdev) = 3
DEBUG 8: recv_file_entry(fd1.1440): DEV_MAJOR(F_RDEV_P(file)) = 3
DEBUG 4: recv_file_entry(rfd1.1440): took major(rdev) = 3 from previous file
fd1.1440
DEBUG 8: recv_file_entry(rfd1.1440): DEV_MAJOR(F_RDEV_P(file)) = 3


### With only patch 6397, stalls on empty case.
# In both cases, --no-i-r does not stall.
# rsync -nHaxi --delete /dev/ ./empty/
...
recv_files(fd/8)
recv_files(fd/9)

^C[sender] _exit_cleanup(code=20, file=rsync.c, line=549): entered
rsync error: received SIGINT, SIGTERM, or SIGHUP (code 20) at rsync.c(549)
[sender=3.0.8]
[sender] _exit_cleanup(code=20, file=rsync.c, line=549): about to call exit(20)

# rsync -nHaxi --delete /dev/ ./full/
...
recv_files(fd/8)
recv_files(fd/9)
recv_files phase=1
generate_files phase=2
send_files phase=2
send files finished
total: matches=0  hash_hits=0  false_alarms=0 data=0
recv_files phase=2
generate_files phase=3
recv_files finished
generate_files finished
client_run waiting on 19840

sent 72365 bytes  received 18680 bytes  9583.68 bytes/sec
total size is 49778  speedup is 0.55 (DRY RUN)
[sender] _exit_cleanup(code=0, file=main.c, line=1052): entered
[sender] _exit_cleanup(code=0, file=main.c, line=1052): about to call exit(0)

-- 
Configure bugmail: https://bugzilla.samba.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the rsync mailing list