bind-9.4.0rc1 + DLZ crash with assertion failure

Mark Andrews Mark_Andrews at isc.org
Fri Jan 26 08:17:22 UTC 2007


> 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.107
> ) 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) && (((con
> 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.arpa
> '
> >>>>
> >>>> 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)='txt
> ' 
> >>>> 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)='txt
> ' 
> >>>> 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) && (((cons
> 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: | wc
> >      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:1840

	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
-- 
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