nc_bloaty in persistent server mode seems broken
Cristian Ionescu-Idbohrn
cristian.ionescu-idbohrn at axis.com
Thu Oct 30 12:58:53 UTC 2014
I run it under gdb, something like this:
$ nc -vv -k -p 1234
(yes, the -l option isn't needed, var cnt_l is set to 2).
Then I start a client:
$ echo foo | nc -w1 localhost 1234
I see the server shows the 'foo'. I try to send another one:
$ echo bar | nc -w1 localhost 1234
But that fails, and I notice the server got stuck. ^C it, and:
(gdb) bt full
#0 0x00007ffff7b11f03 in __select_nocancel ()
at ../sysdeps/unix/syscall-template.S:81
No locals.
#1 0x0000000000402b25 in readwrite () at networking/nc_bloaty.c:626
wretry = 8200
rr = <optimized out>
zp = 0x0
np = 0x608124 ""
rzleft = 0
rnleft = 0
netretry = 2
fds_open = 1
ding1 = {fds_bits = {1, 0 <repeats 15 times>}}
ding2 = {fds_bits = {1, 0 <repeats 15 times>}}
#2 0x000000000040316a in nc_main (argc=<optimized out>,
argv=0x7fffffffe568)
at networking/nc_bloaty.c:914
str_p = 0x7fffffffe914 "1234"
str_s = 0x0
str_i = 0x7fffffffe8f4 "busybox_unstripped"
str_o = 0x7ffff7de9f0c <_dl_fixup+508> "\017\037@"
themdotted = <optimized out>
proggie = 0x0
x = <optimized out>
cnt_l = 2
o_lport = <optimized out>
#3 0x00000000004019f4 in run_applet_no_and_exit (applet_no=0,
argv=argv at entry=0x7fffffffe540) at libbb/appletlib.c:772
argc = 5
#4 0x0000000000401a1b in run_applet_and_exit (name=0x7fffffffe907
"nc",
argv=argv at entry=0x7fffffffe540) at libbb/appletlib.c:779
applet = <optimized out>
#5 0x0000000000401b86 in busybox_main (argv=0x7fffffffe540)
at libbb/appletlib.c:731
No locals.
#6 run_applet_and_exit (name=<optimized out>,
argv=argv at entry=0x7fffffffe538)
at libbb/appletlib.c:781
applet = <optimized out>
#7 0x0000000000401c11 in main (argc=<optimized out>,
argv=0x7fffffffe538)
at libbb/appletlib.c:836
No locals.
.config is:
CONFIG_HAVE_DOT_CONFIG=y
CONFIG_PLATFORM_LINUX=y
CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
CONFIG_SHOW_USAGE=y
CONFIG_FEATURE_VERBOSE_USAGE=y
CONFIG_FEATURE_COMPRESS_USAGE=y
CONFIG_SUBST_WCHAR=0
CONFIG_LAST_SUPPORTED_WCHAR=0
CONFIG_LONG_OPTS=y
CONFIG_PID_FILE_PATH=""
CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
CONFIG_CROSS_COMPILER_PREFIX=""
CONFIG_SYSROOT=""
CONFIG_EXTRA_CFLAGS="-g3"
CONFIG_EXTRA_LDFLAGS=""
CONFIG_EXTRA_LDLIBS=""
CONFIG_NO_DEBUG_LIB=y
CONFIG_INSTALL_APPLET_SYMLINKS=y
CONFIG_PREFIX="./_install"
CONFIG_PASSWORD_MINLEN=6
CONFIG_MD5_SMALL=1
CONFIG_SHA3_SMALL=1
CONFIG_FEATURE_EDITING_MAX_LEN=0
CONFIG_FEATURE_EDITING_HISTORY=0
CONFIG_FEATURE_COPYBUF_KB=4
CONFIG_GZIP_FAST=0
CONFIG_DEFAULT_SETFONT_DIR=""
CONFIG_FEATURE_VI_MAX_LEN=0
CONFIG_FEATURE_VI_UNDO_QUEUE_MAX=0
CONFIG_TELINIT_PATH=""
CONFIG_FEATURE_KILL_DELAY=0
CONFIG_INIT_TERMINAL_TYPE=""
CONFIG_LAST_ID=0
CONFIG_FIRST_SYSTEM_ID=0
CONFIG_LAST_SYSTEM_ID=0
CONFIG_FEATURE_DEFAULT_PASSWD_ALGO=""
CONFIG_DEFAULT_MODULES_DIR=""
CONFIG_DEFAULT_DEPMOD_FILE=""
CONFIG_FEATURE_CROND_DIR=""
CONFIG_FEATURE_LESS_MAXLINES=0
CONFIG_FEATURE_BEEP_FREQ=0
CONFIG_FEATURE_BEEP_LENGTH_MS=0
CONFIG_NC=y
CONFIG_NC_SERVER=y
CONFIG_NC_EXTRA=y
CONFIG_NC_110_COMPAT=y
CONFIG_IFUPDOWN_IFSTATE_PATH=""
CONFIG_PSCAN=y
CONFIG_DHCPD_LEASES_FILE=""
CONFIG_UDHCP_DEBUG=0
CONFIG_UDHCPC_DEFAULT_SCRIPT=""
CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=0
CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS=""
CONFIG_FEATURE_MIME_CHARSET=""
CONFIG_SV_DEFAULT_SERVICE_DIR=""
CONFIG_FEATURE_SH_IS_NONE=y
CONFIG_FEATURE_BASH_IS_NONE=y
CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=0
CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=0
Cheers,
--
Cristian
More information about the busybox
mailing list