Sergey:<br><br>Which version of nibbliebill are you using. We are having memory leak issue as well with freeswitch 1.0.4 , but I haven't try to disable nibblebill in our test, I will do that now. But since we are already doing what you say about "<param name="global_heartbeat"<br>
value="off"/> in nibblebill.conf.xml and execute "nibblebill
heartbeat 60" in<br>
dialplan." in our current environment, and still getting memory leak, I am wondering if you are using nibblebill that comes with the freeswitch 1.0.6 version.<br><br>Thanks,<br><br><span style="color: black;"><div dir="ltr">
<div></div><br></div></span><br><div class="gmail_quote">On Mon, May 10, 2010 at 1:12 AM, 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: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Looks like I found a work around. I set <param name="global_heartbeat"<br>
value="off"/> in nibblebill.conf.xml and execute "nibblebill heartbeat 60" in<br>
dialplan. No more unbounded memory growth. As soon as I set global_heartbeat,<br>
memory starts grow again. Go figure...<br>
<div><div></div><div class="h5"><br>
On Monday 19 April 2010, Sergey Okhapkin wrote:<br>
> It would be the problem if custom_sql_* is set in nibblebill configuration,<br>
> but it's not my case, I do not use custom sql. I'm looking at the code<br>
> more....<br>
><br>
> On Monday 19 April 2010, Brian West wrote:<br>
> > No this isn't the problem it would show up on valgrind like crazy.<br>
> ><br>
> > /b<br>
> ><br>
> > On Apr 19, 2010, at 1:25 PM, Sergey Okhapkin wrote:<br>
> > > Yes, I agree that these strdups can be ignored. I believe I found where<br>
> > > the memory problem comes from, the beginning of bill_event function in<br>
> > > mod_nubblebill has SWITCH_STANDARD_STREAM(sql_stream);<br>
> > > But SWITCH_STANDARD_STREAM macro does malloc! I do not see a place in<br>
> > > the function where the memory is freed. Am I right? #define<br>
> > > SWITCH_STANDARD_STREAM(s) memset(&s, 0, sizeof(s)); s.data =<br>
> > > malloc(SWITCH_CMD_CHUNK_LEN); \ switch_assert(s.data);<br>
> > > \<br>
> > > memset(s.data, 0, SWITCH_CMD_CHUNK_LEN);<br>
> > > \ s.end = s.data;<br>
> > > \<br>
> > > s.data_size = SWITCH_CMD_CHUNK_LEN;<br>
> > > \ s.write_function =<br>
> > > switch_console_stream_write; \<br>
> > > s.raw_write_function = switch_console_stream_raw_write;<br>
> > > \ s.alloc_len = SWITCH_CMD_CHUNK_LEN;<br>
> > > \ s.alloc_chunk =<br>
> > > SWITCH_CMD_CHUNK_LEN<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>
><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>Henry Huang<br>VoIP & Open Source software Consultant<br>