Hello. First of all, thanks for reading.

I have a problem with net-snmp-5.5 which does not occur in
net-snmp-5.4.2.1. I think the same
problem was reported in bug "Two interfaces with the same address core
dump - ID: 2003383"
(https://sourceforge.net/tracker/index.php?func=detail&aid=2003383&group_id=12694&atid=112694).

I am not sure if I have to report it as a bug.
Thanks a lot.


Description of the problem
--------------------------

We have a system with two network cards, each one with its own ip
address. We created one virtual interface
for each network card. Both virtual interface has the same ip address
-we use 'ucarp'
(http://www.ucarp.org/project/ucarp) to alternatively activate only
one of them or one of other ifaces with the same
ip address in other equipments. When I try to start snmpd, is aborts
(SIGSEGV) and dumps a core file.



Detailed description
--------------------

Well, all this is in a production system. I made a test in my solaris
box, with only one network card with the
same results.

I have a normal configuration

    bash-3.00# ifconfig -a
    lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL>
mtu 8232 index 1
            inet 127.0.0.1 netmask ff000000
    xnf0: flags=201004843<UP,BROADCAST,RUNNING,MULTICAST,DHCP,IPv4,CoS>
mtu 1500 index 2
            inet 172.16.97.224 netmask fffff800 broadcast 172.16.103.255
            ether 0:16:3e:51:d2:bb
    lo0: flags=2002000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6,VIRTUAL>
mtu 8252 index 1
            inet6 ::1/128
    xnf0: flags=202000840<RUNNING,MULTICAST,IPv6,CoS> mtu 1500 index 2
            inet6 fe80::216:3eff:fe51:d2bb/10
            ether 0:16:3e:51:d2:bb

Then I create two virtual interfaces with the same ip address

    bash-3.00# ifconfig xnf0 addif 172.16.100.88 down
    Created new logical interface xnf0:1

    bash-3.00# ifconfig xnf0 addif 172.16.100.88 down
    Created new logical interface xnf0:2

    bash-3.00# ifconfig -a
    lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL>
mtu 8232 index 1
            inet 127.0.0.1 netmask ff000000
    xnf0: flags=201004843<UP,BROADCAST,RUNNING,MULTICAST,DHCP,IPv4,CoS>
mtu 1500 index 2
            inet 172.16.97.224 netmask fffff800 broadcast 172.16.103.255
            ether 0:16:3e:51:d2:bb
    xnf0:1: flags=201000842<BROADCAST,RUNNING,MULTICAST,IPv4,CoS> mtu
1500 index 2
            inet 172.16.100.88 netmask ffff0000 broadcast 172.16.255.255
    xnf0:2: flags=201000842<BROADCAST,RUNNING,MULTICAST,IPv4,CoS> mtu
1500 index 2
            inet 172.16.100.88 netmask ffff0000 broadcast 172.16.255.255
    lo0: flags=2002000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv6,VIRTUAL>
mtu 8252 index 1
            inet6 ::1/128
    xnf0: flags=202000840<RUNNING,MULTICAST,IPv6,CoS> mtu 1500 index 2
            inet6 fe80::216:3eff:fe51:d2bb/10
            ether 0:16:3e:51:d2:bb

Start snmpd: it crash.

    bash-3.00# /usr/local/net-snmp-5.5/sbin/snmpd -f -c
/usr/local/net-snmp-5.5/share/snmp/snmpd.conf -C
    Segmentation Fault (core dumped)

    bash-3.00# /usr/local/net-snmp-5.5/sbin/snmpd -f -c
/usr/local/net-snmp-5.5/share/snmp/snmpd.conf -C -L -V -a -d
    error on subcontainer 'ia_addr' insert (-1)
    Segmentation Fault (core dumped)

Even if I tell snmpd to use another iface.

    bash-3.00# /usr/local/net-snmp-5.5/sbin/snmpd -f -c
/usr/local/net-snmp-5.5/share/snmp/snmpd.conf -C -L -V -a -d tcp:loca
    lhost:10233
    error on subcontainer 'ia_addr' insert (-1)
    Segmentation Fault (core dumped)

    /usr/local/net-snmp-5.5/sbin/snmpd -f -c
/usr/local/net-snmp-5.5/share/snmp/snmpd.conf -C -L -V -a -d -DALL
    ... lot of lines stripped ...
    trace: netsnmp_binary_array_insert(): container_binary_array.c, 348:
    container: not inserting duplicate key
    error on subcontainer 'ia_addr' insert (-1)
    compare:index: compare .1 to .2
    compare:index: result was -1
    compare:index: compare .2 to .2
    compare:index: result was 0
    compare:index: compare .2 to .4
    compare:index: result was -1
    compare:index: compare .2 to .3
    compare:index: result was -1
    compare:index: compare .2 to .2
    compare:index: result was 0
    compare:index: compare .3 to .3
    compare:index: result was 0
    compare:index: compare .3 to .4
    compare:index: result was -1
    compare:index: compare .3 to .3
    compare:index: result was 0
    compare:index: compare .3 to .4
    compare:index: result was -1
    compare:index: compare .4 to .4
    compare:index: result was 0
    trace: _load_v4(): ip-mib/data_access/ipaddress_solaris2.c, 194:
    access:ipaddress:container: unable to insert xnf0:2
    trace: netsnmp_access_ipaddress_container_free():
ip-mib/data_access/ipaddress_common.c, 125:
    access:ipaddress:container: free
    trace: netsnmp_access_ipaddress_container_free():
ip-mib/data_access/ipaddress_common.c, 125:
    access:ipaddress:container: free
    Segmentation Fault (core dumped)

The problem disapears if I remove one of the two duplicated addresses

    bash-3.00# ifconfig xnf0 removeif 172.16.100.88
    bash-3.00# /usr/local/net-snmp-5.5/sbin/snmpd -f -c
/usr/local/net-snmp-5.5/share/snmp/snmpd.conf -C -L -V -a -d



Some (may be) important data:

    bash-3.00# uname -a
    SunOS bcpp-solaris10 5.10 Generic_139556-08 i86pc i386 i86pc

    bash-3.00# /usr/local/net-snmp-5.5/bin/net-snmp-config --configure-options
     '--prefix=/usr/local/net-snmp-5.5'

    bash-3.00# /usr/local/net-snmp-5.5/bin/net-snmp-config --version
    5.5

    ################ content of
/usr/local/net-snmp-5.5/share/snmp/snmpd.conf ##################
    rocommunity public
    rwcommunity private
    syslocation Corrientes
    syscontact HelpDesc
    sysservices 72
    master agentx
    AgentXSocket unix:/tmp/agentx_ats
    agentxPerms 777
    trapsink localhost
    ############ end of content of
/usr/local/net-snmp-5.5/share/snmp/snmpd.conf ###############

    ################## gdb snmpd core ##############################
    .... lines stripped ...
    Core was generated by `/usr/local/net-snmp-5.5/sbin/snmpd -f -c
/usr/local/net-snmp-5.5/share/snmp/snm'.

    Program terminated with signal 11, Segmentation fault.
    #0  ipAddressTable_container_load (container=0x810cc30) at
ip-mib/ipAddressTable/ipAddressTable_data_access.c:347
    347     ip-mib/ipAddressTable/ipAddressTable_data_access.c: No
such file or directory.
            in ip-mib/ipAddressTable/ipAddressTable_data_access.c
    (gdb) bt
    #0  ipAddressTable_container_load (container=0x810cc30) at
ip-mib/ipAddressTable/ipAddressTable_data_access.c:347
    #1  0xfee89bed in ipAddressTable_container_init
(container_ptr_ptr=0xfeed77a0, cache=0x810cbe8)
        at ip-mib/ipAddressTable/ipAddressTable_data_access.c:137
    #2  0xfee88ec6 in _ipAddressTable_initialize_interface
(reg_ptr=0x0, flags=0)
        at ip-mib/ipAddressTable/ipAddressTable_interface.c:1995
    #3  0xfee771de in initialize_table_ipAddressTable () at
ip-mib/ipAddressTable/ipAddressTable.c:104
    #4  0xfee77321 in init_ipAddressTable () at
ip-mib/ipAddressTable/ipAddressTable.c:56
    #5  0xfee9a951 in init_mib_modules () at
../agent/mibgroup/mib_module_inits.h:80
    #6  0x0805307d in main (argc=10, argv=0x8047da0) at snmpd.c:913
    ################## end of gdb ##############################

Thanks in advance.


-- 
  Juan Carlos Franzoy
Licenciado en Sistemas

------------------------------------------------------------------------------
The Palm PDK Hot Apps Program offers developers who use the
Plug-In Development Kit to bring their C/C++ apps to Palm for a share
of $1 Million in cash or HP Products. Visit us here for more details:
http://p.sf.net/sfu/dev2dev-palm
_______________________________________________
Net-snmp-users mailing list
[email protected]
Please see the following page to unsubscribe or change other options:
https://lists.sourceforge.net/lists/listinfo/net-snmp-users

Reply via email to