Crash when doing rediscover with bind backend #564

Closed
Habbie opened this Issue Apr 26, 2013 · 3 comments

Projects

None yet

1 participant

@Habbie
Member
Habbie commented Apr 26, 2013

contents of /var/named and /etc/powerdns: http://hnsk.net/pdns/pdns_crash.tar.gz

CentOS 5.7 64bit. running 3.0.1 RPM compiled from http://www.monshouwer.eu/download/3rd_party/pdns-server/el5/SRPMS/
Added: https://p.6core.net/p/x8kgqzttotm8qore (should happen without this)
Added: https://p.6core.net/p/uzxn6t182rgcutd (happens without this)

SRPM: http://hnsk.net/pdns/pdns-server-3.0.1-4.el5.src.rpm
RPM: http://hnsk.net/pdns/pdns-server-3.0.1-4.el5.x86_64.rpm


Steps to reproduce:
/usr/sbin/pdns_server --daemon=no

Poll a wildcard address from the server:
while true ; do date ; dig +short fooo$x.hnsk2.net A @serveraddr ; x=$((x+1)) ;done

Change permissions of /var/named and rediscover:
chmod -R go+r /var/named ; /usr/bin/pdns_control rediscover

Every 1-15 or so runs:
Jan 23 13:05:36 [bindbackend] Done parsing domains, 0 rejected, 0 new, 0 removed
Jan 23 13:05:36 Got a signal 11, attempting to print trace:
Jan 23 13:05:36 /usr/sbin/pdns_server [0x4adce6]
Jan 23 13:05:36 /lib64/libc.so.6 [0x3a6da302d0]
Jan 23 13:05:36 [0x16ec4a00]
Aborted

@Habbie Habbie was assigned Apr 26, 2013
@Habbie Habbie closed this Apr 26, 2013
@Habbie
Member
Habbie commented Apr 26, 2013

Attachment 'this patch avoids the crashes but with it, domains disappear under the same stress conditions' (bindbackend-crash-1.patch) https://gist.github.com/5466792

@Habbie
Member
Habbie commented Apr 26, 2013

Author: peter
My notes on reproduction:

07:07    Habbie:  _cyclops_, create a named.conf with some zones in it (5 was enough for me); run pdns_server. in terminal two, run something like 
07:07    Habbie:    while : ; do dig +short a www.${RANDOM:0:1}.example.com @10.0.2.16 -p 5300 ; done
07:07    Habbie:  or dnsperf or some other hammering tool if you have it
07:07    Habbie:  in terminal 3, run
07:07    Habbie:    while : ; do sudo ./pdns_control --config-name=heart rediscover ; sudo ./pdns_control --config-name=heart reload ; done
07:07    Habbie:  then wait a while
07:07    Habbie:  usually doesn't take long
07:08    Habbie:  adapt IP, -p 5300 and --config-name to your setup, of course
@Habbie
Member
Habbie commented Apr 26, 2013

Author: ahu
Removed crash in r2837 using a variant of this patch. This causes us to emit a SERVFAIL, which we cache for a little bit, but domains no longer vanish.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment