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.