bind-9.4.0rc1 + DLZ crash with assertion failure

Mark Andrews Mark_Andrews at isc.org
Thu Jan 25 20:22:42 UTC 2007


> 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) && (((const 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) && (((const 
> >> 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
-- 
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