bind-9.4.0rc1 + DLZ crash with assertion failure

Aleksey Belolipcev a_belolipcev at ducat.kz
Mon Jan 29 03:52:13 UTC 2007


Mark Andrews wrote:
>> 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
>   
sorry, Mark
correct:

# gdb /opt/bind-dlz/sbin/named core
GNU gdb 6.0
Copyright 2003 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain 
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "sparc-sun-solaris2.9"...

warning: exec file is newer than core file.
Core was generated by `/opt/bind-dlz/sbin/named -n 1'.
Program terminated with signal 6, Aborted.
Reading symbols from /usr/local/ssl/lib/libcrypto.so.0.9.8...done.
Loaded symbols for /usr/local/ssl/lib/libcrypto.so.0.9.8
Reading symbols from /opt/mysql/lib/mysql/libmysqlclient.so.12...done.
Loaded symbols for /opt/mysql/lib/mysql/libmysqlclient.so.12
Reading symbols from /usr/local/lib/libz.so...done.
Loaded symbols for /usr/local/lib/libz.so
Reading symbols from /usr/lib/libcrypt_i.so.1...done.
Loaded symbols for /usr/lib/libcrypt_i.so.1
Reading symbols from /usr/lib/libm.so.1...done.
Loaded symbols for /usr/lib/libm.so.1
Reading symbols from /usr/lib/libnsl.so.1...done.
Loaded symbols for /usr/lib/libnsl.so.1
Reading symbols from /usr/lib/libsocket.so.1...done.
Loaded symbols for /usr/lib/libsocket.so.1
Reading symbols from /usr/lib/libpthread.so.1...done.
Loaded symbols for /usr/lib/libpthread.so.1
Reading symbols from /usr/lib/libthread.so.1...done.
Loaded symbols for /usr/lib/libthread.so.1
Reading symbols from /usr/lib/libc.so.1...done.
Loaded symbols for /usr/lib/libc.so.1
Reading symbols from /usr/lib/libdl.so.1...done.
Loaded symbols for /usr/lib/libdl.so.1
Reading symbols from /usr/local/lib/libgcc_s.so.1...done.
Loaded symbols for /usr/local/lib/libgcc_s.so.1
Reading symbols from /usr/lib/librt.so.1...done.
Loaded symbols for /usr/lib/librt.so.1
Reading symbols from /usr/lib/libgen.so.1...done.
Loaded symbols for /usr/lib/libgen.so.1
Reading symbols from /usr/lib/libmp.so.2...done.
Loaded symbols for /usr/lib/libmp.so.2
Reading symbols from /usr/lib/libaio.so.1...done.
Loaded symbols for /usr/lib/libaio.so.1
Reading symbols from /usr/lib/libmd5.so.1...done.
Loaded symbols for /usr/lib/libmd5.so.1
Reading symbols from /usr/platform/SUNW,UltraAX-i2/lib/libc_psr.so.1...done.
Loaded symbols for /usr/platform/SUNW,UltraAX-i2/lib/libc_psr.so.1
Reading symbols from /usr/lib/nss_files.so.1...done.
Loaded symbols for /usr/lib/nss_files.so.1
#0  0xfef9e444 in _lwp_kill () from /usr/lib/libc.so.1
(gdb) bt
#0  0xfef9e444 in _lwp_kill () from /usr/lib/libc.so.1
#1  0xfef4cd90 in raise () from /usr/lib/libc.so.1
#2  0xfef35c78 in abort () from /usr/lib/libc.so.1
#3  0x0003425c in assertion_failed (file=0x1d4f58 "Lctx", line=1883736, 
type=1865528,
    cond=0xfffffffb <Address 0xfffffffb out of bounds>) at main.c:159
(gdb)

-- 
DUCAT,
Internet Department,
System Administrator
tel.: +7-(3272) 2663-707
fax: +7-(3272) 250-69-70
E-mail: a_belolipcev at ducat.kz





More information about the bind-users mailing list