[Dibbler-devel] Dibbler client crashes if address is duplicate

Mircea Ciocan mirceac at gmail.com
Mon Jul 25 18:03:02 CEST 2016


Hello Tomasz, I have tried the latest git version of the dibbler-client,
unfortunately it doesn’t work at all any more, not even in the "normal"
configuration without duplicate DUIDs :/

The log message I've got:

016.07.25 17:55:52 Client Error     Invalid length -1 set attempt was
ignored on the eth3/29 interface.
2016.07.25 17:55:52 Client Info      Interface eth3/29 configuration has
been loaded.
2016.07.25 17:55:52 Client Notice    Unable to open DUID file
(client-duid), generating new DUID.
2016.07.25 17:55:52 Client Notice    DUID creation: Generating 14-bytes
long link-local+time (duid-llt) DUID.
2016.07.25 17:55:52 Client Notice    DUID creation: generated using eth3/29
interface.
2016.07.25 17:55:52 Client Info      My DUID is
00:01:00:01:1f:28:f3:08:a4:f7:d0:00:0d:5d.
2016.07.25 17:55:52 Client Info      Loading old address database
(client-AddrMgr.xml), using built-in routines.
2016.07.25 17:55:52 Client Warning   Unable to open client-AddrMgr.xml.
2016.07.25 17:55:52 Client Debug     Bind reuse enabled (multiple instances
allowed).
2016.07.25 17:55:52 Client Notice    Creating control (::) socket on the
lo/1 interface.
2016.07.25 17:55:52 Client Notice    Creating socket
(addr=fe80::a6f7:d0ff:fe00:d5d) on eth3/29 interface.
2016.07.25 17:55:52 Client Debug     Initialising link-state detection for
interfaces: eth3/29
2016.07.25 17:55:52 Client Notice    CONFIRM support compiled in.
2016.07.25 17:55:52 Client Info      Creating SOLICIT message with 1 IA(s),
no TA and 0 PD(s) on eth3/29 interface.
2016.07.25 17:55:52 Client Debug     Sending SOLICIT(opts:1 3 39 8 1 ) on
eth3/29 to multicast.
2016.07.25 17:55:52 Client Debug     Sleeping for 1 second(s).
2016.07.25 17:55:52 Client Debug     Received 84 bytes on interface eth3/29
(socket=6, addr=fe80::3e97:eff:fe86:9a7d).
2016.07.25 17:55:52 Client Warning   Unknown option in option IA_NA(
optType=0). Option ignored.
2016.07.25 17:55:52 Client Warning   Unknown option in option IA_NA(
optType=0). Option ignored.
2016.07.25 17:55:52 Client Warning   Unknown option in option IA_NA(
optType=0). Option ignored.
2016.07.25 17:55:52 Client Warning   Unknown option in option IA_NA(
optType=1280). Option ignored.
2016.07.25 17:55:52 Client Info      Received ADVERTISE on
eth3/29,trans-id=0x55b078, 3 opts: 3 1 2
2016.07.25 17:55:52 Client Notice    IA_NA option returned, but without any
addresses. Ignored.
2016.07.25 17:55:52 Client Info      Server message was rejected.
2016.07.25 17:55:52 Client Debug     Not executing external script (Notify
script disabled).
2016.07.25 17:55:52 Client Debug     Sleeping for 1 second(s).
2016.07.25 17:55:53 Client Info      Processing msg
(SOLICIT,transID=0x55b078,opts: 1 3 39 8 1)
2016.07.25 17:55:53 Client Debug     Sending SOLICIT(opts:1 3 39 8 1 ) on
eth3/29 to multicast.
2016.07.25 17:55:53 Client Debug     Sleeping for 2 second(s).
2016.07.25 17:55:53 Client Debug     Received 84 bytes on interface eth3/29
(socket=6, addr=fe80::3e97:eff:fe86:9a7d).
2016.07.25 17:55:53 Client Warning   Unknown option in option IA_NA(
optType=0). Option ignored.
2016.07.25 17:55:53 Client Warning   Unknown option in option IA_NA(
optType=0). Option ignored.
2016.07.25 17:55:53 Client Warning   Unknown option in option IA_NA(
optType=0). Option ignored.
2016.07.25 17:55:53 Client Warning   Unknown option in option IA_NA(
optType=1280). Option ignored.
2016.07.25 17:55:53 Client Info      Received ADVERTISE on
eth3/29,trans-id=0x55b078, 3 opts: 3 1 2
2016.07.25 17:55:53 Client Notice    IA_NA option returned, but without any
addresses. Ignored.
2016.07.25 17:55:53 Client Info      Server message was rejected.
2016.07.25 17:55:53 Client Debug     Not executing external script (Notify
script disabled).
2016.07.25 17:55:53 Client Debug     Sleeping for 2 second(s).
2016.07.25 17:55:55 Client Info      Processing msg
(SOLICIT,transID=0x55b078,opts: 1 3 39 8 1)
2016.07.25 17:55:55 Client Debug     Sending SOLICIT(opts:1 3 39 8 1 ) on
eth3/29 to multicast.
2016.07.25 17:55:55 Client Debug     Sleeping for 4 second(s).
2016.07.25 17:55:55 Client Debug     Received 84 bytes on interface eth3/29
(socket=6, addr=fe80::3e97:eff:fe86:9a7d).
2016.07.25 17:55:55 Client Warning   Unknown option in option IA_NA(
optType=0). Option ignored.
2016.07.25 17:55:55 Client Warning   Unknown option in option IA_NA(
optType=0). Option ignored.
2016.07.25 17:55:55 Client Warning   Unknown option in option IA_NA(
optType=0). Option ignored.
2016.07.25 17:55:55 Client Warning   Unknown option in option IA_NA(
optType=1280). Option ignored.
2016.07.25 17:55:55 Client Info      Received ADVERTISE on
eth3/29,trans-id=0x55b078, 3 opts: 3 1 2
2016.07.25 17:55:55 Client Notice    IA_NA option returned, but without any
addresses. Ignored.
2016.07.25 17:55:55 Client Info      Server message was rejected.

So unfortunately this version is fully useless.

Is there a way to detect an invalid pointer/object on the TMsg::getSize() ?

If I'm breaking the for loop when I detect such an object coul the progrm
survive or the issue is on the upper layers and this is a naive approach ?


 Best Regards, M.C.

.....

On Mon, Jul 25, 2016 at 3:50 PM, Tomasz Mrugalski <thomson at klub.com.pl>
wrote:

> Hi,
> Which version are you running? 1.0.0, 1.0.1 or git? Your line numbers
> differ from the latest git.
>
> Can you try the latest git version? There was a significant patch merged
> couple weeks ago that changes how the pointers are cast. In principle it
> should not change anything, but the casts should be much safer after it.
>
> Also, can you apply this patch:
>
> https://gist.github.com/tomaszmrugalski/5d7afaa5efc042af2861b61b2bc5e574
>
> It does print the the option that's being queries for size.
>
> Finally, if this doesn't help with the debugging, can you upload the
> core file and the dibbler-client binary? It's essential to get both of
> them, otherwise I will not be able to load the core and inspect it.
>
> On a related note, the logic in TClntTransMgr::checkDecline() is broken.
> It tries to group declined addresses together and then send DECLINEs for
> them. I suspect there's a bug somewhere in the group together code. I
> wish I had some time to spare to rewrite this function.
>
> Tomek
>
> _______________________________________________
> Dibbler-devel mailing list
> Dibbler-devel at klub.com.pl
> http://klub.com.pl/cgi-bin/mailman/listinfo/dibbler-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://klub.com.pl/pipermail/dibbler-devel/attachments/20160725/360fe539/attachment-0001.html>


More information about the Dibbler-devel mailing list