01-Aug-2008 20:23:22.079 zone.c:2514: REQUIRE((((source) != ((void *)0))
&& (((const isc__magic_t *)(source))->magic == ((('Z') << 24 | ('O') <<
16 | ('N') << 8 | ('E')))))) failed
01-Aug-2008 20:23:22.080 exiting (due to assertion failure)


Suddenly today named is crashing (assert exit) frequently. BIND
9.5.0-p1 is NOT compiled with threads. Where is magic getting set from
and why might it not be 'ZONE' (0x5a4f4e45)?

lines leading up to the crash:


01-Aug-2008 20:23:12.867 too many timeouts resolving
'10.225.127.203.in-addr.arpa/PTR' (in '127.203.in-addr.arpa'?):
disabling EDNS
01-Aug-2008 20:23:14.393 client 127.0.0.1#53798: view internal-in:
query: 10.225.127.203.in-addr.arpa IN PTR +
01-Aug-2008 20:23:14.436 createfetch: 10.225.127.203.in-addr.arpa PTR
01-Aug-2008 20:23:14.868 too many timeouts resolving
'10.225.127.203.in-addr.arpa/PTR' (in '127.203.in-addr.arpa'?):
disabling EDNS
01-Aug-2008 20:23:18.131 client 72.34.249.230#51292: view internal-in:
query: 176.11.135.125.in-addr.arpa IN PTR +
01-Aug-2008 20:23:18.172 createfetch: 176.11.135.125.in-addr.arpa PTR
01-Aug-2008 20:23:18.869 too many timeouts resolving
'10.225.127.203.in-addr.arpa/PTR' (in '127.203.in-addr.arpa'?):
disabling EDNS
01-Aug-2008 20:23:21.600 client 217.70.177.40#32785: view external-in:
query: itys.net IN SOA -E
01-Aug-2008 20:23:22.011 client 217.70.177.40#46068: view external-in:
query: itys.net IN AXFR -
01-Aug-2008 20:23:22.079 zone.c:2514: REQUIRE((((source) != ((void *)0))
&& (((const isc__magic_t *)(source))->magic == ((('Z') << 24 | ('O') <<
16 | ('N') << 8 | ('E')))))) failed
01-Aug-2008 20:23:22.080 exiting (due to assertion failure)



It looks like it's related to a zone transfer request (which is a
legitimate and approved request).

I use DLZ/pg, and I hope the following is useful information:

dlz "postgres zone" {
database "postgres 2
{host=localhost dbname=*** user=*** password=***}
{SELECT 'TRUE' FROM canonical WHERE lower(content) =
lower('%zone%') limit 1}
{SELECT ttl, type, priority, data FROM record, canonical WHERE
lower(content) = lower('%zone%') AND host = '%record%' AND zone = domain}
{}
{SELECT ttl, type, host, priority, data FROM record, canonical
WHERE zone = domain AND lower(content) = lower('%zone%')}
{SELECT 'TRUE' FROM xfr, canonical WHERE zone = domain AND
lower(content) = lower('%zone%') AND client = inet '%client%'}";
};


# SELECT 'TRUE' FROM canonical WHERE lower(content) = lower('itys.net')
limit 1;
?column?
----------
TRUE


# SELECT host, zone, ttl, type, priority, data FROM record, canonical
WHERE lower(content) = lower('itys.net') AND zone = domain ORDER BY
type DESC,data;
host | zone | ttl | type | priority
| data
-----------+------+-------+------+----------+-----------------------------------------------------------------------------
@ | 2 | 21600 | TXT | | "v=spf1 a:itys.net mx ptr
?all"
@ | 2 | 21600 | SOA | | ranger.blue-labs.org.
mjharmon.gmail.com. 1217217996 21600 3600 604800 3600
@ | 2 | 21600 | NS | | colt.blue-labs.org.
@ | 2 | 21600 | NS | | ns6.gandi.net.
@ | 2 | 21600 | NS | | ranger.blue-labs.org.
@ | 2 | 21600 | MX | 10 | mail.itys.net.
localhost | 2 | 21600 | A | | 127.0.0.1
lrv | 2 | 21600 | A | | 127.0.0.1
lrv-test | 2 | 21600 | A | | 198.106.134.21
ns.tunnel | 2 | 21600 | A | | 207.145.202.29
nes | 2 | 21600 | A | | 64.74.153.123
www | 2 | 21600 | A | | 66.214.255.78
canon | 2 | 21600 | A | | 66.214.255.78
@ | 2 | 21600 | A | | 72.34.249.230
mail | 2 | 21600 | A | | 72.34.249.230
colt | 2 | 21600 | A | | 72.34.249.230
qed | 2 | 21600 | A | | 83.246.72.247
autoid | 2 | 21600 | A | | 83.246.72.247
jabber | 2 | 21600 | A | | 83.246.72.247


# SELECT 'TRUE' FROM xfr, canonical WHERE zone = domain AND
lower(content) = lower('itys.net') AND client = inet '217.70.177.40';
?column?
----------
TRUE


# select * from xfr where zone=2;
xid | zone | client
-----+------+------------------
1 | 2 | 217.70.177.40/32



-david