BIND 9.6.1-P1 crashing
JINMEI Tatuya / 神明達哉
jinmei at isc.org
Fri Jan 8 08:04:15 UTC 2010
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
More information about the bind-users
mailing list