named crashes on assertion in rbtdb.c on sparc64/SMP
marius at alchemy.franken.de
Wed Jun 29 13:41:43 UTC 2011
On Wed, Jun 29, 2011 at 02:33:06PM +0400, KOT MATPOCKuH wrote:
> 2011/6/29 KOT MATPOCKuH <matpockuh at gmail.com>:
> >>> I'm got a problem with named on FreeBSD-CURRENT/sparc64.
> >>> Up to 5 times a day it crashes with these messages:
> >>> 27-Jun-2011 03:42:14.384 general:
> >>> /usr/src/lib/bind/dns/../../../contrib/bind9/lib/dns/rbtdb.c:1614:
> >>> REQUIRE(prev > 0) failed
> >>> 27-Jun-2011 03:42:14.385 general: exiting (due to assertion failure)
> >>> I found a some similar problems on alpha and IA64, which was related
> >>> to problems with isc_atomic_xadd() function in include/isc/atomic.h.
> >>> But I don't understand that there may be incorrect for sparc64 and
> >>> this function was not changed for a minimum 4 years...
> >> Uhm, we once fixed a problem in the MD atomic implementation which
> >> still seems to present in the ISC copy. Could you please test whether
> >> the following patch makes a difference?
> >> http://people.freebsd.org/~marius/sparc64_isc_atomic.h.diff
> > I ran named with your patch and and watching him.
> Or I incorrectly rebuilt named, or the problem is not solved.
> I got a crash after about 2 hours after named restarted:
> 29-Jun-2011 13:51:28.855 general:
> REQUIRE(prev > 0) failed
> 29-Jun-2011 13:51:28.856 general: exiting (due to assertion failure)
The remainder of the isc atomic.h looks fine though, so this likely
is a general bug in BIND, especially if it didn't happen before
BIND 9.6.-ESV-R4-P1. Doug should be able to help you.
Doug, could you please nevertheless take care of getting the above
patch into BIND? It's a merge of r148453.
More information about the freebsd-current