Mukund referred me to this ticket while I was investigating RT #46290. Initially it seemed that both this issue and RT #46290 are caused by the same underlying problem, which is present in BIND 9.10.3-P4 (the version reported for RT #46290) and fixed (by this ticket) in later versions. However, I took a look at the committed fix for this ticket (commit 019132b70c3) and I believe it is broken: --- a/lib/dns/dispatch.c +++ b/lib/dns/dispatch.c @@ -3721,9 +3721,12 @@ dns_dispatch_importrecv(dns_dispatch_t *disp, isc_event_t *event) { >>> REQUIRE((disp->attributes & DNS_DISPATCHATTR_NOLISTEN) != 0); REQUIRE(event != NULL); - sevent = (isc_socketevent_t *)event; + if ((disp->attributes & DNS_DISPATCHATTR_NOLISTEN) == 0) + return; The marked REQUIRE check was supposed to be removed (cf. commit 577aecf4b7), but something seemingly went wrong. With the REQUIRE still in place, BIND will still crash when DNS_DISPATCHATTR_NOLISTEN is not set and the added conditional expression will never be evaluated. Please review the following patch: --- a/lib/dns/dispatch.c +++ b/lib/dns/dispatch.c @@ -3718,7 +3718,6 @@ dns_dispatch_importrecv(dns_dispatch_t *disp, isc_event_t *event) { isc_socketevent_t *sevent, *newsevent; REQUIRE(VALID_DISPATCH(disp)); - REQUIRE((disp->attributes & DNS_DISPATCHATTR_NOLISTEN) != 0); REQUIRE(event != NULL); if ((disp->attributes & DNS_DISPATCHATTR_NOLISTEN) == 0) (The above should go in without a CHANGES note as it is a fix to a fix.)