Message info
 
To:Tomek Mrugalski From:Peter Pöschl Subject:Bug#659476: dibbler-client: segfaults in TClntCfgTA::getIAID Date:Sun, 19 Feb 2012 21:42:58 +0100
 

On Sa Februar 18 2012, Tomek Mrugalski wrote:
> On 12-02-11 13:07, Peter Poeschl wrote:
> > Package: dibbler-client
> > Version: 0.8.1-1
> > Severity: important
> > Tags: ipv6
>
> Thank you for reporting this bug. I have created bug #241 in Dibbler's
> bugzilla. I also had opportunity to look into the problem, reproduce it
> and possibly fix the bug. After the fix, it no longer crashes.
>
> Can you confirm that latest sources from git no longer exhibit this
> problem? See http://klub.com.pl/dhcpv6/ for pointers to git repo.

Sorry, but no. I am getting further along, but then there is another segfault:
With 'log-level 8':

# gdb ./dibbler-client
...
(gdb) run run
Starting program: /home/pp/tmp/src/dibbler-trunk/dibbler-client run
[Thread debugging using libthread_db enabled]
| Dibbler - a portable DHCPv6, version 0.8.1 (CLIENT, Linux port)
| Authors : Tomasz Mrugalski<thomson(at)klub.com.pl>,Marek
Senderski<msend(at)o2.pl>
| Licence : GNU GPL v2 only. Developed at Gdansk University of Technology.
| Homepage: http://klub.com.pl/dhcpv6/
2012.02.19 21:05:35 Client Warning Pid file found (pid=18891, file
/var/lib/dibbler/client.pid), but process 18891 does not exist.
2012.02.19 21:05:35 Client Notice My pid (18923) is stored in
/var/lib/dibbler/client.pid
2012.02.19 21:05:35 Client Notice Detected iface eth1/3,
MAC=00:11:09:d3:e1:c9.
2012.02.19 21:05:35 Client Notice Detected iface eth0/2,
MAC=00:11:09:d3:e1:c8.
2012.02.19 21:05:35 Client Notice Detected iface lo/1,
MAC=00:00:00:00:00:00.
2012.02.19 21:05:35 Client Notice Parsing /etc/dibbler/client.conf config
file...
2012.02.19 21:05:35 Client Debug Parsing /etc/dibbler/client.conf done,
result=0
2012.02.19 21:05:35 Client Debug 1 interface(s) specified in
/etc/dibbler/client.conf
2012.02.19 21:05:35 Client Info Interface eth0/2 configuation has been
loaded.
2012.02.19 21:05:35 Client Debug DUID's value =
00:01:00:01:15:5f:fa:06:###REDACTED### was loaded from client-duid file.
2012.02.19 21:05:35 Client Info My DUID is
00:01:00:01:15:5f:fa:06:###REDACTED###.
2012.02.19 21:05:35 Client Info Loading old address database (client-
AddrMgr.xml), using built-in routines.
2012.02.19 21:05:35 Client Info DB timestamp:1329681266,
now()=1329681935, db is 669 second(s) old.
2012.02.19 21:05:35 Client Debug Loaded IA from a file: t1=-1,
t2=-1,iaid=1, iface=2
2012.02.19 21:05:35 Client Debug Parsed IA, iaid=1,
unicast=b87e:a384:2b7f:0:b87e:a384:2b7f:0
2012.02.19 21:05:35 Client Debug Client
00:01:00:01:c7:92:bc:9a:##:##:##:##:##:## loaded from disk successfuly (1/0/0
ia/pd/ta).
2012.02.19 21:05:35 Client Debug Bind reuse enabled (multiple instances
allowed).
2012.02.19 21:05:35 Client Notice Creating control (::) socket on the lo/1
interface.
2012.02.19 21:05:35 Client Notice Creating socket
(addr=fe80::####:####:####:####) on eth0/2 interface.
2012.02.19 21:05:35 Client Debug Initialising link-state detection for
interfaces: eth0/2
[New Thread 0x7ffff709d700 (LWP 18926)]
2012.02.19 21:05:35 Client Notice CONFIRM support compiled in.
2012.02.19 21:05:35 Client Info Creating CONFIRM: 1 IA(s) on eth0/2
2012.02.19 21:05:35 Client Debug Authentication is disabled, not including
auth options in message.
2012.02.19 21:05:35 Client Debug Sending CONFIRM(opts:1 3 8 6 ) on eth0/2
to multicast.
2012.02.19 21:05:35 Client Info Creating SOLICIT message with 0 IA(s), 1
TA and 0 PD(s) (with rapid-commit) on eth0/2 interface.
2012.02.19 21:05:35 Client Debug Sending SOLICIT(opts:1 4 14 8 6 ) on
eth0/2 to multicast.
2012.02.19 21:05:35 Client Debug Sleeping for 1 second(s).
2012.02.19 21:05:35 Client Debug Received 114 bytes on interface eth0/2
(socket=11, addr=fe80::####:####:####:####.).
2012.02.19 21:05:35 Client Info Received REPLY on
eth0/2,TransID=0x8c6992, 5 opts: 1 13 2 23 24
2012.02.19 21:05:35 Client Debug Not executing external script (Notify
script disabled).
2012.02.19 21:05:35 Client Info Creating SOLICIT message with 1 IA(s), no
TA and 0 PD(s) (with rapid-commit) on eth0/2 interface.
2012.02.19 21:05:35 Client Debug Sending SOLICIT(opts:1 3 14 8 6 ) on
eth0/2 to multicast.
2012.02.19 21:05:35 Client Debug Sleeping for 1 second(s).
2012.02.19 21:05:35 Client Debug Received 109 bytes on interface eth0/2
(socket=11, addr=fe80::####:####:####:####.).
2012.02.19 21:05:35 Client Info Received REPLY on
eth0/2,TransID=0x8333aa, 6 opts: 2 14 1 4 23 24
2012.02.19 21:05:35 Client Warning Setting option 14 failed.
2012.02.19 21:05:35 Client Notice Address
2001:a60:####:####:aac4:b484:bb7f:8943/64 added to eth0/2 interface.
2012.02.19 21:05:35 Client Notice Temp. address
2001:a60:####:####:aac4:b484:bb7f:8943 has been added to eth0/2 interface.
2012.02.19 21:05:35 Client Notice Setting up DNS server
2001:a60:####:####:####:####:####:#### on interface eth0/2.
2012.02.19 21:05:35 Client Notice Setting up Domain muc on interface
eth0/2.
2012.02.19 21:05:35 Client Warning All IA(s), TA and PD(s) has been
configured, but some options (23 24 ) were not assigned.
2012.02.19 21:05:35 Client Notice Insist-mode disabled, giving up (not
sending INF-REQUEST).
2012.02.19 21:05:35 Client Debug Not executing external script (Notify
script disabled).
2012.02.19 21:05:35 Client Debug Sleeping for 1 second(s).
2012.02.19 21:05:35 Client Debug Received 110 bytes on interface eth0/2
(socket=11, addr=fe80::####:####:####:####.).
2012.02.19 21:05:35 Client Info Received ADVERTISE on
eth0/2,TransID=0x8333aa, 6 opts: 1 4 23 24 2 7
2012.02.19 21:05:35 Client Notice IA_NA option requested, but not present
in this message. Ignored.

Program received signal SIGSEGV, Segmentation fault.
0x0000000000412d9e in std::list<SPtr<TOpt>, std::allocator<SPtr<TOpt> >
>::begin (this=0x8)
at /usr/include/c++/4.6/bits/stl_list.h:731
731 { return iterator(this->_M_impl._M_node._M_next); }
(gdb) bt full
#0 0x0000000000412d9e in std::list<SPtr<TOpt>, std::allocator<SPtr<TOpt> >
>::begin (this=0x8)
at /usr/include/c++/4.6/bits/stl_list.h:731
No locals.
#1 0x00000000004a6d5b in TContainer<SPtr<TOpt> >::first (this=0x8) at
../Misc/Container.h:74
No locals.
#2 0x00000000004ae50c in TOpt::firstOption (this=0x0) at Opt.cpp:57
No locals.
#3 0x00000000004ae55c in TOpt::getOption (this=0x0, optType=13) at Opt.cpp:65
opt = {ptr = 0x70d3a8}
#4 0x00000000004385d2 in TClntMsgSolicit::shallRejectAnswer (this=0x70efd0,
msg=...) at ClntMsgSolicit.cpp:218
ia = {ptr = 0x710350}
st = {ptr = 0x7fffffffe180}
srvDUID = {ptr = 0x70f7c0}
iaOk = false
pdOk = false
somethingAssigned = false
iface = {ptr = 0x70cd10}
taOk = false
#5 0x0000000000437d4c in TClntMsgSolicit::answer (this=0x70efd0, msg=...) at
ClntMsgSolicit.cpp:113
No locals.
#6 0x000000000040dcd8 in TClntTransMgr::handleResponse (this=0x70da90,
question=..., answer=...)
at ClntTransMgr.cpp:562
q = {ptr = 0x7fffffffe260}
a = {ptr = 0x7fffffffe220}
#7 0x000000000040d9bb in TClntTransMgr::relayMsg (this=0x70da90,
msgAnswer=...) at ClntTransMgr.cpp:531
ifaceQuestion = {ptr = 0x70f7a0}
ifaceAnswer = {ptr = 0x70ff40}
found = true
msgQuestion = {ptr = 0x70ef90}
#8 0x00000000004071fb in TDHCPClient::run (this=0x7fffffffe410) at
./Misc/DHCPClient.cpp:173
iface = 2
ptrIface = {ptr = 0x70e330}
ptrOpt = {ptr = 0x70ef50}
timeout = 1
msg = {ptr = 0x70f6e0}
msg = {ptr = 0x70ece0}
#9 0x0000000000406453 in run () at ./Port-linux/dibbler-client.cpp:108
client = {IsDone = false, linkstates = {ifindex = {2, 0 <repeats 15
times>}, stat = {0 <repeats 16 times>},
cnt = 1}}
#10 0x00000000004066f0 in main (argc=2, argv=0x7fffffffe6d8) at ./Port-
linux/dibbler-client.cpp:153
command =
"run\000\000\000\000\000\310\364A\367\377\177\000\000\240\004\002\000\000\000\000\000`\233p\000\000\000\000\000\020\004\000\000\000\000\000\000`\016B\367\377\177\000\000`\016B\367\377\177\000\000*\201\021\367\377\177\000\000\200\205p\000\000\000\000\000\310\364A\367\377\177\000\000t\207p\000\000\000\000\000\250\p\000\000\000\000\000\002\000\000\000\000\000\000\000\330\346\377\377\377\177\000\000\360\346\377\377\377\177\000\000X\000\000\000\000\000\000\000\240U@\000\000\000\000\000\064P\r\367\377\177\000\000X\000\000\000\000\000\000\000\240\345\377\377\377\177\000\000\000Pp\000\000\000\000\000RNK\000\000\000\000\000\000Pp\000\000\000\000\000\377\377\000\000\001\000\000\000\260\345\377\377\377\177\000\000gNK\000\000\000\000\000Y\000\000\000\000\000\000\000]OK\000\000\000\000\000H\334\n\367\377\177\000\000\000OK",
'\000' <repeats 13 times>, "p`@\000\000\000\000"
result = -1
len = 4


This is the corrseponding level 7 log of the dibbler-server on the router:

Feb 19 21:05:35 OpenWrt daemon.notice DibblerServer[1711]: Received CONFIRM on
br-lan/5,TransID=0x8c6992, 4 opts: 1 3 8 6, 0 relay(s).
Feb 19 21:05:35 OpenWrt daemon.notice DibblerServer[1711]: Sending REPLY on
br-lan/5,transID=0x8c6992, opts: 1 13 2 23 24, 0 relay(s).
Feb 19 21:05:35 OpenWrt daemon.notice DibblerServer[1711]: Accepting
connections. Next event in 60 second(s).
Feb 19 21:05:35 OpenWrt daemon.notice DibblerServer[1711]: Received SOLICIT on
br-lan/5,TransID=0x8333aa, 5 opts: 1 4 14 8 6, 0 relay(s).
Feb 19 21:05:35 OpenWrt daemon.info DibblerServer[1711]: Client has 1 addrs,
2147483647 is available, limit for client is 4294967295, 1 will be assigned.
Feb 19 21:05:35 OpenWrt daemon.info DibblerServer[1711]: SOLICIT with RAPID-
COMMIT received.
Feb 19 21:05:35 OpenWrt daemon.notice DibblerServer[1711]: Sending REPLY on
br-lan/5,transID=0x8333aa, opts: 2 14 1 4 23 24, 0 relay(s).
Feb 19 21:05:35 OpenWrt daemon.info DibblerServer[1711]: Client has 1 addrs,
2147483647 is available, limit for client is 4294967295, 1 will be assigned.
Feb 19 21:05:35 OpenWrt daemon.notice DibblerServer[1711]: Generating
ADVERTISE message, RAPID COMMIT option ignored.
Feb 19 21:05:35 OpenWrt daemon.warn DibblerServer[1711]: Address
2001:a60:####:####:aa10:310f:470e:c5a2 not assigned, cannot delete.
Feb 19 21:05:35 OpenWrt daemon.warn DibblerServer[1711]: Unable to decrease
address usage: no class found for 2001:a60:####:####:aa10:310f:470e:c5a2
Feb 19 21:05:35 OpenWrt daemon.notice DibblerServer[1711]: Sending ADVERTISE
on br-lan/5,transID=0x8333aa, opts: 1 4 23 24 2 7, 0 relay(s).
Feb 19 21:05:35 OpenWrt daemon.notice DibblerServer[1711]: Accepting
connections. Next event in 60 second(s).
Feb 19 21:05:35 OpenWrt daemon.notice DibblerServer[1711]: Received SOLICIT on
br-lan/5,TransID=0x8333aa, 5 opts: 1 3 14 8 6, 0 relay(s).
Feb 19 21:05:35 OpenWrt daemon.info DibblerServer[1711]: Previous binding for
client 00:01:00:01:15:5f:##:##:##:##:##:##:##:##, IA(iaid=1) found and
renewed.
Feb 19 21:05:35 OpenWrt daemon.info DibblerServer[1711]: SOLICIT with RAPID-
COMMIT received.
Feb 19 21:05:35 OpenWrt daemon.notice DibblerServer[1711]: Sending REPLY on
br-lan/5,transID=0x8333aa, opts: 2 14 1 3 23 24, 0 relay(s).
Feb 19 21:05:35 OpenWrt daemon.notice DibblerServer[1711]: Accepting
connections. Next event in 60 second(s).
Feb 19 21:06:35 OpenWrt daemon.notice DibblerServer[1711]: Accepting
connections. Next event in 172740 second(s).


Best regards,

Peter Pschl




--
To UNSUBSCRIBE, email to debian-bugs-dist-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org