Package: pdns-server
Version: 2.9.20-5~bpo.1
Severity: important
Hi,
pdns-server segfaults when using the bind backend when it just got a
notify, updated the zone, and I issue pdns_control bind-reload-now.
I reproduced this on a different set of systems as well, here's it:
moni runs bind9 and is the domain master for example.com.
uschi runs pdns-server, using the bind backend, and is slave for
example.com.
| uschi:/etc/powerdns# for i in pdns-bind.conf pdns.d/*; do echo "===== $i
====="; cat $i; done
| ===== pdns-bind.conf =====
| directory "/var/spool/powerdns";
|
| zone "example.com" {
| type slave;
| file "slave-example.com";
| masters { 141.201.27.130; };
| allow-transfer { };
| };
|
| // vim:syn=named:
| ===== pdns.d/backends =====
| launch=bind
| ===== pdns.d/bind =====
| slave=yes
| bind-config=/etc/powerdns/pdns-bind.conf
| ===== pdns.d/no-cache =====
| cache-ttl=0
| ===== pdns.d/no-recursion =====
| allow-recursion=
| ===== pdns.d/numthreads =====
| distributor-threads=1
| ===== pdns.d/pdns.local =====
| # Here comes the local changes the user made, like configuration of
| # the several backends that exists.
Now I update the zone on the master, and it sends a notify:
} Oct 22 17:20:41 uschi pdns[7409]: Received valid NOTIFY for example.com
(id=1) from master 141.201.27.130: 25 > 24
} Oct 22 17:20:41 uschi pdns[7409]: AXFR started for 'example.com', transaction
started
} Oct 22 17:20:41 uschi pdns[7409]: Zone 'example.com'
(/var/spool/powerdns/slave-example.com) reloaded
} Oct 22 17:20:41 uschi pdns[7409]: AXFR done for 'example.com', zone committed
Then I run 'pdns_control bind-reload-now example.com' on uschi:
} Oct 22 17:21:13 uschi pdns[7409]: Got a signal 11, attempting to print trace:
} Oct 22 17:21:13 uschi pdns[7409]: /usr/sbin/pdns_server-instance [0x80b5be6]
} Oct 22 17:21:13 uschi pdns[7409]: [0xffffe420]
} Oct 22 17:21:13 uschi pdns[7409]:
/usr/lib/libstdc++.so.5(_ZNSs6assignERKSs+0x47) [0xb7f16387]
} Oct 22 17:21:13 uschi pdns[7409]:
/usr/sbin/pdns_server-instance(_ZN12Bind2Backend11queueReloadEP13BB2DomainInfo+0xd2)
[0x80f56f2]
} Oct 22 17:21:13 uschi pdns[7409]:
/usr/sbin/pdns_server-instance(_ZN12Bind2Backend18DLReloadNowHandlerERKSt6vectorISsSaISsEEi+0x3ee)
[0x80ee73e]
} Oct 22 17:21:13 uschi pdns[7409]:
/usr/sbin/pdns_server-instance(_ZN11DynListener11theListenerEv+0x6d8)
[0x80c24d8]
} Oct 22 17:21:13 uschi pdns[7409]:
/usr/sbin/pdns_server-instance(_ZN11DynListener17theListenerHelperEPv+0x11)
[0x80c1101]
} Oct 22 17:21:13 uschi pdns[7409]: /lib/tls/libpthread.so.0 [0xb7e5eb63]
} Oct 22 17:21:13 uschi pdns[7409]: /lib/tls/libc.so.6(__clone+0x5a)
[0xb7dfd18a]
} Oct 22 17:21:13 uschi pdns[6911]: Our pdns instance (7409) exited after
signal 6
} Oct 22 17:21:13 uschi pdns[6911]: Respawning
} Oct 22 17:21:14 uschi pdns[8678]: Guardian is launching an instance
} Oct 22 17:21:14 uschi pdns[8678]: This is a guarded instance of pdns
} Oct 22 17:21:14 uschi pdns[8678]: It is advised to bind to explicit addresses
with the --local-address option
} Oct 22 17:21:14 uschi pdns[8678]: UDP server bound to 0.0.0.0:53
} Oct 22 17:21:14 uschi pdns[8678]: TCP server bound to 0.0.0.0:53
} Oct 22 17:21:14 uschi pdns[8678]: PowerDNS 2.9.20 (C) 2001-2006 PowerDNS.COM
BV (Sep 9 2006, 17:34:31, gcc 3.3.5 (Debian 1:3.3.5-13)) starting up
} Oct 22 17:21:14 uschi pdns[8678]: PowerDNS comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it according to the
terms of the GPL version 2.
} Oct 22 17:21:14 uschi pdns[8678]: Set effective group id to 114
} Oct 22 17:21:14 uschi pdns[8678]: Set effective user id to 109
} Oct 22 17:21:14 uschi pdns[8678]: Creating backend connection for TCP
} Oct 22 17:21:14 uschi pdns[8678]: [bindbackend] Parsing 1 domain(s), will
report when done
} Oct 22 17:21:14 uschi pdns[8678]: [bindbackend] Done parsing domains, 0
rejected, 1 new, 0 removed
} Oct 22 17:21:14 uschi pdns[8678]: About to create 1 backend threads for UDP
} Oct 22 17:21:14 uschi pdns[8678]: Master/slave communicator launching
} Oct 22 17:21:14 uschi pdns[8678]: 1 slave domain needs checking
} Oct 22 17:21:14 uschi pdns[8678]: Domain example.com is fresh
} Oct 22 17:21:18 uschi pdns[8678]: Engaging bypass - now operating unthreaded
Successive pdns_control bind-reload-now example.com actions do not cause
segfaults. Only the first after a notify does.
Something probably is wrong here. :)
Peter
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]