[Bug 430358] Re: bind9 + DLZ core dumps on AFXR request
Jon Austin
jonoaustin at gmail.com
Wed Oct 7 15:59:31 BST 2009
I'll give karmic a crack at first opportunity, fairly busy at the moment
with work commitment.
I've applied the xfrout.c patch suggested in this post
http://www.mail-archive.com/comp-protocols-dns-bind@isc.org/msg00134.html and
it seems to have resolved it. Although the patch did not cleanly apply
against the source - I manually made the edits. This patch resolved the
issue.
On Thu, Oct 8, 2009 at 12:13 AM, Chuck Short <chuck.short at canonical.com>wrote:
> This might still be a problem in karmic as well I have just checked the
> source and it has not been applied. Of course there is no response on
> the mailing list as well in the link provided. If possible can you test
> the karmic version?
>
> Regards
> chuck
>
> ** Changed in: bind9 (Ubuntu)
> Importance: Undecided => Low
>
> ** Changed in: bind9 (Ubuntu)
> Status: New => Incomplete
>
> --
> bind9 + DLZ core dumps on AFXR request
> https://bugs.launchpad.net/bugs/430358
> You received this bug notification because you are a direct subscriber
> of the bug.
>
> Status in “bind9” package in Ubuntu: Incomplete
>
> Bug description:
> Binary package hint: bind9
>
> Hi there
>
> I'm having a few problems with DLZ and BIND crashing when a slave
> server requests a zone transfer (my secondary DNS host does not
> support DLZ).
>
> I've built the BIND package on Ubuntu 8.10 x86. The steps I took to build
> it was
>
> apt-get install build-essential
> apt-get install libmysqlclient15-dev
> apt-get build-dep bind9
> mkdir /usr/src/local/bind9
> cd /usr/src/local/bind9
> apt-get source bind9
> cd bind9-9.5.0.dfsg.P2/
> vim debian/rules
> change --with-dlz-mysql=no to --with-dlz-mysql=yes
> dpkg-buildpackage -b
> dpkg - install debs
>
> I believe it built ok with some warnings. The .debs installed ok, just
> a minor issue with rndc and keys.
>
> After a bit of mucking around with configs, any normal lookup works
> fine, no errors produced when running named with -d1 console output.
> However, when I trigger a AFXR request (using testing host configured
> as static slave zone):
>
> 14-Sep-2009 21:39:16.173
> Query String: select zone from dns_records where zone = 'domainzone.com'
>
> 14-Sep-2009 21:39:16.173
> Query String: select ttl, type, mx_priority, case when
> lower(type)='txt' then concat('"', data, '"') when lower(type) = 'soa'
> then concat_ws(' ', data, resp_person, serial, refresh, retry, expire,
> minimum) else data end from dns_records where zone = 'domainzone.com'
> and host = '@'
>
> 14-Sep-2009 21:39:16.173
> Query String: select ttl, type, mx_priority, case when
> lower(type)='txt' then concat('"', data, '"') when lower(type) = 'soa'
> then concat_ws(' ', data, resp_person, serial, refresh, retry, expire,
> minimum) else data end from dns_records where zone = 'domainzone.com'
> and host = '@'
>
> 14-Sep-2009 21:39:17.047
> Query String: select zone from dns_records where zone = 'domainzone.com'
>
> 14-Sep-2009 21:39:17.047
> Query String: select zone from xfr_table where zone = 'domainzone.com'
> and client = '203.x.x.x'
>
> 14-Sep-2009 21:39:17.047
> Query String: select ttl, type, mx_priority, case when
> lower(type)='txt' then concat('"', data, '"') when lower(type) = 'soa'
> then concat_ws(' ', data, resp_person, serial, refresh, retry, expire,
> minimum) else data end from dns_records where zone = 'domainzone.com'
> and host = '@'
>
> 14-Sep-2009 21:39:17.047
> Query String: select ttl, type, host, mx_priority, case when
> lower(type)='txt' then concat('"', data, '"') else data end,
> resp_person, serial, refresh, retry, expire, minimum from dns_records
> where zone = 'domainzone.com'
>
> 14-Sep-2009 21:39:17.048
> Query String: select ttl, type, mx_priority, case when
> lower(type)='txt' then concat('"', data, '"') when lower(type) = 'soa'
> then concat_ws(' ', data, resp_person, serial, refresh, retry, expire,
> minimum) else data end from dns_records where zone = 'domainzone.com'
> and host = '@'
>
> 14-Sep-2009 21:39:17.048 zone.c:2514: REQUIRE((((source) != ((void
> *)0)) && (((const isc__magic_t *)(source))->magic == ((('Z') << 24 |
> ('O') << 16 | ('N') << 8 | ('E')))))) failed
> 14-Sep-2009 21:39:17.048 exiting (due to assertion failure)
> Aborted (core dumped)
>
> My table structure is as follows (apologies for formatting)
> mysql> select * from dns_records;
>
> +----+-------------------------+---------+-------+------------------------------+------+-------------+---------+-------+--------+---------+------------+-----------------+---------------+------------+
> | id | zone | host | type | data
> | ttl | mx_priority | refresh | retry | expire | minimum |
> serial | resp_person | primary_ns | data_count |
>
> +----+-------------------------+---------+-------+------------------------------+------+-------------+---------+-------+--------+---------+------------+-----------------+---------------+------------+
> | 9 | domainzone.com | staging | CNAME | www.domainzone.com. | 3600 |
> NULL | NULL | NULL | NULL | NULL | NULL | NULL
> | NULL | 0 |
> | 11 | domainzone.com | www | A | 1.2.3.4 |
> 3600 | NULL | NULL | NULL | NULL | NULL | NULL |
> NULL | NULL | 0 |
> | 12 | domainzone.com | @ | MX | ASPMX.L.GOOGLE.COM<http://aspmx.l.google.com/>
> .
> | 3600 | 1 | NULL | NULL | NULL | NULL | NULL
> | NULL | NULL | 0 |
> | 13 | domainzone.com | @ | MX | ALT1.ASPMX.L.GOOGLE.COM<http://alt1.aspmx.l.google.com/>
> .
> | 3600 | 5 | NULL | NULL | NULL | NULL | NULL
> | NULL | NULL | 0 |
> | 14 | domainzone.com | @ | MX | ALT2.ASPMX.L.GOOGLE.COM<http://alt2.aspmx.l.google.com/>
> .
> | 3600 | 5 | NULL | NULL | NULL | NULL | NULL
> | NULL | NULL | 0 |
> | 15 | domainzone.com | @ | MX | ASPMX2.GOOGLEMAIL.COM<http://aspmx2.googlemail.com/>
> .
> | 3600 | 10 | NULL | NULL | NULL | NULL | NULL
> | NULL | NULL | 0 |
> | 16 | domainzone.com | @ | MX | ASPMX3.GOOGLEMAIL.COM<http://aspmx3.googlemail.com/>
> .
> | 3600 | 10 | NULL | NULL | NULL | NULL | NULL
> | NULL | NULL | 0 |
> | 17 | domainzone.com | @ | SOA | ns1.domainzone.com.
> | 3601 | NULL | 3602 | 3603 | 86400 | 3604 |
> 2008082700 | admin.domainzone.com | ns1.domainzone.com | 0 |
> | 18 | domainzone.com | @ | NS | ns1.domainzone.com.
> | 3600 | NULL | NULL | NULL | NULL | NULL |
> NULL | NULL | NULL | 0 |
> | 20 | domainzone.com | @ | NS | ns4.us.editdns.net.
> | 3600 | NULL | NULL | NULL | NULL | NULL | NULL
> | NULL | NULL | 0 |
> | 21 | domainzone.com | @ | NS | ns5.us.editdns.net.
> | 3600 | NULL | NULL | NULL | NULL | NULL | NULL
> | NULL | NULL | 0 |
>
> +----+-------------------------+---------+-------+------------------------------+------+-------------+---------+-------+--------+---------+------------+-----------------+---------------+------------+
>
> mysql> select * from xfr_table;
> +-------------------------+-----------------+
> | zone | client |
> +-------------------------+-----------------+
> | domainzone.com | 96.31.74.171 |
> | domainzone.com | 203.x.x.x |
> +-------------------------+-----------------+
>
> And my BIND config is as follows:
>
> dlz "Mysql zone" {
> database "mysql
> {host=127.0.0.1 dbname=bind port=3306 user=xxx pass=xxx}
> {select zone from dns_records where zone = '%zone%'}
> {select ttl, type, mx_priority, case when lower(type)='txt' then
> concat('\"', data, '\"') when lower(type) = 'soa' then concat_ws(' ',
> data, resp_person, serial, refresh, retry, expire, minimum) else data
> end from dns_records where zone = '%zone%' and host = '%record%'}
> {}
> {select ttl, type, host, mx_priority, case when lower(type)='txt' then
> concat('\"', data, '\"') else data end, resp_person, serial, refresh,
> retry, expire, minimum from dns_records where zone = '%zone%'}
> {select zone from xfr_table where zone = '%zone%' and client =
> '%client%'}";
> };
>
> In terms of troubleshooting:
>
> 1. The source package I used was bind9-9.5.0.dfsg.P2 (from Ubuntu
> repository). Is there any way to tell what revision of DLZ is applied
> to this source?
>
> 2. Does my table data look correct? I had a bit of a problem early on
> that I fixed by setting unused fields (such as serial in an A record)
> to NULL, although this could have been fixed by me experimenting with
> the queries in named config.
>
> 3. I found the following references which might be relevant
>
> https://bugzilla.redhat.com/show_bug.cgi?id=454783
>
> http://www.mail-archive.com/comp-protocols-dns-bind <at>
> isc.org/msg00134.html
>
> I would prefer to only use debian sources for build as it will make
> deployment and maintainence much easier. Any suggestions are greatly
> appreciated.
>
> Regards
>
> Jon
>
--
bind9 + DLZ core dumps on AFXR request
https://bugs.launchpad.net/bugs/430358
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to bind9 in ubuntu.
More information about the Ubuntu-server-bugs
mailing list