Wireshark-bugs: [Wireshark-bugs] [Bug 1151] Tshark segfaults with lots of IP addresses on eth de
Date: Mon, 9 Oct 2006 10:59:52 +0000 (GMT)
http://bugs.wireshark.org/bugzilla/show_bug.cgi?id=1151





------- Comment #3 from tamas@xxxxxxxx  2006-10-09 10:59 GMT -------
> gdb /path/to/tshark /path/to/core
> 
> Enter "bt" at the prompt and post the result here.

I've tried to find the limit where tshark is not usable (for us) and it's
around 460 ip addresses per device (440 worked fine). I've straced tshark and
its somehow stuck in opening eth0 device due to the huge number of ip
addresses. Strace output attached, sorry for the big file.

Am I assuming correctly that tshark tries to open/bind to eth0 for every ip
address it finds on it? (I'm not familiar with pcap programming.)

There's an i/o error at the start of gdb, it seems that it's trying to find
linux-gate.so.1 which is some glibc internals. Is this gdb output okay for you
or need some more/specific stuff?

grog ~ # gdb /usr/bin/tshark --core core --ex "thread apply all bt full"
GNU gdb 6.4
Copyright 2005 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu"...Using host libthread_db
library "/lib/libthread_db.so.1".

Core was generated by `tshark -ni eth0 port 5060'.
Program terminated with signal 6, Aborted.

warning: Can't read pathname for load map: Input/output error.
Reading symbols from /usr/lib/libwiretap.so.0...done.
Loaded symbols for /usr/lib/libwiretap.so.0
Reading symbols from /usr/lib/libwireshark.so.0...done.
Loaded symbols for /usr/lib/libwireshark.so.0
Reading symbols from /usr/lib/libcrypto.so.0.9.7...done.
Loaded symbols for /usr/lib/libcrypto.so.0.9.7
Reading symbols from /usr/lib/libpcre.so.0...done.
Loaded symbols for /usr/lib/libpcre.so.0
Reading symbols from /usr/lib/libgmodule-1.2.so.0...done.
Loaded symbols for /usr/lib/libgmodule-1.2.so.0
Reading symbols from /usr/lib/libglib-1.2.so.0...done.
Loaded symbols for /usr/lib/libglib-1.2.so.0
Reading symbols from /lib/libm.so.6...done.
Loaded symbols for /lib/libm.so.6
Reading symbols from /usr/lib/libpcap.so.0...done.
Loaded symbols for /usr/lib/libpcap.so.0
Reading symbols from /lib/libz.so.1...done.
Loaded symbols for /lib/libz.so.1
Reading symbols from /lib/libc.so.6...done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /lib/libdl.so.2...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
Reading symbols from /usr/lib/wireshark/plugins/0.99.4-SVN-19441/acn.so...done.
Loaded symbols for /usr/lib/wireshark/plugins/0.99.4-SVN-19441/acn.so
Reading symbols from
/usr/lib/wireshark/plugins/0.99.4-SVN-19441/agentx.so...done.
Loaded symbols for /usr/lib/wireshark/plugins/0.99.4-SVN-19441/agentx.so
Reading symbols from
/usr/lib/wireshark/plugins/0.99.4-SVN-19441/artnet.so...done.
Loaded symbols for /usr/lib/wireshark/plugins/0.99.4-SVN-19441/artnet.so
Reading symbols from
/usr/lib/wireshark/plugins/0.99.4-SVN-19441/asn1.so...done.
Loaded symbols for /usr/lib/wireshark/plugins/0.99.4-SVN-19441/asn1.so
Reading symbols from /lib/libnss_compat.so.2...done.
Loaded symbols for /lib/libnss_compat.so.2
Reading symbols from /lib/libnsl.so.1...done.
Loaded symbols for /lib/libnsl.so.1
Reading symbols from /lib/libnss_nis.so.2...done.
Loaded symbols for /lib/libnss_nis.so.2
Reading symbols from /lib/libnss_files.so.2...done.
Loaded symbols for /lib/libnss_files.so.2
Reading symbols from
/usr/lib/wireshark/plugins/0.99.4-SVN-19441/ciscosm.so...done.
Loaded symbols for /usr/lib/wireshark/plugins/0.99.4-SVN-19441/ciscosm.so
Reading symbols from
/usr/lib/wireshark/plugins/0.99.4-SVN-19441/docsis.so...done.
Loaded symbols for /usr/lib/wireshark/plugins/0.99.4-SVN-19441/docsis.so
Reading symbols from
/usr/lib/wireshark/plugins/0.99.4-SVN-19441/enttec.so...done.
Loaded symbols for /usr/lib/wireshark/plugins/0.99.4-SVN-19441/enttec.so
Reading symbols from
/usr/lib/wireshark/plugins/0.99.4-SVN-19441/cosnaming.so...done.
Loaded symbols for /usr/lib/wireshark/plugins/0.99.4-SVN-19441/cosnaming.so
Reading symbols from
/usr/lib/wireshark/plugins/0.99.4-SVN-19441/coseventcomm.so...done.
Loaded symbols for /usr/lib/wireshark/plugins/0.99.4-SVN-19441/coseventcomm.so
Reading symbols from
/usr/lib/wireshark/plugins/0.99.4-SVN-19441/tango.so...done.
Loaded symbols for /usr/lib/wireshark/plugins/0.99.4-SVN-19441/tango.so
Reading symbols from
/usr/lib/wireshark/plugins/0.99.4-SVN-19441/parlay.so...done.
Loaded symbols for /usr/lib/wireshark/plugins/0.99.4-SVN-19441/parlay.so
Reading symbols from
/usr/lib/wireshark/plugins/0.99.4-SVN-19441/gryphon.so...done.
Loaded symbols for /usr/lib/wireshark/plugins/0.99.4-SVN-19441/gryphon.so
Reading symbols from
/usr/lib/wireshark/plugins/0.99.4-SVN-19441/h223.so...done.
Loaded symbols for /usr/lib/wireshark/plugins/0.99.4-SVN-19441/h223.so
Reading symbols from
/usr/lib/wireshark/plugins/0.99.4-SVN-19441/irda.so...done.
Loaded symbols for /usr/lib/wireshark/plugins/0.99.4-SVN-19441/irda.so
Reading symbols from
/usr/lib/wireshark/plugins/0.99.4-SVN-19441/lwres.so...done.
Loaded symbols for /usr/lib/wireshark/plugins/0.99.4-SVN-19441/lwres.so
Reading symbols from
/usr/lib/wireshark/plugins/0.99.4-SVN-19441/mate.so...done.
Loaded symbols for /usr/lib/wireshark/plugins/0.99.4-SVN-19441/mate.so
Reading symbols from
/usr/lib/wireshark/plugins/0.99.4-SVN-19441/megaco.so...done.
Loaded symbols for /usr/lib/wireshark/plugins/0.99.4-SVN-19441/megaco.so
Reading symbols from
/usr/lib/wireshark/plugins/0.99.4-SVN-19441/mgcp.so...done.
Loaded symbols for /usr/lib/wireshark/plugins/0.99.4-SVN-19441/mgcp.so
Reading symbols from
/usr/lib/wireshark/plugins/0.99.4-SVN-19441/opsi.so...done.
Loaded symbols for /usr/lib/wireshark/plugins/0.99.4-SVN-19441/opsi.so
Reading symbols from
/usr/lib/wireshark/plugins/0.99.4-SVN-19441/pcli.so...done.
Loaded symbols for /usr/lib/wireshark/plugins/0.99.4-SVN-19441/pcli.so
Reading symbols from
/usr/lib/wireshark/plugins/0.99.4-SVN-19441/profinet.so...done.
Loaded symbols for /usr/lib/wireshark/plugins/0.99.4-SVN-19441/profinet.so
Reading symbols from /usr/lib/wireshark/plugins/0.99.4-SVN-19441/rdm.so...done.
Loaded symbols for /usr/lib/wireshark/plugins/0.99.4-SVN-19441/rdm.so
Reading symbols from /usr/lib/wireshark/plugins/0.99.4-SVN-19441/rlm.so...done.
Loaded symbols for /usr/lib/wireshark/plugins/0.99.4-SVN-19441/rlm.so
Reading symbols from
/usr/lib/wireshark/plugins/0.99.4-SVN-19441/rtnet.so...done.
Loaded symbols for /usr/lib/wireshark/plugins/0.99.4-SVN-19441/rtnet.so
Reading symbols from
/usr/lib/wireshark/plugins/0.99.4-SVN-19441/rudp.so...done.
Loaded symbols for /usr/lib/wireshark/plugins/0.99.4-SVN-19441/rudp.so
Reading symbols from
/usr/lib/wireshark/plugins/0.99.4-SVN-19441/sbus.so...done.
Loaded symbols for /usr/lib/wireshark/plugins/0.99.4-SVN-19441/sbus.so
Reading symbols from
/usr/lib/wireshark/plugins/0.99.4-SVN-19441/stats_tree.so...done.
Loaded symbols for /usr/lib/wireshark/plugins/0.99.4-SVN-19441/stats_tree.so
Reading symbols from
/usr/lib/wireshark/plugins/0.99.4-SVN-19441/v5ua.so...done.
Loaded symbols for /usr/lib/wireshark/plugins/0.99.4-SVN-19441/v5ua.so
#0  0xb6b48b97 in add_addr_to_iflist () from /usr/lib/libpcap.so.0

Thread 1 (process 13869):
#0  0xb6b48b97 in add_addr_to_iflist () from /usr/lib/libpcap.so.0
No symbol table info available.
#1  0xb6b3e81e in pcap_findalldevs () from /usr/lib/libpcap.so.0
No symbol table info available.
#2  0x0804ed9c in get_interface_list_findalldevs (err=0xbfcd1a38,
err_str=0xbfcd1938 " \030Íż´\030ÍżÇ5ôˇ \030Íż Xőˇ\b") at
capture-pcap-util.c:258
        il = <value optimized out>
        alldevs = (pcap_if_t *) 0xbfcd1910
        dev = <value optimized out>
        if_info = <value optimized out>
#3  0x0804eb8b in get_interface_list (err=0xbfcd1a38, err_str=0xbfcd1938 "
\030Íż´\030ÍżÇ5ôˇ \030Íż Xőˇ\b") at capture-pcap-util-unix.c:80
No locals.
#4  0x0804f474 in get_interface_descriptive_name (if_name=0x836f648 "eth0") at
capture_ui_utils.c:123
        descr = <value optimized out>
        if_list = (GList *) 0x0
        if_entry = <value optimized out>
        if_info = <value optimized out>
        err = 1
        err_buf = " \030Íż´\030ÍżÇ5ôˇ \030Íż
Xőˇ\b\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\001\000\000\000źOőˇČ÷şś\001\000\000\000`\030ÍżXQ˛śxůşś\000\000\000\000É\000\000\000\031\000\000\000ŕ\030ÍżŔVőˇ\031˝\004\bźOő\000\005\000$\016\000\000\000\000\220\030Íżř\016:\b\200\026\000\000\000\000\000\000\000\000\000\000Ö;\006\b\001",
'\0' <repeats 130 times>, "\020"
#5  0x0806197b in capture () at tshark.c:1624
        err = 0
        volatile_err = 0
        inpkts = 0
        pcap_cnt = <value optimized out>
        cnd_autostop_size = (condition * volatile) 0x0
        cnd_autostop_duration = (condition * volatile) 0x0
        descr = <value optimized out>
        pcap_data = '\0' <repeats 61227 times>, "Î挜", '\0' <repeats 17
times>,
"ŕ\222ś8\036ÎżźOőˇ¸p\223ś\236\tôˇ¸p\223ś\000\000\000\000ŕ\001\000\000\022\b\000\000\004\000\000\000\000p\000\0000\000\000\000\004\000\000\000
\000\000\000\004\000\000\0000Q˛ś\000\000\000\000\004", '\0' <repeats 16
times>,
"\200\000\000<z\000\000<z\000\000\000\000\000\000\005\000\000\000\000\200\000\000\000
\000\000¸\220\000\000\230\222\000\000\000p\000\000\003\000\000\000ô?˛ś
Q˛ś\004\000\000\000x\036Îż\037\006§ś
Q˛ś\027\000\000\000źOőˇ`´.\b\004\000\000\000Ä\036Îż¤Bôˇčś.\b`´."...
        oldhandler = <value optimized out>
        stats = {ps_recv = 0, ps_drop = 0, ps_ifdrop = 0}
        write_ok = <value optimized out>
        close_ok = <value optimized out>
        cfilter_error = 0
        errmsg = '\0' <repeats 1024 times>
        secondary_errmsg = '\0' <repeats 4096 times>
        save_file_fd = 0
#6  0x08063b7a in main (argc=5, argv=0xbfce3024) at tshark.c:1490
        init_progfile_dir_error = <value optimized out>
        opt = <value optimized out>
        i = 6
        gpf_path = 0x0
        pf_path = 0x0
        gdp_path = 0x0
---Type <return> to continue, or q <return> to quit---
        dp_path = 0x0
        gpf_open_errno = -1230810875
        gpf_read_errno = -1229832204
        pf_open_errno = 134535697
        pf_read_errno = -1077006488
        gdp_open_errno = 134660392
        gdp_read_errno = 0
        dp_open_errno = 134539904
        dp_read_errno = 0
        err = <value optimized out>
        list_link_layer_types = 0
        start_capture = 0
        quiet = 0
        out_file_type = 2
        cf_name = (gchar *) 0x0
        rfilter = (gchar *) 0x0
        fcode = {bf_len = 16777216, bf_insns = 0x177ff8e}
        rfcode = (dfilter_t *) 0x0
        prefs = (e_prefs *) 0x806d7d8
        badopt = <value optimized out>
        status = <value optimized out>
        __PRETTY_FUNCTION__ = "main"
        optstring = "a:b:c:d:Df:F:hi:lLnN:o:pqr:R:s:St:T:vVw:xX:y:z:"
(gdb) bt
#0  0xb6b48b97 in add_addr_to_iflist () from /usr/lib/libpcap.so.0
#1  0xb6b3e81e in pcap_findalldevs () from /usr/lib/libpcap.so.0
#2  0x0804ed9c in get_interface_list_findalldevs (err=0xbfcd1a38,
err_str=0xbfcd1938 " \030Íż´\030ÍżÇ5ôˇ \030Íż Xőˇ\b") at
capture-pcap-util.c:258
#3  0x0804eb8b in get_interface_list (err=0xbfcd1a38, err_str=0xbfcd1938 "
\030Íż´\030ÍżÇ5ôˇ \030Íż Xőˇ\b") at capture-pcap-util-unix.c:80
#4  0x0804f474 in get_interface_descriptive_name (if_name=0x836f648 "eth0") at
capture_ui_utils.c:123
#5  0x0806197b in capture () at tshark.c:1624
#6  0x08063b7a in main (argc=5, argv=0xbfce3024) at tshark.c:1490


-- 
Configure bugmail: http://bugs.wireshark.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.