I committed a change to free up the config vars at module shutdown. Doesn't fix your problem but should shut up valgrind for those allocations:<div><br></div><div><div> 3e600fb..ca9dfc3 master -> 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 "ca9dfc3" you'll have it.</div>
<br><div class="gmail_quote">On Mon, Apr 19, 2010 at 1:12 PM, Rupa Schomaker <span dir="ltr"><<a href="mailto:rupa@rupa.com">rupa@rupa.com</a>></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"><<a href="mailto:sos@sokhapkin.dyndns.org">sos@sokhapkin.dyndns.org</a>></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>
> and did anything in the valgrind report even mention nibblebill?<br>
> you only sent the tiny excerpt.<br>
><br>
><br>
> On Mon, Apr 19, 2010 at 12:27 PM, Sergey Okhapkin<br>
><br>
> <<a href="mailto:sos@sokhapkin.dyndns.org">sos@sokhapkin.dyndns.org</a>>wrote:<br>
> > Anyway it's offtopic already:-) The thread was about unbounded memory<br>
> > grows with enabled mod_nibblebill. On relatively busy server memory stays<br>
> > at about<br>
> > 100M RSS for weeks if mod_nibblebill is not used, but grows to 800M in<br>
> > one day<br>
> > if nibbling is enabled.<br>
> ><br>
> > On Monday 19 April 2010, Brian West wrote:<br>
> > > That still doesn't mean the dialogs were properly cleared by the sip<br>
> ><br>
> > stack<br>
> ><br>
> > > before shutdown. That is what anthony is getting at. Valgrind does<br>
> ><br>
> > make<br>
> ><br>
> > > mistakes at times about what is leaking in cases like this.<br>
> > ><br>
> > > /b<br>
> > ><br>
> > > On Apr 19, 2010, at 12:06 PM, Sergey Okhapkin wrote:<br>
> > > > Yes, I stopped the traffic to the server and issued hupall CLI<br>
> > > > command before shutting down FS.<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-user" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-user</a><br>
</div></div>> > >s <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<div><div></div><div class="h5">> ><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>
><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>