<div dir="ltr"><div>Hello.</div><div><br></div><div>Yes, it seems like a bug (please fill it on ISC bug report <a href="http://www.isc.org/community/report-bug">http://www.isc.org/community/report-bug</a>).</div><div><br></div>
<div>Please try to remove wfdesc line from the code block you've posted (it is safe since if_*register_receive() routines have nothing with wfdesc descriptor) like that.</div><div><br></div><div>File common/socket.c</div>
<div>--old--</div><div>#if defined(IP_PKTINFO) && defined(IP_RECVPKTINFO) && defined(USE_V4_PKTINFO)<br>         /* Dereference the global v4 socket. */<br>         if ((info->rfdesc == global_v4_socket) &&<br>
             (info->wfdesc == global_v4_socket) &&<br>             (global_v4_socket_references > 0)) {<br>                 global_v4_socket_references--;<br>                 info->rfdesc = -1;<br>         } else {<br>
                 log_fatal("Impossible condition at %s:%d", MDL);<br>         }</div><div>--new--</div><div><div>#if defined(IP_PKTINFO) && defined(IP_RECVPKTINFO) && defined(USE_V4_PKTINFO)<br>        /* Dereference the global v4 socket. */<br>
        if ((info->rfdesc == global_v4_socket) &&<br>            (global_v4_socket_references > 0)) {<br>                global_v4_socket_references--;<br>                info->rfdesc = -1;<br>        } else {<br>
                log_fatal("Impossible condition at %s:%d", MDL);<br>        }</div><div><br></div><div>That original patch for OI is </div><div><a href="https://hg.openindiana.org/oi-build/diff/064bc3aa72d4/components/isc-dhcp/patches/sockets.patch">https://hg.openindiana.org/oi-build/diff/064bc3aa72d4/components/isc-dhcp/patches/sockets.patch</a></div>
<div>As I remember it was posted by ORACLE and integrated into ISC DHCP code.</div><div><br></div><div>Regards,</div><div>Serghei Samsi</div><div><br></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">
2014-05-28 4:14 GMT+03:00 Dan McDonald <span dir="ltr"><<a href="mailto:danmcd@omniti.com" target="_blank">danmcd@omniti.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><br>
On May 27, 2014, at 8:47 PM, Dan McDonald <<a href="mailto:danmcd@omniti.com">danmcd@omniti.com</a>> wrote:<br>
<br>
><br>
> 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.<br>

<br>
</div>Actually, now I'm more sure.  if_deregister_send() is called before if_deregister_receive().  The former sets wfdesc to -1 after closing it, which then causes the if check I mentioned earlier to fail.  This seems like a bug.<br>

<div class="HOEnZb"><div class="h5"><br>
Dan<br>
<br>
_______________________________________________<br>
dhcp-hackers mailing list<br>
<a href="mailto:dhcp-hackers@lists.isc.org">dhcp-hackers@lists.isc.org</a><br>
<a href="https://lists.isc.org/mailman/listinfo/dhcp-hackers" target="_blank">https://lists.isc.org/mailman/listinfo/dhcp-hackers</a><br>
</div></div></blockquote></div><br></div>