[Pdns-users] PDNS-Recursor Segfaults

Imre Gergely gimre at narancs.net
Tue May 20 20:25:26 UTC 2014


Hi

I did manage to reproduce this in a VM. Installed a CentOS 6.5, and
recursor 3.5.3 from EPEL. Then I did this:

for i in `seq 1 16`; do for j in `seq 1 254`; do ip a a 10.0.$i.$j/16
dev eth0; done; done

Then I started the recursor, everything went just fine, did a bunch of
digs, no problems.

Then I added some more IPs:

for i in `seq 17 32`; do for j in `seq 1 254`; do ip a a 10.0.$i.$j/16
dev eth0; done; done

And then init.d/pdns-recursor restart:

May 20 23:18:24 c605 pdns_recursor[21341]: PowerDNS recursor 3.5.3 (C)
2001-2013 PowerDNS.COM BV (Feb 10 2014, 17:26:52, gcc 4.4.7 20120313
(Red Hat 4.4.7-4))
 starting up
May 20 23:18:24 c605 pdns_recursor[21341]: 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.
May 20 23:18:24 c605 pdns_recursor[21341]: Operating in 32 bits mode
May 20 23:18:24 c605 pdns_recursor[21341]: Reading random entropy from
'/dev/urandom'
May 20 23:18:24 c605 pdns_recursor[21341]: Only allowing queries from:
127.0.0.0/8, 10.0.0.0/8, 100.64.0.0/10, 169.254.0.0/16, 192.168.0.0/16,
172.16.0.0/12, ::1/128, fe80::/10
May 20 23:18:24 c605 pdns_recursor[21341]: Will not send queries to:
127.0.0.0/8, 10.0.0.0/8, 100.64.0.0/10, 169.254.0.0/16, 192.168.0.0/16,
172.16.0.0/12, ::1/128, fe80::/10, 0.0.0.0, ::
May 20 23:18:24 c605 pdns_recursor[21341]: NOT using IPv6 for outgoing
queries - set 'query-local-address6=::' to enable
May 20 23:18:24 c605 pdns_recursor[21341]: Inserting rfc 1918 private
space zones
May 20 23:18:24 c605 pdns_recursor[21341]: Listening for UDP queries on
127.0.0.1:53
May 20 23:18:24 c605 pdns_recursor[21341]: Enabled TCP data-ready filter
for (slight) DoS protection
May 20 23:18:24 c605 pdns_recursor[21341]: Listening for TCP queries on
127.0.0.1:53
May 20 23:18:24 c605 pdns_recursor[21341]: Calling daemonize, going to
background
May 20 23:18:24 c605 pdns_recursor[21342]: Set effective group id to 499
May 20 23:18:24 c605 pdns_recursor[21342]: Set effective user id to 498
May 20 23:18:24 c605 pdns_recursor[21342]: Launching 2 threads
May 20 23:18:24 c605 pdns_recursor[21342]: Done priming cache with root
hints
May 20 23:18:24 c605 pdns_recursor[21342]: Enabled 'epoll' multiplexer
May 20 23:18:24 c605 pdns_recursor[21342]: Done priming cache with root
hints
May 20 23:18:24 c605 pdns_recursor[21342]: Refreshed . records
*May 20 23:18:25 c605 kernel: pdns_recursor[21345]: segfault at ffff01d4
ip 080b1626 sp b6397890 error 4 in pdns_recursor[8048000+112000]*

[root at c605 ~]# ip a |grep inet |wc
   *4322*   25927  220579
[root at c605 ~]# /etc/init.d/pdns-recursor start
Starting pdns-recursor:                                    [  OK  ]  <--
starts OK
[root at c605 ~]# /etc/init.d/pdns-recursor stop
Stopping pdns-recursor:                                    [  OK  ]

Adding one more /24:

[root at c605 ~]# for j in `seq 1 254`; do ip a a 10.0.18.$j/16 dev eth0; done
[root at c605 ~]# /etc/init.d/pdns-recursor start
Starting pdns-recursor:                                    [  OK  ]
[root at c605 ~]# ip a |grep inet |wc
   *4576*   27451  233679

It says it starts, but it doesn't, just segfaults.

[root at c605 ~]# file /bin/bash
/bin/bash: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV),
dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped


On 05/20/2014 10:58 PM, James Baer wrote:
> Hi All - I'm experiencing an issue that I am unsure if it is a bug or
> just something I need to adjust on my systems to account for.
>
> I have 2 servers, both running pdns_recursor (3.5.3) on Centos 6.5,
> installed from epel repository. The recursor is only listening on
> localhost on each system.
>
> I am experiencing somewhat random crashes of the recursor with the
> following error:
>
> kernel: pdns_recursor[21993]: segfault at 200001fc8 ip
> 0000000000472780 sp 00007f3f9c03f690 error 4 in
> pdns_recursor[400000+111000]
>
> Both servers have a large number of ip addresses bound to them, in the
> range of 3-4k. I was able to replicate the segfaults on one of the
> servers by adding additional ip addresses. When I got to around 4k ip
> addresses the recursor simply would not even start, just segafulted
> right away. I was able to get it to start again, by removing some ip
> addresses, so i know it has something to do with how many addresses I
> have bound the server.
>
> Any body have an ideas what I can do to correct this problem? I really
> don't see a reason why the recursor would care how many ip addresses I
> have on a system.
>
> thank you
>
>
>
> _______________________________________________
> Pdns-users mailing list
> Pdns-users at mailman.powerdns.com
> http://mailman.powerdns.com/mailman/listinfo/pdns-users
>

-- 
Imre Gergely
http://havaz.net
gpg --keyserver subkeys.pgp.net --recv-keys 0x34525305

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.powerdns.com/pipermail/pdns-users/attachments/20140520/c5deeed9/attachment-0001.html>


More information about the Pdns-users mailing list