BIND 9.6.1-P1 crashing
Dario Miculinic
dario.miculinic at t-com.hr
Mon Jan 11 22:12:34 UTC 2010
I applied the patch.
As usually there was nothing in error logs.
"thread apply all bt full" result is in the attach.
./configure --disable-atomic [...other options] is not the options for us, because as u said it can increase load.
Best regards
JINMEI Tatuya / 神明達哉 wrote:
> At Tue, 05 Jan 2010 08:24:16 +0100,
> Dario Miculinic <dario.miculinic at t-com.hr> wrote:
>
>> I dont't have the same core dump, but this is from one that happend yesterday:
>
> Thanks, but unfortunately the detailed stack traces don't seem to
> provide a useful hint for the race.
>
> If you can help debug this further, could you apply the patch copied
> below, rebuild named and run it? It *may* catch the race condition at
> a closer point to the real cause. (note: this patch only does
> diagnose, so it will not fix the problem).
>
> Or, if you need any workaround that *may* work, you may want to
> rebuild named with disabling atomic operations.
> ./configure --disable-atomic [...other options]
> I'm not sure if this stops the problem, but I believe it's worth
> trying.
>
> ---
> JINMEI, Tatuya
> Internet Systems Consortium, Inc.
>
> Index: heap.c
> ===================================================================
> RCS file: /proj/cvs/prod/bind9/lib/isc/heap.c,v
> retrieving revision 1.37
> diff -u -r1.37 heap.c
> --- heap.c 19 Oct 2007 17:15:53 -0000 1.37
> +++ heap.c 8 Jan 2010 08:01:19 -0000
> @@ -149,10 +149,12 @@
> i > 1 && heap->compare(elt, heap->array[p]) ;
> i = p, p = heap_parent(i)) {
> heap->array[i] = heap->array[p];
> + INSIST(heap->array[i] != NULL);
> if (heap->index != NULL)
> (heap->index)(heap->array[i], i);
> }
> heap->array[i] = elt;
> + INSIST(heap->array[i] != NULL);
> if (heap->index != NULL)
> (heap->index)(heap->array[i], i);
>
> @@ -173,11 +175,13 @@
> if (heap->compare(elt, heap->array[j]))
> break;
> heap->array[i] = heap->array[j];
> + INSIST(heap->array[i] != NULL);
> if (heap->index != NULL)
> (heap->index)(heap->array[i], i);
> i = j;
> }
> heap->array[i] = elt;
> + INSIST(heap->array[i] != NULL);
> if (heap->index != NULL)
> (heap->index)(heap->array[i], i);
>
> @@ -217,6 +221,7 @@
>
> less = heap->compare(elt, heap->array[index]);
> heap->array[index] = elt;
> + INSIST(heap->array[index] != NULL);
> if (less)
> float_up(heap, index, heap->array[index]);
> else
>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: dns_core_dump_detailed.TXT
URL: <https://lists.isc.org/pipermail/bind-users/attachments/20100111/a2021329/attachment.ksh>
More information about the bind-users
mailing list