Greetings from OmniOS (an illumos distro), plus an odd error message
Dan McDonald
danmcd at omniti.com
Wed May 28 00:47:08 UTC 2014
Hello!
We'd like to ship the ISC DHCP server as an installable component of OmniOS. To that end, I've attempted compilation and a quick smoke test of it on the latest stable OmniOS release (r151010). The new, Oracle-contributed configuration options (--enable-use-sockets --enable-ipv4-pktinfo) seem to work on illumos (nee OpenSolaris until Oracle closed the barn door) just fine, save one odd error.
It passed my smoke test (with a simple configuration, it handed out an address to a client). When I hit ^C to stop it, however, I got this (date/time/hostname removed only for width reduction):
dhcpd: [ID 702911 daemon.error] Impossible condition at socket.c:409
dhcpd: [ID 702911 daemon.error]
dhcpd: [ID 702911 daemon.error] If you think you have received this message due to a bug rather
dhcpd: [ID 702911 daemon.error] than a configuration issue please read the section on submitting
dhcpd: [ID 702911 daemon.error] bugs on either our web page at www.isc.org or in the README file
dhcpd: [ID 702911 daemon.error] before submitting a bug. These pages explain the proper
dhcpd: [ID 702911 daemon.error] process and the information we find helpful for debugging..
dhcpd: [ID 702911 daemon.error]
dhcpd: [ID 702911 daemon.error] exiting.
The code there indicates some sort of reference counting failure:
. . .
#if defined(IP_PKTINFO) && defined(IP_RECVPKTINFO) && defined(USE_V4_PKTINFO)
/* Dereference the global v4 socket. */
if ((info->rfdesc == global_v4_socket) &&
(info->wfdesc == global_v4_socket) &&
(global_v4_socket_references > 0)) {
global_v4_socket_references--;
info->rfdesc = -1;
} else {
log_fatal("Impossible condition at %s:%d", MDL);
}
. . .
It's distinctly possible there's some post-OSol change in S11 that I need to account for somehow. It's also possible this is a real bug. The rfdesc I have is 6, which matches global_v4_socket. The wfdesc is -1. The comment for the data structure says "if different". I see a few places where wfdesc can be set to -1, but I'm not sure how.
Pardon my newbieness, but if anyone in the audience has an idea about this, please let me know.
Thanks,
Dan
More information about the dhcp-hackers
mailing list