Below you will find the trace of a segmentation fault caused because
DNSBackend::getBeforeAndAfterNames is invoked with 'this' == -1. The bolded
line is cerr info I added in the getBeforeAndAfterNames method just before
it invokes getBeforeAndAfterNamesAbsolute, the -1 is  from "<< (long)this;"



calling getBeforeAndAfterNamesAbsolute -1
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x45007940 (LWP 20620)]
0x00000000004a8df5 in DNSBackend::getBeforeAndAfterNames(unsigned int,
std::basic_string<char, std::char_traits<char>, std::allocator<char> >
const&, std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&, std::basic_string<char, std::char_traits<char>,
std::allocator<char> >&, std::basic_string<char, std::char_traits<char>,
std::allocator<char> >&) ()
(gdb) backtrace
#0  0x00000000004a8df5 in DNSBackend::getBeforeAndAfterNames(unsigned int,
std::basic_string<char, std::char_traits<char>, std::allocator<char> >
const&, std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&, std::basic_string<char, std::char_traits<char>,
std::allocator<char> >&, std::basic_string<char, std::char_traits<char>,
std::allocator<char> >&) ()
#1  0x000000000047c574 in PacketHandler::synthesiseRRSIGs(DNSPacket*,
DNSPacket*) ()
#2  0x0000000000485eb7 in PacketHandler::questionOrRecurse(DNSPacket*,
bool*)
    ()
#3  0x0000000000488190 in PacketHandler::question(DNSPacket*) ()
#4  0x0000000000518c6e in Distributor<DNSPacket, DNSPacket,
PacketHandler>::makeThread(void*) ()
#5  0x0000003593e0673d in start_thread () from /lib64/libpthread.so.0
#6  0x00000035936d3f6d in clone () from /lib64/libc.so.6

I'm guessing something my backend is returning is causing pdns to not set
sd.db to a value other than -1 as it runs through synthesizeRRSIGs. My
backend does not currently support dnssec.
_______________________________________________
Pdns-dev mailing list
[email protected]
http://mailman.powerdns.com/mailman/listinfo/pdns-dev

Reply via email to