[issue1730] pkgsrc BIND asserts under load, kqueue-related?
Samuel J. Greear (via DragonFly issue tracker)
sinknull at leaf.dragonflybsd.org
Thu Apr 15 09:20:08 PDT 2010
Samuel J. Greear <sjg at evilcode.net> added the comment:
BIND is queuing socket operations (read/write), marking them as queued, but then
not filtering ready events (from kqueue/poll/select) that would result in a
second queued operation and then asserting when they catch it just prior to
queueing (in dispatch_recv() in this case, but it is also possible for it to
happen in dispatch_send()). Raising the number of FD events,
ISC_SOCKET_MAXEVENTS may work around this in our kevent case.
A possible fix might be to change the INSIST()'s in dispatch_send/recv() to if
(sock->pending_recv) return;, but I have not tested this.
There is an underlying bug here and we should re-file this upstream.
_____________________________________________________
DragonFly issue tracker <bugs at lists.dragonflybsd.org>
<http://bugs.dragonflybsd.org/issue1730>
_____________________________________________________
More information about the Bugs
mailing list