fix to REQUIRE failure in resolver.c
Chris Thompson
cet1 at hermes.cam.ac.uk
Tue Sep 9 14:45:44 UTC 2008
On Aug 5 2008, JINMEI Tatuya / 神明達哉 wrote:
>For those who've seen a crash of recent beta versions on entry of
>resolver.c:resquery_response() like this:
>
>17-Jul-2008 13:20:48.425 general: resolver.c:5494: REQUIRE((((query) !=
>((void *)0)) && (((const isc__magic_t *)(query))->magic == ((('Q') << 24
>| ('!') << 16 | ('!') << 8 | ('!')))))) failed
We've been running 9.4.3b2 on several nameservers since mid-July, and have
just seen one of these for the very first time .:-(
FYI, I am going to try the patch you suggest below.
>please try the patch copied below if possible. We believe this will
>perfectly solve this issue, but confirming it from users who've
>actually seen this would also be helpful. The fix will appear in the
>next beta.
>
>Thanks,
>
>---
>JINMEI, Tatuya
>
>Index: dispatch.c
>===================================================================
>RCS file: /proj/cvs/prod/bind9/lib/dns/dispatch.c,v
>retrieving revision 1.149
>diff -u -r1.149 dispatch.c
>--- dispatch.c 23 Jul 2008 23:27:54 -0000 1.149
>+++ dispatch.c 5 Aug 2008 03:15:03 -0000
>@@ -3085,7 +3085,7 @@
> */
> LOCK(&qid->lock);
> for (resp = linear_first(qid);
>- resp != NULL && !resp->item_out;
>+ resp != NULL && resp->item_out;
> /* Empty. */)
> resp = linear_next(qid, resp);
--
Chris Thompson
Email: cet1 at cam.ac.uk
More information about the bind-users
mailing list