[Dibbler] Server crash with out-of-pool reconfigure msgs

Tomek Mrugalski thomson at klub.com.pl
Thu Feb 6 05:04:58 CET 2014


On 03.02.2014, 15:42, Mickael Marchand wrote:
> Hi,
> 
> when testing out latest git version, I occured a bug with out-of-pool
> prefixes (I only use that actually to statically assign prefixes to my clients)
> 
> I believe the bug is somewhere in :
> TSrvTransMgr::checkReconfigures()
Looking at that method, I found the following comment:

/// @todo clean up this shit

Hmmmm.

> Log(Info) << "Client " << cli->getDUID()->getPlain()
> 	<< " uses outdated info. Sending RECONFIGURE." << LogEnd;
> sendReconfigure(unicast, iface, RENEW_MSG, ptrDUID);
> 
> unicast seems to be 0x0 there (thus crashing in deeper calls)
> I believe I will have the same bug with the second call to sendReconfigure in
> that same function
> 
> it only happens when starting dibbler-server for the second time (first time
> cache is empty), so I guess when it's loading its database and trying to send
> out reconfigure messages to known clients
It looks like that some information is lost when the server stores
address database and then reads it back during the next start.

To debug it further, you can run your server, stop it, copy
server-AddrMgr.xml to the side, restart it and see whether
server-AddrMgr.xml has any differences.

In fact, looking at the matter a bit further, the reconfigure support is
a contributed code. I'm grateful for such contributions, but that
particular patch never went through thorough enough sanity check.

I decided to disable reconfigure support on the server side by default.
To enable it, add the following line to your server.conf:

reconfigure-enabled 1

I hope to look at the underlying code one day, but unfortunately my
current involvement in IETF and Kea project make that less and less
likely to happen anytime soon.

Cheers,
Tomek



More information about the Dibbler mailing list