snmpd core dump when there are two interfaces with the same address
Juan Carlos Franzoy <[email protected]>
| Newsgroups | gmane.network.net-snmp.user |
|---|---|
| Message-ID | <[email protected]> |
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