Bind 9.5.0-P1 Crash 0x000a717c in cleanup_dead_nodes

bsfinkel at anl.gov bsfinkel at anl.gov
Wed Aug 13 16:28:24 UTC 2008


oberon# /usr/afsws/local/bin/gdb named core.oberon.080813.1047
GNU gdb 6.7.1
Copyright (C) 2007 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "sparc-sun-solaris2.9"...

warning: Can't read pathname for load map: I/O error.
Reading symbols from /usr/lib/libnsl.so.1...done.
Loaded symbols for /usr/lib/libnsl.so.1
Reading symbols from /usr/lib/libsocket.so.1...done.
Loaded symbols for /usr/lib/libsocket.so.1
Reading symbols from /usr/lib/libpthread.so.1...done.
Loaded symbols for /usr/lib/libpthread.so.1
Reading symbols from /usr/lib/libthread.so.1...done.
Loaded symbols for /usr/lib/libthread.so.1
Reading symbols from /usr/lib/libc.so.1...done.
Loaded symbols for /usr/lib/libc.so.1
Reading symbols from /usr/lib/libdl.so.1...done.
Loaded symbols for /usr/lib/libdl.so.1
Reading symbols from /usr/lib/libmp.so.2...done.
Loaded symbols for /usr/lib/libmp.so.2
Reading symbols from /usr/platform/SUNW,Sun-Fire-V240/lib/libc_psr.so.1...done.
Loaded symbols for /usr/platform/SUNW,Sun-Fire-V240/lib/libc_psr.so.1

warning: Can't read pathname for load map: I/O error.

warning: Can't read pathname for load map: I/O error.
Core was generated by `/export/home/named.oberon/bind/sbin/named -c /export/home/named.oberon/named.co'.
Program terminated with signal 10, Bus error.
#0  0x000a717c in cleanup_dead_nodes (rbtdb=0x78f8e8, bucketnum=1544)
    at rbtdb.c:1375
1375                    ISC_LIST_UNLINK(rbtdb->deadnodes[bucketnum], node, deadlink);
(gdb) thread apply all bt full

Thread 5 (process 148061    ):
#0  0xff3554b4 in __lwp_park () from /usr/lib/libthread.so.1
No symbol table info available.
#1  0xff3526c0 in cond_wait_queue () from /usr/lib/libthread.so.1
No symbol table info available.
#2  0xff352e7c in cond_wait () from /usr/lib/libthread.so.1
No symbol table info available.
#3  0xff352eb8 in pthread_cond_wait () from /usr/lib/libthread.so.1
No symbol table info available.
#4  0x0016e9bc in dispatch (manager=0x1ea0c8) at task.c:810
        dispatch_count = 2
        done = isc_boolean_false
        requeue = isc_boolean_false
        finished = isc_boolean_false
#5  0x0016ea28 in run (uap=0x1ea0c8) at task.c:1005
No locals.
#6  0xff355378 in _lwp_start () from /usr/lib/libthread.so.1
No symbol table info available.
#7  0xff355378 in _lwp_start () from /usr/lib/libthread.so.1
No symbol table info available.
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 4 (process 82525    ):
---Type <return> to continue, or q <return> to quit--- 
#0  0xff21cadc in _libc_sigtimedwait () from /usr/lib/libc.so.1
No symbol table info available.
#1  0xff34e49c in sigwait () from /usr/lib/libthread.so.1
No symbol table info available.
#2  0xff2177c0 in __posix_sigwait () from /usr/lib/libc.so.1
No symbol table info available.
#3  0x00171948 in isc_app_run () at app.c:503
        result = -4195472
        event = (isc_event_t *) 0x0
        next_event = (isc_event_t *) 0xffbffb70
        task = (isc_task_t *) 0x0
        sset = {__sigbits = {16387, 0, 0, 0}}
        strbuf = "\000\000\b<\000\000\b<\000\000\b<\000\000\000\000ÿÿqqÿÿqqÿÿqqÿÿqq\000\000\000\000\035Íe\000ÿ¿û\030\000\003Q¨\000\035\200\000\000\030O°\000\037\020È\000\035\200\000\000\030\\\000\000\035\203", '\0' <repeats 18 times>, "\035\200\000\000\035\203(\000\000\000\000\000\000\000\005\000\000\000n\000\000\000lÿ¿û\220\000\003Uð\000\000\000\000\000\035ª\200\000\000\000\000ÿ\024Â@"
        sig = 1933312
#4  0x00035604 in main (argc=1592320, argv=0x184c00) at main.c:879
        result = 0

Thread 3 (process 344669    ):
#0  0xff21e23c in _poll () from /usr/lib/libc.so.1
No symbol table info available.
---Type <return> to continue, or q <return> to quit---
#1  0xff1d24d8 in _select () from /usr/lib/libc.so.1
No symbol table info available.
#2  0xff34e1cc in select () from /usr/lib/libthread.so.1
No symbol table info available.
#3  0x0017cad4 in watcher (uap=0x2260d0) at socket.c:2527
        done = isc_boolean_false
        ctlfd = 8488
        cc = 1822720
        readfds = {fds_bits = {-135266272, 3, 0 <repeats 30 times>}}
        writefds = {fds_bits = {0 <repeats 32 times>}}
        msg = -2
        fd = -1
        maxfd = 303
        strbuf = '\0' <repeats 127 times>
#4  0xff355378 in _lwp_start () from /usr/lib/libthread.so.1
No symbol table info available.
#5  0xff355378 in _lwp_start () from /usr/lib/libthread.so.1
No symbol table info available.
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 2 (process 279133    ):
#0  0xff3554b4 in __lwp_park () from /usr/lib/libthread.so.1
No symbol table info available.
#1  0xff3526c0 in cond_wait_queue () from /usr/lib/libthread.so.1
---Type <return> to continue, or q <return> to quit---
No symbol table info available.
#2  0xff352c38 in cond_wait_common () from /usr/lib/libthread.so.1
No symbol table info available.
#3  0xff3530c8 in _ti_cond_timedwait () from /usr/lib/libthread.so.1
No symbol table info available.
#4  0xff3530fc in cond_timedwait () from /usr/lib/libthread.so.1
No symbol table info available.
#5  0xff35313c in pthread_cond_timedwait () from /usr/lib/libthread.so.1
No symbol table info available.
#6  0x001818f4 in isc_condition_waituntil (c=0x1ec100, m=0x1ec0d0, t=0x1ec0f8)
    at condition.c:59
        presult = 77
        result = 2015488
        ts = {tv_sec = 1218642419, tv_nsec = 400433000}
        strbuf = "\000ÓôÛ\000\000\000\000H£\001ï\037\004Fðÿ\fþÈÿ5.°\000\000\000\000\000\000\000\000\000\037ë¨\000\000\000\000\000\037ë°\000\001\000\000\000\000\000\000\000\000\000\001\000\033¨\000\000\035\230\000\000\036ÀÈÿ\fÿ\210\000\033¬\200\000\033¯\000\000\000\000\000\000\000\000\000ÿ\fÿ(\000\027\n\200\000\036Àø", '\0' <repeats 12 times>, "ÿ\fÿ(\000\027\v(\000\000\000\000\000\000\000"
#7  0x00170aa8 in run (uap=0x1ec0c8) at timer.c:719
        now = {seconds = 1218642419, nanoseconds = 200458000}
        result = 77
#8  0xff355378 in _lwp_start () from /usr/lib/libthread.so.1
No symbol table info available.
---Type <return> to continue, or q <return> to quit---
#9  0xff355378 in _lwp_start () from /usr/lib/libthread.so.1
No symbol table info available.
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 1 (process 213597    ):
#0  0x000a717c in cleanup_dead_nodes (rbtdb=0x78f8e8, bucketnum=1544)
    at rbtdb.c:1375
        node = (dns_rbtnode_t *) 0x47b15b8
        result = 4294967295
        count = 10
#1  0x000a8994 in findnode (db=0x78f8e8, name=0x33b6d48, 
    create=isc_boolean_true, nodep=0xff0ee688) at rbtdb.c:2011
        node = (dns_rbtnode_t *) 0x4ade7b8
        nodename = {magic = 1145983854, ndata = 0x4ade7e4 "\00272", 
  length = 3, labels = 1, attributes = 2, offsets = 0x4ade7e7 "", 
  buffer = 0x0, link = {prev = 0xffffffff, next = 0xffffffff}, list = {
    head = 0x0, tail = 0x0}}
        result = 0
        locktype = isc_rwlocktype_write
#2  0x000768fc in dns_db_findnode (db=0x78f8e8, name=0x33b6d48, 
    create=isc_boolean_true, nodep=0xff0ee688) at db.c:449
No locals.
#3  0x00105f14 in cache_name (fctx=0x33aff58, name=0x33b6d48, 
    addrinfo=0x8afe50, now=1218642419) at resolver.c:3893
---Type <return> to continue, or q <return> to quit---
        rdataset = (dns_rdataset_t *) 0x0
        sigrdataset = (dns_rdataset_t *) 0xff0eeaa0
        addedrdataset = (dns_rdataset_t *) 0xff250400
        ardataset = (dns_rdataset_t *) 0x39ca268
        asigrdataset = (dns_rdataset_t *) 0x0
        valrdataset = (dns_rdataset_t *) 0x0
        valsigrdataset = (dns_rdataset_t *) 0x0
        node = (dns_dbnode_t *) 0x0
        anodep = (dns_dbnode_t **) 0x23869cc
        adbp = (dns_db_t **) 0x23869c8
        aname = (dns_name_t *) 0x33b6d48
        res = (dns_resolver_t *) 0x758ec8
        need_validation = isc_boolean_false
        secure_domain = isc_boolean_false
        have_answer = isc_boolean_true
        result = 4280615936
        eresult = 0
        event = (dns_fetchevent_t *) 0x2386990
        options = 1
        task = (isc_task_t *) 0x1fe038
        fail = isc_boolean_false
        valoptions = 0
#4  0x00105500 in cache_message (fctx=0x33aff58, addrinfo=0x8afe50, 
    now=1218642419) at resolver.c:4191
---Type <return> to continue, or q <return> to quit---
        result = 0
        section = 1
        name = (dns_name_t *) 0x33b6d48
#5  0x000ffc08 in resquery_response (task=0x1fe038, event=0x33b3090)
    at resolver.c:6092
        result = 0
        query = (resquery_t *) 0x33c3318
        devent = (dns_dispatchevent_t *) 0x3c664a8
        keep_trying = isc_boolean_false
        get_nameservers = isc_boolean_false
        resend = isc_boolean_false
        truncated = isc_boolean_false
        message = (dns_message_t *) 0x33b3090
        opt = (dns_rdataset_t *) 0x33affec
        fctx = (fetchctx_t *) 0x33aff58
        foundname = {name = {magic = 0, ndata = 0xff250400 "ÿ%\004", 
    length = 0, labels = 0, attributes = 0, offsets = 0x0, buffer = 0x7, 
    link = {prev = 0xff0efe18, next = 0x8}, list = {head = 0x1, tail = 0x1}}, 
  offsets = "\000\000\000\000ÿ\016ý8\000\027\210x\000\000\005\177\000\000\000\a", '\0' <repeats 19 times>, "\020ÿÿqqÿÿqqÿ\016þ\030\000\000\000\v\000\000\000\vÿ\016ýÀ\000\000\005\204\000\035\200\000ÿ\016ð8ÿ\016ô0\000\"`Ð\000\000!Dÿÿqqÿý\000\035xx\000\000\000<\002¾¾¾ÿ\016þ0\000\027½ô\000\0317x\000\000\000\000\000\000\000\000IOioHµbB", buffer = {magic = 0, base = 0x33aff58, length = 4279172512, used = 2, 
    current = 0, active = 0, link = {prev = 0x1ea0d0, next = 0x1ea108}, 
---Type <return> to continue, or q <return> to quit---
    mctx = 0x0}, 
  data = "\000\000\000\000ÿ\022òÀ\000\000\000\001\000\000\000\000\000\036¡\bÿ6\214\b\000\000\000\000\000\000\000\000ÿ%\004\000ÿ6\200\000ÿ\016þ\000ÿ5.t\002ÛC0\000\000\020\000ÿÿqqÿÿqq\000\000\000\000DNSn\004+1e\000\000\000\033\000\000\000\004\000\036¡\b\000\036 Ð\003\b¡@\000\f\000\000\000\000\001\000\000\035\200\000ÿ\016ð8ÿ\016ô0\000\036¡\b\000\036 Ð\000\034÷\234\000\000\000\003\000\030 \200\000\030'8ÿ\016þ`ÿ5.°\000\035\200\000ÿ\016þ\020\000\000\000\000\000\000\000\000\0026/ø\000\037ÅP\000\033¤\000\000\0358\000\000\000\000\001\000\000\000\000ÿ%\004\000\003\b\221@\000\035\200\000ÿ\016þ\020"...}
        now = 1218642419
        tnow = {seconds = 1218642419, nanoseconds = 309124000}
        finish = (isc_time_t *) 0xff0efcd8
        addrinfo = (dns_adbaddrinfo_t *) 0x33affec
        options = 0
        findoptions = 54198252
        broken_server = 0
#6  0x0016e87c in dispatch (manager=0x1ea0c8) at task.c:862
        dispatch_count = 0
        done = isc_boolean_false
        requeue = isc_boolean_false
        finished = isc_boolean_false
#7  0x0016ea28 in run (uap=0x1ea0c8) at task.c:1005
No locals.
#8  0xff355378 in _lwp_start () from /usr/lib/libthread.so.1
---Type <return> to continue, or q <return> to quit---
No symbol table info available.
#9  0xff355378 in _lwp_start () from /usr/lib/libthread.so.1
No symbol table info available.
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb) quit
oberon# 

Is there any other gdb information that would be helpful?

Note that this occurred within a minute of my completing my tjhinc.com
testing (noted in a previous posting) and my running a "rndc dumpdb"
to check the contents of the cache.  I am not sure if these two
events are related.
----------------------------------------------------------------------
Barry S. Finkel
Computing and Information Systems Division
Argonne National Laboratory          Phone:    +1 (630) 252-7277
9700 South Cass Avenue               Facsimile:+1 (630) 252-4601
Building 222, Room D209              Internet: BSFinkel at anl.gov
Argonne, IL   60439-4828             IBMMAIL:  I1004994


More information about the bind-users mailing list