<blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"></blockquote><div><br></div>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 "<font class="Apple-style-span" face="'courier new', monospace"><< (long)this;</font><meta charset="utf-8">"<br>
<blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><br></div><div><br></div><div><font class="Apple-style-span" face="'courier new', monospace">calling getBeforeAndAfterNamesAbsolute -1</font></div>
<div><font class="Apple-style-span" face="'courier new', monospace">Program received signal SIGSEGV, Segmentation fault.</font></div><div><font class="Apple-style-span" face="'courier new', monospace">[Switching to Thread 0x45007940 (LWP 20620)]</font></div>
<div><font class="Apple-style-span" face="'courier new', monospace">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> >&) ()</font></div>
<div><font class="Apple-style-span" face="'courier new', monospace">(gdb) backtrace</font></div><div><font class="Apple-style-span" face="'courier new', monospace">#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> >&) ()</font></div>
<div><font class="Apple-style-span" face="'courier new', monospace">#1 0x000000000047c574 in PacketHandler::synthesiseRRSIGs(DNSPacket*, DNSPacket*) ()</font></div><div><font class="Apple-style-span" face="'courier new', monospace">#2 0x0000000000485eb7 in PacketHandler::questionOrRecurse(DNSPacket*, bool*)</font></div>
<div><font class="Apple-style-span" face="'courier new', monospace"> ()</font></div><div><font class="Apple-style-span" face="'courier new', monospace">#3 0x0000000000488190 in PacketHandler::question(DNSPacket*) ()</font></div>
<div><font class="Apple-style-span" face="'courier new', monospace">#4 0x0000000000518c6e in Distributor<DNSPacket, DNSPacket, PacketHandler>::makeThread(void*) ()</font></div><div><font class="Apple-style-span" face="'courier new', monospace">#5 0x0000003593e0673d in start_thread () from /lib64/libpthread.so.0</font></div>
<div><font class="Apple-style-span" face="'courier new', monospace">#6 0x00000035936d3f6d in clone () from /lib64/libc.so.6</font></div><div><font class="Apple-style-span" face="'courier new', monospace"><br>
</font></div></blockquote>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.<div>
<br></div><div><br>
<div><br></div><div><br></div></div>