#2417 Segfault reading tcpConnTable on Solaris 10

solaris
open
agent (1103)
5
2013-01-24
2012-10-17
Frédéric Brin
No

Hello,

Problem: net-snmp segfaults while reading TCP-MIB::tcpConnTable

OS; Oracle Solaris 10 9/10 s10x_u9wos_14a X86
net-snmp version: 5.6.1.1
Source Package: OpenCSW pkg (http://www.opencsw.org/)
Run cmd: /opt/csw/sbin/snmpd -f -Lsd -Le -p /var/run/cswsnmpd.pid -a

Backtrace from gdb:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1 (LWP 1)]
0xfea8544b in memcpy () from /lib/libc.so.1
(gdb) where
#0 0xfea8544b in memcpy () from /lib/libc.so.1
#1 0xfee5428a in getMibstat () from /opt/csw/lib/libnetsnmpmibs.so.25
#2 0xfee58a77 in tcpTable_load () from /opt/csw/lib/libnetsnmpmibs.so.25
#3 0xfef683fd in _cache_load () from /opt/csw/lib/libnetsnmpagent.so.25
#4 0xfef67eee in netsnmp_cache_check_and_reload () from /opt/csw/lib/libnetsnmpagent.so.25
#5 0xfef682d8 in netsnmp_cache_helper_handler () from /opt/csw/lib/libnetsnmpagent.so.25
#6 0xfef3f615 in netsnmp_call_handler () from /opt/csw/lib/libnetsnmpagent.so.25
#7 0xfef3f9e6 in netsnmp_call_handlers () from /opt/csw/lib/libnetsnmpagent.so.25
#8 0xfef4d4ea in handle_var_requests () from /opt/csw/lib/libnetsnmpagent.so.25
#9 0xfef4e268 in handle_getnext_loop () from /opt/csw/lib/libnetsnmpagent.so.25
#10 0xfef4ec34 in handle_pdu () from /opt/csw/lib/libnetsnmpagent.so.25
#11 0xfef4e766 in netsnmp_handle_request () from /opt/csw/lib/libnetsnmpagent.so.25
#12 0xfef4c01e in handle_snmp_packet () from /opt/csw/lib/libnetsnmpagent.so.25
#13 0xfed2d938 in _sess_process_packet () from /opt/csw/lib/libnetsnmp.so.25
#14 0xfed2e888 in _sess_read () from /opt/csw/lib/libnetsnmp.so.25
#15 0xfed2efb9 in snmp_sess_read2 () from /opt/csw/lib/libnetsnmp.so.25
#16 0xfed2dcfe in snmp_read2 () from /opt/csw/lib/libnetsnmp.so.25
#17 0x08054bb3 in ?? ()
#18 0x08053a23 in main ()

Regards,
Frédéric

Discussion

  • Thomas Anders
    Thomas Anders
    2012-10-18

    Could you please try again with latest version 5.7.2? If OpenCSW doesn't offer it, please build yourself.

     
  • Il finally got 5.7.2 compiling and running. But I get the same result.

    See the following trace.

    sds-fid-101 # gdb /opt/csw/sbin/snmpd
    GNU gdb (GDB) 7.2
    Copyright (C) 2010 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law. Type "show copying"
    and "show warranty" for details.
    This GDB was configured as "i386-pc-solaris2.10".
    For bug reporting instructions, please see:
    http://www.gnu.org/software/gdb/bugs/...
    Reading symbols from /opt/csw/sbin/snmpd...(no debugging symbols found)...done.
    (gdb) set args -f -Lsd -Le -p /var/run/cswsnmpd.pid -a
    (gdb) run
    Starting program: /opt/csw/sbin/snmpd -f -Lsd -Le -p /var/run/cswsnmpd.pid -a
    [Thread debugging using libthread_db enabled]
    [New Thread 1 (LWP 1)]
    Turning on AgentX master support.
    /etc/opt/csw/snmp/snmpd.conf: line 551: Warning: Unknown token: smuxpeer.
    NET-SNMP version 5.7.2
    Received SNMP packet(s) from callback: 1 on fd 3
    Received SNMP packet(s) from UDP: [10.144.253.161]:63066->[0.0.0.0]:0
    Received SNMP packet(s) from UDP: [10.144.253.161]:63068->[0.0.0.0]:0
    Received SNMP packet(s) from UDP: [127.0.0.1]:52062->[0.0.0.0]:0

    Program received signal SIGSEGV, Segmentation fault.
    [Switching to Thread 1 (LWP 1)]
    0xfee2fb70 in getMibstat () from /opt/csw/lib/libnetsnmpmibs.so.30
    (gdb) bt
    #0 0xfee2fb70 in getMibstat () from /opt/csw/lib/libnetsnmpmibs.so.30
    #1 0xfee3495b in tcpTable_load () from /opt/csw/lib/libnetsnmpmibs.so.30
    #2 0xfef51346 in _cache_load () from /opt/csw/lib/libnetsnmpagent.so.30
    #3 0xfef50e08 in netsnmp_cache_check_and_reload () from /opt/csw/lib/libnetsnmpagent.so.30
    #4 0xfef511fb in netsnmp_cache_helper_handler () from /opt/csw/lib/libnetsnmpagent.so.30
    #5 0xfef6420d in netsnmp_call_handler () from /opt/csw/lib/libnetsnmpagent.so.30
    #6 0xfef645bd in netsnmp_call_handlers () from /opt/csw/lib/libnetsnmpagent.so.30
    #7 0xfef7284d in handle_var_requests () from /opt/csw/lib/libnetsnmpagent.so.30
    #8 0xfef7344e in handle_getnext_loop () from /opt/csw/lib/libnetsnmpagent.so.30
    #9 0xfef73e02 in handle_pdu () from /opt/csw/lib/libnetsnmpagent.so.30
    #10 0xfef7395b in netsnmp_handle_request () from /opt/csw/lib/libnetsnmpagent.so.30
    #11 0xfef71247 in handle_snmp_packet () from /opt/csw/lib/libnetsnmpagent.so.30
    #12 0xfed0f563 in _sess_process_packet () from /opt/csw/lib/libnetsnmp.so.30
    #13 0xfed102e3 in _sess_read () from /opt/csw/lib/libnetsnmp.so.30
    #14 0xfed108c1 in snmp_sess_read2 () from /opt/csw/lib/libnetsnmp.so.30
    #15 0xfed0f76a in snmp_read2 () from /opt/csw/lib/libnetsnmp.so.30
    #16 0x08054a6e in ?? ()
    #17 0x08053b58 in main ()

     
  • Niels Baggesen
    Niels Baggesen
    2013-01-24

    This might be fixed by the same patch as bug 2435.
    Could you try the patch there?

     
  • Niels Baggesen
    Niels Baggesen
    2013-01-24

    • assigned_to: Niels Baggesen