fix to REQUIRE failure in resolver.c
Sotiris Tsimbonis
tsimbonis at forthnet.gr
Wed Aug 6 07:20:03 UTC 2008
On 08/05/2008 10:31 PM, 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
>
> 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.
>
I have now applied this patch to 9.4.3b2 and deployed the new binary
(Solaris 9 and 10). I have also increased ISC_SOCKET_MAXEVENTS to 256.
I'll let you know if named crashes again.
Cheers,
Sotiris.
> 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);
>
>
More information about the bind-users
mailing list