[Pdns-users] [recursor] Segmentation fault at startup

Stephane Bortzmeyer bortzmeyer at nic.fr
Wed May 26 08:18:43 UTC 2010


On Wed, May 26, 2010 at 10:08:41AM +0200,
 bert hubert <bert.hubert at netherlabs.nl> wrote 
 a message of 33 lines which said:

> In fact, this is so little difference that I wonder if it really was
> compiled with -g, can you double check?

It was properly compiled but the Makefile contains a 'strip
$(DESTDIR)/$(SBINDIR)/pdns_recursor' :-( Debugging the non-installed
executable is better:

(gdb) run
Starting program: /home/stephane/Programmation/DNS/pdns-recursor-3.2/pdns_recursor 
May 26 10:13:45 PowerDNS recursor 3.2 (C) 2001-2010 PowerDNS.COM BV (May 26 2010, 09:23:52, gcc 4.1.3 20080704 prerelease (NetBSD nb2 20081120)) starting up
May 26 10:13:45 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 26 10:13:45 Operating in 32 bits mode
May 26 10:13:45 Reading random entropy from '/dev/urandom'

Program received signal SIGSEGV, Segmentation fault.
parseACLs () at pdns_recursor.cc:1508
1508      NetmaskGroup* oldAllowFrom = t_allowFrom, *allowFrom=new NetmaskGroup;
(gdb) bt
#0  parseACLs () at pdns_recursor.cc:1508
#1  0x080a84b0 in serviceMain (argc=1, argv=0xbfbfe9dc) at pdns_recursor.cc:1595
#2  0x080b2e04 in main (argc=1, argv=0xbfbfe9dc) at pdns_recursor.cc:1987
(gdb) 

OK, the ACL parsing is not robust enough. What is strange is that,
even without a configuration file (and therefore without ACL), it
crashes at the same place):

(gdb) run
Starting program: /home/stephane/Programmation/DNS/pdns-recursor-3.2/pdns_recursor 
May 26 10:14:30 Unable to parse configuration file '/etc/powerdns/recursor.conf'
May 26 10:14:30 PowerDNS recursor 3.2 (C) 2001-2010 PowerDNS.COM BV (May 26 2010, 09:23:52, gcc 4.1.3 20080704 prerelease (NetBSD nb2 20081120)) starting up
May 26 10:14:30 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 26 10:14:30 Operating in 32 bits mode
May 26 10:14:30 Reading random entropy from '/dev/urandom'

Program received signal SIGSEGV, Segmentation fault.
parseACLs () at pdns_recursor.cc:1508
1508      NetmaskGroup* oldAllowFrom = t_allowFrom, *allowFrom=new NetmaskGroup;
(gdb) bt
#0  parseACLs () at pdns_recursor.cc:1508
#1  0x080a84b0 in serviceMain (argc=1, argv=0xbfbfe9dc)
    at pdns_recursor.cc:1595
#2  0x080b2e04 in main (argc=1, argv=0xbfbfe9dc) at pdns_recursor.cc:1987
(gdb) 






More information about the Pdns-users mailing list