BIND 9.5.0-P1 Crash on Solaris 8

JINMEI Tatuya / 神明達哉 Jinmei_Tatuya at isc.org
Wed Jul 16 18:34:19 UTC 2008


At Tue, 15 Jul 2008 14:39:48 -0500 (CDT),
bsfinkel at anl.gov wrote:

> (gdb) f 0
> #0  0x000a717c in cleanup_dead_nodes (rbtdb=0x334958, bucketnum=3120)
>     at rbtdb.c:1375
> 1375                    ISC_LIST_UNLINK(rbtdb->deadnodes[bucketnum], node, deadlink);
> (gdb) p *node
> $1 = {parent = 0x35bd48, left = 0xdededede, right = 0xdededede, 
>   down = 0xdededede, hashnext = 0xdededede, deadlink = {prev = 0xdededede, 
>     next = 0xdededede}, is_root = 1, color = 1, find_callback = 0, 
>   attributes = 15, namelen = 111, offsetlen = 111, padbytes = 222, 
>   hashval = 3739147998, data = 0xdededede, dirty = 1, wild = 1, locknum = 493, 
>   references = 974558}
> (gdb) 

Thanks.  This strongly indicates a race condition among threads, but I
have currently no specific idea of how this can happen.  We'll
probably need to add some more assertion checks to catch the bug in an
earlier stage.

I'll file a bug report on this issue to track it later.  In the mean
time, your options are:

- keep using it if this doesn't happen frequently.  from my past
  experiences, this type of condition happens only very rarely, so you
  may be able to accept it.
- disable threads if you can accept the possibly decreased
  performance.  this bug is very likely to be an inter-thread race,
  and won't happen if you disable threads.
- use 9.4 (either P1 or beta).  this is very likely to be specific to
  9.5, so you should be fine with prior versions.

Thanks,

---
JINMEI, Tatuya
Internet Systems Consortium, Inc.


More information about the bind-users mailing list