bind 9.3.1 thread issues on FreeBSD 5.3R/amd64

Mars G. Miro marsgmiro at gmail.com
Wed May 25 02:47:45 PDT 2005


Yo list!

I think I'm seeing a problem about bind9.3.1 on FreeBSD 5.3R/AMD64.
This is addressed by setting WITHOUT_BIND9_THREADS=true when compiling
the port. This also doesn't happen on FreeBSD 5.4R/AMD64.

The problem manifests when shutting down the named daemon where it
just would not die gracefully (you have to kill -9 it).

Here are the necessary steps to reproduce it:
1) install FreeBSD5.3R/AMD64
2) install bind9.3.1 from ports (set WITH_PORT_REPLACES_BASE_BIND9)
3) configure a simple resolver (# cd  /var/named/etc/namedb && sh
make-localhost)
4) start named server ( # /etc/rc.d/named start  or # named -u bind -t
/var/named )
5) test some dns queries ( dig, nslookup etc)
6) kill named server ( # /etc/rc.d/named stop or # killall named ), 
[ this is where it happens ... ]
if logging is configured, you'd see something like:
5-May-2005 08:44:32.348 database: debug 1: done free_rbtdb(0.0.127.IN-ADDR.ARPA)
25-May-2005 08:44:32.348 general: debug 3: zone_shutdown: zone
authors.bind/CH: shutting down
25-May-2005 08:44:32.348 general: debug 3: zone_shutdown: zone
version.bind/CH: shutting down
25-May-2005 08:44:32.349 client: debug 3: client @0x739400: shutdown
25-May-2005 08:44:32.349 client: debug 3: client @0x739400: free
25-May-2005 08:44:32.349 client: debug 3: client @0x739c00: shutdown
25-May-2005 08:44:32.349 client: debug 3: client @0x739c00: accept
failed: operation canceled
25-May-2005 08:44:32.349 client: debug 3: client @0x739c00: free
25-May-2005 08:44:32.349 general: debug 3: clientmgr @0x6feb80:
clientmgr_destroy
25-May-2005 08:44:32.349 resolver: debug 3: res 0x73ae00: detach
25-May-2005 08:44:32.349 resolver: debug 3: res 0x73ae00: destroy
25-May-2005 08:44:32.349 general: debug 3: dns_requestmgr_detach:
0x7e1000: eref 0 iref 0
25-May-2005 08:44:32.349 general: debug 3: mgr_destroy
25-May-2005 08:44:32.349 database: debug 1: calling free_rbtdb(.)
25-May-2005 08:44:32.349 database: debug 1: done free_rbtdb(.)
25-May-2005 08:44:32.349 database: debug 1: calling free_rbtdb(.)
25-May-2005 08:44:32.349 database: debug 1: done free_rbtdb(.)
25-May-2005 08:44:32.351 resolver: debug 3: res 0x7e1500: detach
25-May-2005 08:44:32.351 resolver: debug 3: res 0x7e1500: destroy
25-May-2005 08:44:32.351 general: debug 3: dns_requestmgr_detach:
0x7f4700: eref 0 iref 0
25-May-2005 08:44:32.351 general: debug 3: mgr_destroy
25-May-2005 08:44:32.351 database: debug 1: calling free_rbtdb(.)
25-May-2005 08:44:32.351 database: debug 1: done free_rbtdb(.)

but then the process is still there:
root 31645  0.0  0.1  3580  844  ??  SsJ   4:45AM   0:00.02
/usr/sbin/syslogd -l /var/run/log -l /var/named/var/run/log -ss
bind 39312  0.0  0.5  9752 5432  ??  IsJ   8:44AM   0:00.02
/usr/sbin/named -u bind -t /var/named

The only way to kill it is kill -9 the pid.

Somebody also had some similar issues like this (slapd):
http://www.monkey.org/freebsd/archive/freebsd-amd64/200404/msg00076.html
w/c is FreeBSD 5.2.X on AMD64.

And, as I've said, this doesn't manifest on FreeBSD5.4R/AMD64 nor
5.3/5.4 i386 and the work-around is to compile the port
WITHOUT_BIND9_THREADS=true,

So is anyone else also experiencing this problem?

Thanks.



cheers
mars


More information about the freebsd-amd64 mailing list