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

Mircea Ciocan mirceac at gmail.com
Fri Jul 22 18:17:38 CEST 2016


Many thanks Tomasz for your quick answer,I will look into the code that
you've indicated and I'm creating a small test network to try to get a core
dump that can be analysed.
I can't play too much on the main network, most likely I'll get a nice core
on next week and being an optimistic guy I hope to even find the issue in
the code directly.
Otherwise I have seen the same behaviour when the client is flooded with a
lot of traffic, but now that I have the test network I will be able to do
some full scale experiments and maybe some patches will result.

Best regards and have a nice week-end, M.C.

On Fri, Jul 22, 2016 at 4:29 PM, Tomek Mrugalski <thomson at klub.com.pl>
wrote:

> On 22/07/16 11:45, Mircea Ciocan wrote:
> > Hello all, I have deployed the dibbler client in a moderately large
> > network using ISC DHCP server version 4.1.1 and for some weeks all
> > worked OK, but now I have the following problem:
> >
> > In some specific situations the dibbler-client dies without a trace, and
> > the only messages I have in the DHCP server log:
> >
> > Jul 21 09:59:24 dhcpd: Client XXXX releases address YYYY
> > Jul 21 10:00:20 dhcpd: Client XXXX reports address YYYY is already in
> > use by another host!
> > Jul 21 10:32:39 dhcpd: Client XXXX reports address YYYY is already in
> > use by another host!
> >
> > Afterwards, the dibbler-client suddenly dies, and the device is left
> > without any valid IPv6 address, thus is becoming unreachable :(.
> What do you mean by "dies"? Segfaults or terminates silently?
>
> This should be relatively easy to reproduce: configure your server with
> a very small pool of one address and then configure manually this
> address on the server's interface. The client will get this address and
> should trigger the DAD routine.
>
> > As far as my research was able to discover could be a situation similar
> > to this one:
> >
> > http://comments.gmane.org/gmane.network.dhcp.isc.dhcp-client/8957
> >
> > While having duplicate DUIDs in a network is a bad thing, but sometimes
> > this is happening and the client service should not crash but reject the
> > address, this seem to be a bug.
> True. Out of curiosity, what was the reason for duplicate DUIDs to
> appear? Cloned VM, cheap NICs that happen to have the same address or
> something else?
>
> > Tomasz or anybody that knows the code base organisation, could you
> > kindly point me to the C++ module that deals with this condition to try
> > to see what is happening and what leads to the crash ?
> The actual determination if address is duplicated is check in
> is_addr_tentative function in Port-linux/lowlevel-linux.c. You can grep
> *.cpp sources to find where this function is called from. The areas you
> should look at will are:
>
> AddrMgr/AddrIA.cpp:447
> ClntAddrMgr/ClntAddrMgr.cpp:371
> ClntCfgMgr/ClntCfgMgr.cpp:230 and 842
>
> If dibbler-client segfaults, you can set ulimit -c 9999999999 and then
> dibbler will dump the core, which can be inspected with gdb. If that is
> the case, please send me the backtrace of it (bt command in gdb).
>
> If dibbler quits silently, there may be another cause. Dibbler uses
> imported code from iproute tools that I don't fully understand. There's
> a lot of exit() calls in it. One possibility is that those pieces of the
> code are somehow triggered.
>
> Good luck,
> 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/20160722/c028c598/attachment.html>


More information about the Dibbler-devel mailing list