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