[Bug 11166] running with -vvv causes a hang

samba-bugs at samba.org samba-bugs at samba.org
Thu Jun 4 13:44:43 UTC 2020


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

--- Comment #4 from Michal Ruprich <mruprich at redhat.com> ---
When running on localhost with just -avvv options, rsync spawns three processes
each stuck in the select function in the new perform_io function:

# ps -aux | grep rsync
root 98764 10.0  0.1  13108  3060 pts/2  S+ 09:37   0:00 /usr/bin/rsync -avvv
src/ dst/
root 98765  0.0  0.1  12816  1872 pts/2  S+ 09:37   0:00 /usr/bin/rsync -avvv
src/ dst/
root 98766 10.6  0.1  13076  2432 pts/2  S+ 09:37   0:00 /usr/bin/rsync -avvv
src/ dst/
# pstack 98764
#0  0x00007ff114d4a6bb in select () from /lib64/libc.so.6
#1  0x000055cd6fd48a8f in perform_io ()
#2  0x000055cd6fd4b76d in write_buf ()
#3  0x000055cd6fd50022 in send_token ()
#4  0x000055cd6fd3d12e in matched.isra ()
#5  0x000055cd6fd3d3c2 in match_sums ()
#6  0x000055cd6fd32dd9 in send_files ()
#7  0x000055cd6fd3c512 in client_run ()
#8  0x000055cd6fd1d9f1 in main ()

# pstack 98765
#0  0x00007ff114d4a6bb in select () from /lib64/libc.so.6
#1  0x000055cd6fd48a8f in perform_io ()
#2  0x000055cd6fd49d8f in send_msg ()
#3  0x000055cd6fd3f5fa in rwrite ()
#4  0x000055cd6fd4a982 in read_a_msg ()
#5  0x000055cd6fd49046 in perform_io ()
#6  0x000055cd6fd4a1a9 in io_flush ()
#7  0x000055cd6fd2f1d7 in generate_files ()
#8  0x000055cd6fd3b941 in do_recv ()
#9  0x000055cd6fd3c0d4 in start_server ()
#10 0x000055cd6fd3c20b in child_main ()
#11 0x000055cd6fd5c088 in local_child ()
#12 0x000055cd6fd1d99a in main ()

# pstack 98766
#0  0x00007ff114d4a6bb in select () from /lib64/libc.so.6
#1  0x000055cd6fd48a8f in perform_io ()
#2  0x000055cd6fd49d8f in send_msg ()
#3  0x000055cd6fd3f2c0 in rwrite ()
#4  0x000055cd6fd3fa07 in rprintf ()
#5  0x000055cd6fd28e11 in finish_transfer ()
#6  0x000055cd6fd314fa in recv_files ()
#7  0x000055cd6fd3b852 in do_recv ()
#8  0x000055cd6fd3c0d4 in start_server ()
#9  0x000055cd6fd3c20b in child_main ()
#10 0x000055cd6fd5c088 in local_child ()
#11 0x000055cd6fd1d99a in main ()

These are most likely waiting for the same buffers?
# strace -p 98764
strace: Process 98764 attached
select(5, [], [4], [], {tv_sec=8, tv_usec=659438}) = 0 (Timeout)
select(5, [], [4], [], {tv_sec=60, tv_usec=0}

# strace -p 98765
strace: Process 98765 attached
select(2, [], [1], [], {tv_sec=40, tv_usec=875659}) = 0 (Timeout)
select(2, [], [1], [], {tv_sec=60, tv_usec=0}

# strace -p 98766
strace: Process 98766 attached
select(5, [], [4], [], {tv_sec=55, tv_usec=452214}) = 0 (Timeout)
select(5, [], [4], [], {tv_sec=60, tv_usec=0}

So all the processes are waiting to write something? I am guessing that the
client process and one of the server processes are waiting to write to the
iobuf(fd=4) and the second server process is writing to stdout(assuming fd=1 is
stdout)?

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


More information about the rsync mailing list