stream.data must be freed, in that case i think its being converted to char by assigning sql to point at it but it is still freed in the end, that type of mistake would be all over the place in valgrind. look for a pool that is being reused over and over and never destroyed. On Mon, Apr 19, 2010 at 1:25 PM, Sergey Okhapkin <sos@sokhapkin.dyndns.org>wrote:
Yes, I agree that these strdups can be ignored. I believe I found where the memory problem comes from, the beginning of bill_event function in mod_nubblebill has
SWITCH_STANDARD_STREAM(sql_stream);
But SWITCH_STANDARD_STREAM macro does malloc! I do not see a place in the function where the memory is freed. Am I right?
#define SWITCH_STANDARD_STREAM(s) memset(&s, 0, sizeof(s)); s.data = malloc(SWITCH_CMD_CHUNK_LEN); \
switch_assert(s.data); \
memset(s.data, 0, SWITCH_CMD_CHUNK_LEN); \
s.end = s.data; \
s.data_size = SWITCH_CMD_CHUNK_LEN; \
s.write_function = switch_console_stream_write; \
s.raw_write_function = switch_console_stream_raw_write; \
s.alloc_len = SWITCH_CMD_CHUNK_LEN; \
s.alloc_chunk = SWITCH_CMD_CHUNK_LEN
On Monday 19 April 2010, Rupa Schomaker wrote:
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.
On Mon, Apr 19, 2010 at 12:48 PM, Sergey Okhapkin
<sos@sokhapkin.dyndns.org>wrote:
Few unimportant records only:
==12476== 7 bytes in 1 blocks are still reachable in loss record 21 of
141 ==12476== at 0x4026378: malloc (in /usr/lib/valgrind/x86-
linux/vgpreload_memcheck.so)
==12476== by 0x457B6CF: strdup (in /lib/libc-2.10.1.so)
==12476== by 0x7BECC00: mod_nibblebill_load (mod_nibblebill.c:132)
==12476== 7 bytes in 1 blocks are still reachable in loss record 22 of
141 ==12476== at 0x4026378: malloc (in /usr/lib/valgrind/x86-
linux/vgpreload_memcheck.so)
==12476== by 0x457B6CF: strdup (in /lib/libc-2.10.1.so)
==12476== by 0x7BECD14: mod_nibblebill_load (mod_nibblebill.c:134)
==12476== 7 bytes in 1 blocks are still reachable in loss record 23 of
141 ==12476== at 0x4026378: malloc (in /usr/lib/valgrind/x86-
linux/vgpreload_memcheck.so)
==12476== by 0x457B6CF: strdup (in /lib/libc-2.10.1.so)
==12476== by 0x7BECACC: mod_nibblebill_load (mod_nibblebill.c:128)
==12476== 8 bytes in 1 blocks are still reachable in loss record 28 of
141 ==12476== at 0x4026378: malloc (in /usr/lib/valgrind/x86-
linux/vgpreload_memcheck.so)
==12476== by 0x457B6CF: strdup (in /lib/libc-2.10.1.so)
==12476== by 0x7BEC9FB: mod_nibblebill_load (mod_nibblebill.c:127)
==12476== 9 bytes in 1 blocks are still reachable in loss record 30 of
141 ==12476== at 0x4026378: malloc (in /usr/lib/valgrind/x86-
linux/vgpreload_memcheck.so)
==12476== by 0x457B6CF: strdup (in /lib/libc-2.10.1.so)
==12476== by 0x7BECB19: mod_nibblebill_load (mod_nibblebill.c:129)
==12476== 10 bytes in 1 blocks are still reachable in loss record 34 of
141 ==12476== at 0x4026378: malloc (in /usr/lib/valgrind/x86-
linux/vgpreload_memcheck.so)
==12476== by 0x457B6CF: strdup (in /lib/libc-2.10.1.so)
==12476== by 0x7BECC8A: mod_nibblebill_load (mod_nibblebill.c:133)
==12476==
==12476==
==12476== 10 bytes in 1 blocks are still reachable in loss record 35 of
141 ==12476== at 0x4026378: malloc (in /usr/lib/valgrind/x86-
linux/vgpreload_memcheck.so)
==12476== by 0x457B6CF: strdup (in /lib/libc-2.10.1.so)
==12476== by 0x7BEC5D6: mod_nibblebill_load (mod_nibblebill.c:125)
==12476== 14 bytes in 1 blocks are still reachable in loss record 45 of
141 ==12476== at 0x4026378: malloc (in /usr/lib/valgrind/x86-
linux/vgpreload_memcheck.so)
==12476== by 0x457B6CF: strdup (in /lib/libc-2.10.1.so)
==12476== by 0x7BEC54D: mod_nibblebill_load (mod_nibblebill.c:124)
On Monday 19 April 2010, Anthony Minessale wrote:
and did anything in the valgrind report even mention nibblebill?
you only sent the tiny excerpt.
On Mon, Apr 19, 2010 at 12:27 PM, Sergey Okhapkin
<sos@sokhapkin.dyndns.org>wrote:
Anyway it's offtopic already:-) The thread was about unbounded memory
grows with enabled mod_nibblebill. On relatively busy server memory
stays
at about
100M RSS for weeks if mod_nibblebill is not used, but grows to 800M
in one day
if nibbling is enabled.
On Monday 19 April 2010, Brian West wrote:
That still doesn't mean the dialogs were properly cleared by the
sip
stack
before shutdown. That is what anthony is getting at. Valgrind
does
make
mistakes at times about what is leaking in cases like this.
/b
On Apr 19, 2010, at 12:06 PM, Sergey Okhapkin wrote:
> Yes, I stopped the traffic to the server and issued hupall CLI
> command before shutting down FS.
_______________________________________________
FreeSWITCH-users mailing list
FreeSWITCH-users@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:
_______________________________________________
FreeSWITCH-users mailing list
FreeSWITCH-users@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:
http://lists.freeswitch.org/mailman/options/freeswitch-users
_______________________________________________
FreeSWITCH-users mailing list
FreeSWITCH-users@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE: http://lists.freeswitch.org/mailman/options/freeswitch-users
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:+19193869900