Bug 11683 - hang on select when send many files
Summary: hang on select when send many files
Status: RESOLVED INVALID
Alias: None
Product: rsync
Classification: Unclassified
Component: core (show other bugs)
Version: 3.1.2
Hardware: All All
: P5 normal (vote)
Target Milestone: ---
Assignee: Wayne Davison
QA Contact: Rsync QA Contact
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-01-21 07:23 UTC by tom916
Modified: 2016-01-22 08:00 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description tom916 2016-01-21 07:23:43 UTC
iobuf.msg.size default is 32k

so when send many files it may be hang on perform_io
and why iobuf.msg.len always increase to big and never reduce



.x86_64
(gdb) bt
#0  0x000000322bce1353 in __select_nocancel () from /lib64/libc.so.6
#1  0x0000000000429d7a in perform_io (needed=154, flags=4) at io.c:742
#2  0x000000000042b45a in send_msg (code=MSG_LOG,
    buf=0x7fff8ed87400 "10.126.100.201 682364 tjtx-100-200_20160121_135901/aifang_dw/contract_snapshot_detail_20151103.MYD 682244  2015/12/05-18:53:33 recv 114409 fullbak\n",
    len=147, convert=0) at io.c:958
#3  0x00000000004218a0 in rwrite (code=FLOG,
    buf=0x7fff8ed87400 "10.126.100.201 682364 tjtx-100-200_20160121_135901/aifang_dw/contract_snapshot_detail_20151103.MYD 682244  2015/12/05-18:53:33 recv 114409 fullbak\n",
    len=147, is_utf8=0) at log.c:277
#4  0x000000000042299c in log_formatted (code=FLOG, format=<value optimized out>, op=0x45170a "recv", file=0x7f976a8cb360, fname=0x0, iflags=40960, hlink=0x0) at log.c:769
#5  0x0000000000422eaa in log_item (code=FINFO, file=0x7f976a8cb360, iflags=40960, hlink=0x0) at log.c:806
#6  0x0000000000413966 in recv_files (f_in=3, f_out=7, local_name=0x0) at receiver.c:852
#7  0x000000000041d3dc in do_recv (f_in=3, f_out=7, local_name=0x0) at main.c:901
#8  0x000000000041dbbd in do_server_recv (f_in=3, f_out=3, argc=<value optimized out>, argv=<value optimized out>) at main.c:1070
#9  start_server (f_in=3, f_out=3, argc=<value optimized out>, argv=<value optimized out>) at main.c:1104
#10 0x000000000043c5b8 in rsync_module (f_in=3, f_out=3, i=3, addr=<value optimized out>, host=0x67d2a0 "tjtx-100-201.58os.org") at clientserver.c:1003
#11 0x000000000043d58d in start_daemon (f_in=3, f_out=3) at clientserver.c:1094
#12 0x0000000000433b20 in start_accept_loop (port=873, fn=0x43d3b0 <start_daemon>) at socket.c:618
#13 0x000000000043d77b in daemon_main () at clientserver.c:1196
#14 0x000000000041ee25 in main (argc=0, argv=0x0) at main.c:1621
(gdb)