bind-9.4.0rc1 + DLZ crash with assertion failure

Mark Andrews Mark_Andrews at isc.org
Sun Jan 28 23:40:13 UTC 2007


> Mark Andrews wrote:
> >> Mark Andrews wrote:
> >>     
> >>>> Aleksey Belolipcev wrote:
> >>>>     
> >>>>         
> >>>>> Aleksey Belolipcev wrote:
> >>>>>       
> >>>>>           
> >>>>>> Aleksey Belolipcev wrote:
> >>>>>>   
> >>>>>>         
> >>>>>>             
> >>>>>>> helo,
> >>>>>>>
> >>>>>>> I am using bind 9.4.0rc1 + DLZ (mysql) on a server running Solaris 9 
> (
> >>>>>>>               
> >> Sparc)
> >>     
> >>>>>>> after start named dying whith assertion failure:
> >>>>>>>
> >>>>>>> 22-Dec-2006 14:47:03.123 running
> >>>>>>> 22-Dec-2006 14:47:03.730 checkhints: B.ROOT-SERVERS.NET/A (192.228.79
> .
> >>>>>>>               
> >> 201) missing from hints
> >>     
> >>>>>>> 22-Dec-2006 14:47:03.731 checkhints: B.ROOT-SERVERS.NET/A (128.9.0.10
> 7
> >>>>>>>               
> >> ) extra record in hints
> >>     
> >>>>>>> 22-Dec-2006 14:49:33.955 clients-per-query increased to 11
> >>>>>>> 22-Dec-2006 14:56:07.885 zone.c:5919: REQUIRE((((zone) != 0) && (((co
> n
> >>>>>>>               
> >> st isc__magic_t *)(zone))->magic == ((('Z') << 24 | ('O') << 1
> >>     
> >>>>>>> 6 | ('N') << 8 | ('E')))))) failed
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>   
> >>>>>>>     
> >>>>>>>           
> >>>>>>>               
> >>>>>> debug:
> >>>>>>
> >>>>>> 25-Dec-2006 16:32:19.342 client 88.151.177.166#1060: query
> >>>>>>
> >>>>>> 25-Dec-2006 16:32:19.342
> >>>>>> Query String: select id from zone where zone = '166.177.151.88.in-addr
> .
> >>>>>>             
> >> arpa'
> >>     
> >>>>>> 25-Dec-2006 16:32:19.343
> >>>>>> Query String: select id from zone where zone = '177.151.88.in-addr.arp
> a
> >>>>>>             
> >> '
> >>     
> >>>>>> 25-Dec-2006 16:32:19.344
> >>>>>> Query String: update data_count set count = count + 1 where zone 
> >>>>>> ='177.151.88.in-addr.arpa'
> >>>>>>
> >>>>>> 25-Dec-2006 16:32:19.345
> >>>>>> Query String: select ttl, type, mx_priority, case when lower(type)='tx
> t
> >>>>>>             
> >> ' 
> >>     
> >>>>>> then concat('"', data, '"') when lower(type)='soa' then CON
> >>>>>> CAT_WS(' ',data,resp_person,serial,refresh,retry,expire,minimum) else 
> >>>>>> data end from zone,dns_records where id=zone_id and zone = '17
> >>>>>> 7.151.88.in-addr.arpa' and host = '166'
> >>>>>>
> >>>>>> 25-Dec-2006 16:32:19.346
> >>>>>> Query String: select ttl, type, mx_priority, case when lower(type)='tx
> t
> >>>>>>             
> >> ' 
> >>     
> >>>>>> then concat('"', data, '"') when lower(type)='soa' then CON
> >>>>>> CAT_WS(' ',data,resp_person,serial,refresh,retry,expire,minimum) else 
> >>>>>> data end from zone,dns_records where id=zone_id and zone = '17
> >>>>>> 7.151.88.in-addr.arpa' and host = '*'
> >>>>>>
> >>>>>> 25-Dec-2006 16:32:19.347 zone.c:5919: REQUIRE((((zone) != 0) && (((con
> s
> >>>>>>             
> >> t 
> >>     
> >>>>>> isc__magic_t *)(zone))->magic == ((('Z') << 24 | ('O') << 1
> >>>>>> 6 | ('N') << 8 | ('E')))))) failed
> >>>>>>
> >>>>>> 25-Dec-2006 16:32:19.348 exiting (due to assertion failure)
> >>>>>>
> >>>>>>
> >>>>>>   
> >>>>>>         
> >>>>>>             
> >>>>> another one:
> >>>>>
> >>>>> 09-Jan-2007 08:33:07.696 rdataset.c:124: REQUIRE((((rdataset) != 0) && 
> >>>>> (((const isc__magic_t *)(rdataset))->magic == ((('D') << 24 | ('N') << 
> >>>>> 16 | ('S') << 8 | ('R')))))) failed
> >>>>> 09-Jan-2007 08:33:07.697 exiting (due to assertion failure)
> >>>>>
> >>>>> -- 
> >>>>> DUCAT,
> >>>>> Internet Department,
> >>>>> System Administrator
> >>>>> tel.: +7-(3272) 663-707
> >>>>> fax: +7-(3272) 50-69-70
> >>>>> E-mail: a_belolipcev at ducat.kz
> >>>>>       
> >>>>>           
> >>>> 9.4.0rc2
> >>>> same error:
> >>>> 25-Jan-2007 13:22:44.593 rdataset.c:124: REQUIRE((((rdataset) != 0) && 
> >>>> (((const isc__magic_t *)(rdataset))->magic == ((('D') << 24 | ('N') << 
> >>>> 16 | ('S') << 8 | ('R')))))) failed
> >>>> 25-Jan-2007 13:22:44.593 exiting (due to assertion failure)
> >>>>     
> >>>>         
> >>> 	Well line 124 is the REQUIRE below.
> >>>
> >>> isc_boolean_t
> >>> dns_rdataset_isassociated(dns_rdataset_t *rdataset) {
> >>>         /*
> >>>          * Is 'rdataset' associated?
> >>>          */
> >>>
> >>>         REQUIRE(DNS_RDATASET_VALID(rdataset));
> >>>
> >>>         if (rdataset->methods != NULL)
> >>>                 return (ISC_TRUE);
> >>>
> >>>         return (ISC_FALSE);
> >>> }
> >>>
> >>> 	Now there are 159 calls to dns_rdataset_isassociated().
> >>>
> >>> grep -r dns_rdataset_isassociated lib bin/named contrib/dlz | grep c: | w
> c
> >>>      159     493   10529
> >>>
> >>> 	Without a stack backtrace no one has a hope of working
> >>> 	out where things went wrong.
> >>>
> >>> 	Mark
> >>>   
> >>>       
> >> here the stack backtrace:
> >>
> >> This GDB was configured as "sparc-sun-solaris2.9"...
> >> Core was generated by `/opt/bind-dlz/sbin/named -n 1'.
> >> Program terminated with signal 6, Aborted.
> >> #0  0xfef9e444 in ?? ()
> >> (gdb) bt
> >> #0  0xfef9e444 in ?? ()
> >> #1  0xfef35c78 in ?? ()
> >> #2  0x0003425c in query_addns (client=0x1d4f58, db=0x1cbe58) at query.c:18
> 40
> >>     
> >
> > 	What does 'strings core | grep "named version: BIND"' report.
> >
> > 	Line 1840 of query.c is not a executable line in BIND 9.4.0rc2.
> >
> > 	Mark
> >  
> >   
> >> -- 
> >> DUCAT,
> >> Internet Department,
> >> System Administrator
> >> tel.: +7-(3272) 2663-707
> >> fax: +7-(3272) 250-69-70
> >> E-mail: a_belolipcev at ducat.kz
> >>     
> # strings core | grep "named version: BIND"
> named version: BIND 9.4.0rc2 (Jan 25 2007)

	Well the core doesn't match the report and it doesn't match
	the code.

	I'd expect to see dns_rdataset_isassociated() in the stack
	backtrace.
 
	Mark
-- 
Mark Andrews, ISC
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742                 INTERNET: Mark_Andrews at isc.org



More information about the bind-users mailing list