On jue, 2008-10-02 at 03:03 +0800, Paul Wise wrote:

> On Tue, 2008-09-30 at 14:20 +0800, Paul Wise wrote:
> > On Thu, 2008-09-25 at 15:25 +0800, Paul Wise wrote:
> > 
> > > Can you run the following gdb commands at the point of the crash?
> > 
> > Any luck with this?
> 
> After moya sent me his configs in private, I cannot reproduce the crash
> on amd64 with bind9 version 1:9.5.0.dfsg.P2-1 nor in an i386 chroot with
> 1:9.5.0.dfsg.P1-2 or 1:9.5.0.dfsg.P2-1.
> 
> I didn't attempt to replicate the network setup, just put the configs in
> place. moya, are you able to reproduce it in a separate machine at all?

A short history about the machines. There are three, namely, ns{1,2,3}

1. ns1 is master, ns{2,3} are slaves
2. the three were etch, configuration almost the same
3. I did upgrade the three to lenny
4. ns3's named didn't crash, ns1 and ns2's named did

5. I created a clean /etc/bind in ns2. bind started gracefully
6. ... then I copied the relevant bits of my old configuration over the
freshly created /etc/bind in ns2. bind started gracefully

7. I created a clean /etc/bind in ns1. bind started gracefully
8. ... then I copied the relevant bits of my old configuration over
the freshly created /etc/bind in ns1. bind crash at startup

bind is crashing only in the master server.

With respect to the data at the point of the crash

(gdb) p *node
$1 = {bit = 19, prefix = 0xb41f50e8, l = 0xb41f4da0, r = 0xb41f90d0,
parent = 0xb41f9418, data = {0x0, 0x0}, node_num = {29, -1}}
(gdb) p node->data
$2 = {0x0, 0x0}
(gdb) p node->data[0]
$3 = (void *) 0x0
(gdb) p *(node->data[0])
Attempt to dereference a generic pointer.

The full backtrace is attached.

Cheers,
maykel

(gdb) bt full
#0  0xb7dcffc5 in dns_acl_match (reqaddr=0xb6ce7274, reqsigner=0x0, 
acl=0xb74e91e8, env=0xb74f40a8, match=0xb6ce68ac, matchelt=0x0) at acl.c:226
        bitlen = 32
        family = 2
        pfx = {family = 2, bitlen = 32, refcount = {refs = 0}, add = {sin = 
{s_addr = 2346638537}, sin6 = {in6_u = {
        u6_addr8 = "���\213", '\0' <repeats 11 times>, u6_addr16 = {56521, 
35806, 0, 0, 0, 0, 0, 0}, u6_addr32 = {2346638537, 0, 0, 0}}}}}
        node = (isc_radix_node_t *) 0xb41f4c60
        addr = (const isc_netaddr_t *) 0xb6ce7274
        v4addr = {family = 3086119696, type = {in = {s_addr = 3066980408}, in6 
= {in6_u = {u6_addr8 = "8hζ֭෼\"2��\0172�", u6_addr16 = {26680, 46798, 
          44502, 47072, 8892, 46130, 4040, 46130}, u6_addr32 = {3066980408, 
3084955094, 3023184572, 3023179720}}}, 
    un = "8hζ֭෼\"2��\0172�R\004\000\000\000\000\000\000\000\000\000\000\002", 
'\0' <repeats 19 times>, "����������H\t\004\000\000\000\001", '\0' <repeats 15 
times>, 
"�\"2��}��\001\000\001\0000�1�\000\000\000\000\000\000\000\000\020s��"}, zone = 
2}
        result = 0
        match_num = 29
        i = 3066980504
#1  0x0805a80f in allowed (addr=0xb6ce7274, signer=0x0, acl=0xb74e91e8) at 
client.c:1265
        match = 0
        result = 2
#2  0x0805b840 in client_request (task=0xb74ff7c0, event=0xb43220f8) at 
client.c:1699
        tsig = (dns_name_t *) 0x0
        client = (ns_client_t *) 0xb431e008
        sevent = (isc_socketevent_t *) 0xb43220f8
        result = 0
        sigresult = 0
        buffer = (isc_buffer_t *) 0xb6ce72ec
        tbuffer = {magic = 1114990113, base = 0x948b1a0, length = 33, used = 
33, current = 33, active = 33, link = {prev = 0xffffffff, next = 0xffffffff}, 
  mctx = 0x0}
        view = (dns_view_t *) 0xb44cc008
        opt = (dns_rdataset_t *) 0x0
        signame = (dns_name_t *) 0xb6ce7328
        ra = 134581014
        netaddr = {family = 2, type = {in = {s_addr = 2346638537}, in6 = {in6_u 
= {u6_addr8 = "���\213�޿�(�O��rζ", u6_addr16 = {56521, 35806, 57056, 
          47039, 58408, 46927, 29396, 46798}, u6_addr32 = {2346638537, 
3082804960, 3075466280, 3066983124}}}, 
    un = "���\213�޿�(�O��rζ", '\0' <repeats 32 times>, "�rζ{�\005\b", '\0' 
<repeats 20 times>, 
"DS\v\b�rζ�俷(�O�\000\000\000\000��O�\000\000\000\000�\037��"}, zone = 0}
        destaddr = {family = 2, type = {in = {s_addr = 2212420809}, in6 = 
{in6_u = {u6_addr8 = "���\203\020\000\000\000T���(�O�", u6_addr16 = {56521, 
          33758, 16, 0, 53588, 47040, 58408, 46927}, u6_addr32 = {2212420809, 
16, 3082867028, 3075466280}}}, 
    un = 
"���\203\020\000\000\000T���(�O�\000\000\000\000Hrζ8�����O��rζ\000\020\000\000\000\000\000\0000\033`�\005\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000T���xrζO�����O��rζ�rζ�rζ\000\000\000\000!\000\000\000!\000\000\000\000\000\000"},
 zone = 0}
        match = 0
        id = 60135
---Type <return> to continue, or q <return> to quit---
        flags = 256
        notimp = isc_boolean_false
        rdata = {data = 0x0, length = 0, rdclass = 0, type = 0, flags = 5, link 
= {prev = 0xb7bea2c1, next = 0xb7a6590c}}
        optcode = 0
#3  0xb7beb62e in dispatch (manager=0xb74ec008) at task.c:862
        dispatch_count = 1
        done = isc_boolean_false
        finished = isc_boolean_false
        requeue = isc_boolean_false
        event = (isc_event_t *) 0xb43220f8
        task = (isc_task_t *) 0xb74ff7c0
#4  0xb7beb8c8 in run (uap=0xb74ec008) at task.c:1005
        manager = (isc_taskmgr_t *) 0xb74ec008
#5  0xb7a62f3b in start_thread () from /lib/libpthread.so.0
No symbol table info available.
#6  0xb78afc9e in clone () from /lib/libc.so.6
No symbol table info available.

Reply via email to