<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 &#39;this&#39; == -1. The bolded line is cerr info I added in the getBeforeAndAfterNames method just before it invokes getBeforeAndAfterNamesAbsolute, the -1 is  from &quot;<font class="Apple-style-span" face="&#39;courier new&#39;, monospace">&lt;&lt; (long)this;</font><meta charset="utf-8">&quot;<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="&#39;courier new&#39;, monospace">calling getBeforeAndAfterNamesAbsolute -1</font></div>

<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">Program received signal SIGSEGV, Segmentation fault.</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">[Switching to Thread 0x45007940 (LWP 20620)]</font></div>

<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">0x00000000004a8df5 in DNSBackend::getBeforeAndAfterNames(unsigned int, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;&amp;, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;&amp;) ()</font></div>

<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">(gdb) backtrace</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">#0  0x00000000004a8df5 in DNSBackend::getBeforeAndAfterNames(unsigned int, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;&amp;, std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;&amp;) ()</font></div>

<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">#1  0x000000000047c574 in PacketHandler::synthesiseRRSIGs(DNSPacket*, DNSPacket*) ()</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">#2  0x0000000000485eb7 in PacketHandler::questionOrRecurse(DNSPacket*, bool*)</font></div>

<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">    ()</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">#3  0x0000000000488190 in PacketHandler::question(DNSPacket*) ()</font></div>

<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">#4  0x0000000000518c6e in Distributor&lt;DNSPacket, DNSPacket, PacketHandler&gt;::makeThread(void*) ()</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">#5  0x0000003593e0673d in start_thread () from /lib64/libpthread.so.0</font></div>

<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">#6  0x00000035936d3f6d in clone () from /lib64/libc.so.6</font></div><div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><br>

</font></div></blockquote>I&#39;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>