I committed a change to free up the config vars at module shutdown.  Doesn&#39;t fix your problem but should shut up valgrind for those allocations:<div><br></div><div><div>   3e600fb..ca9dfc3  master -&gt; master</div><div>
<div> .../applications/mod_nibblebill/mod_nibblebill.c   |   12 ++++++++++++</div><div> 1 files changed, 12 insertions(+), 0 deletions(-)</div></div><div><br></div><div><br></div><div>so if you update your git to at least version &quot;ca9dfc3&quot;  you&#39;ll have it.</div>
<br><div class="gmail_quote">On Mon, Apr 19, 2010 at 1:12 PM, Rupa Schomaker <span dir="ltr">&lt;<a href="mailto:rupa@rupa.com">rupa@rupa.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Those strdups are probably easily fixed.  But...  THey are just in the module load, not as part of the module runtime.  So it is a one-time leak not a per-call or per-nibble leak.<br><br><div class="gmail_quote">On Mon, Apr 19, 2010 at 12:48 PM, Sergey Okhapkin <span dir="ltr">&lt;<a href="mailto:sos@sokhapkin.dyndns.org">sos@sokhapkin.dyndns.org</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Few unimportant records only:<br>
<br>
==12476== 7 bytes in 1 blocks are still reachable in loss record 21 of 141<br>
<div class="im">==12476==    at 0x4026378: malloc (in /usr/lib/valgrind/x86-<br>
linux/vgpreload_memcheck.so)<br>
</div>==12476==    by 0x457B6CF: strdup (in /lib/<a href="http://libc-2.10.1.so" target="_blank">libc-2.10.1.so</a>)<br>
==12476==    by 0x7BECC00: mod_nibblebill_load (mod_nibblebill.c:132)<br>
<br>
==12476== 7 bytes in 1 blocks are still reachable in loss record 22 of 141<br>
<div class="im">==12476==    at 0x4026378: malloc (in /usr/lib/valgrind/x86-<br>
linux/vgpreload_memcheck.so)<br>
</div>==12476==    by 0x457B6CF: strdup (in /lib/<a href="http://libc-2.10.1.so" target="_blank">libc-2.10.1.so</a>)<br>
==12476==    by 0x7BECD14: mod_nibblebill_load (mod_nibblebill.c:134)<br>
<br>
==12476== 7 bytes in 1 blocks are still reachable in loss record 23 of 141<br>
<div class="im">==12476==    at 0x4026378: malloc (in /usr/lib/valgrind/x86-<br>
linux/vgpreload_memcheck.so)<br>
</div>==12476==    by 0x457B6CF: strdup (in /lib/<a href="http://libc-2.10.1.so" target="_blank">libc-2.10.1.so</a>)<br>
==12476==    by 0x7BECACC: mod_nibblebill_load (mod_nibblebill.c:128)<br>
<br>
==12476== 8 bytes in 1 blocks are still reachable in loss record 28 of 141<br>
<div class="im">==12476==    at 0x4026378: malloc (in /usr/lib/valgrind/x86-<br>
linux/vgpreload_memcheck.so)<br>
</div>==12476==    by 0x457B6CF: strdup (in /lib/<a href="http://libc-2.10.1.so" target="_blank">libc-2.10.1.so</a>)<br>
==12476==    by 0x7BEC9FB: mod_nibblebill_load (mod_nibblebill.c:127)<br>
<br>
==12476== 9 bytes in 1 blocks are still reachable in loss record 30 of 141<br>
<div class="im">==12476==    at 0x4026378: malloc (in /usr/lib/valgrind/x86-<br>
linux/vgpreload_memcheck.so)<br>
</div>==12476==    by 0x457B6CF: strdup (in /lib/<a href="http://libc-2.10.1.so" target="_blank">libc-2.10.1.so</a>)<br>
==12476==    by 0x7BECB19: mod_nibblebill_load (mod_nibblebill.c:129)<br>
<br>
==12476== 10 bytes in 1 blocks are still reachable in loss record 34 of 141<br>
<div class="im">==12476==    at 0x4026378: malloc (in /usr/lib/valgrind/x86-<br>
linux/vgpreload_memcheck.so)<br>
</div>==12476==    by 0x457B6CF: strdup (in /lib/<a href="http://libc-2.10.1.so" target="_blank">libc-2.10.1.so</a>)<br>
==12476==    by 0x7BECC8A: mod_nibblebill_load (mod_nibblebill.c:133)<br>
==12476==<br>
==12476==<br>
==12476== 10 bytes in 1 blocks are still reachable in loss record 35 of 141<br>
<div class="im">==12476==    at 0x4026378: malloc (in /usr/lib/valgrind/x86-<br>
linux/vgpreload_memcheck.so)<br>
</div>==12476==    by 0x457B6CF: strdup (in /lib/<a href="http://libc-2.10.1.so" target="_blank">libc-2.10.1.so</a>)<br>
==12476==    by 0x7BEC5D6: mod_nibblebill_load (mod_nibblebill.c:125)<br>
<br>
==12476== 14 bytes in 1 blocks are still reachable in loss record 45 of 141<br>
<div class="im">==12476==    at 0x4026378: malloc (in /usr/lib/valgrind/x86-<br>
linux/vgpreload_memcheck.so)<br>
</div>==12476==    by 0x457B6CF: strdup (in /lib/<a href="http://libc-2.10.1.so" target="_blank">libc-2.10.1.so</a>)<br>
==12476==    by 0x7BEC54D: mod_nibblebill_load (mod_nibblebill.c:124)<br>
<div><div></div><div class="h5"><br>
On Monday 19 April 2010, Anthony Minessale wrote:<br>
&gt; and did anything in the valgrind report even mention nibblebill?<br>
&gt; you only sent the tiny excerpt.<br>
&gt;<br>
&gt;<br>
&gt; On Mon, Apr 19, 2010 at 12:27 PM, Sergey Okhapkin<br>
&gt;<br>
&gt; &lt;<a href="mailto:sos@sokhapkin.dyndns.org">sos@sokhapkin.dyndns.org</a>&gt;wrote:<br>
&gt; &gt; Anyway it&#39;s offtopic already:-) The thread was about unbounded memory<br>
&gt; &gt; grows with enabled mod_nibblebill. On relatively busy server memory stays<br>
&gt; &gt; at about<br>
&gt; &gt; 100M RSS for weeks if mod_nibblebill is not used, but grows to 800M in<br>
&gt; &gt; one day<br>
&gt; &gt; if nibbling is enabled.<br>
&gt; &gt;<br>
&gt; &gt; On Monday 19 April 2010, Brian West wrote:<br>
&gt; &gt; &gt; That still doesn&#39;t mean the dialogs were properly cleared by the sip<br>
&gt; &gt;<br>
&gt; &gt; stack<br>
&gt; &gt;<br>
&gt; &gt; &gt;  before shutdown.  That is what anthony is getting at.  Valgrind does<br>
&gt; &gt;<br>
&gt; &gt; make<br>
&gt; &gt;<br>
&gt; &gt; &gt;  mistakes at times about what is leaking in cases like this.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; /b<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; On Apr 19, 2010, at 12:06 PM, Sergey Okhapkin wrote:<br>
&gt; &gt; &gt; &gt; Yes, I stopped the traffic to the server and issued hupall CLI<br>
&gt; &gt; &gt; &gt; command before shutting down FS.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; _______________________________________________<br>
&gt; &gt; &gt; FreeSWITCH-users mailing list<br>
&gt; &gt; &gt; <a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
&gt; &gt; &gt; <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
&gt; &gt; &gt; UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-user" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-user</a><br>
</div></div>&gt; &gt; &gt;s <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<div><div></div><div class="h5">&gt; &gt;<br>
&gt; &gt; _______________________________________________<br>
&gt; &gt; FreeSWITCH-users mailing list<br>
&gt; &gt; <a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
&gt; &gt; <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
&gt; &gt; UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
&gt; &gt; <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
&gt;<br>
<br>
<br>
_______________________________________________<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>-Rupa<br>
</blockquote></div><br><br clear="all"><br>-- <br>-Rupa<br>
</div>