> Sent: Thursday, July 31, 2008 3:45 PM
> To:
freeswitch-users@lists.freeswitch.org
> Subject: Re: [Freeswitch-users] Memory Leaks
>
> Can you detail the exact callflow, config files and testing methods
> you used to produce this issue? I suspect that this may be a real
> issue but we ran sipp testing 2 days ago so your scenario must be
> hitting an edge case we were not seeing. That being said we have made
> no efforts to get freeswitch to run in so little memory, in fact we
> have quite a few things we allocate at switch start that could very
> well ammount to over 128mb even without calls. You will likely not
> get it to work reliably with so little memory without some significant
> modifications.
>
> Mike
>
> On Jul 31, 2008, at 12:07 AM, "Sangwoo Jin" <
swjinjin@volans.kr> wrote:
>
> > I want to run freeswitch on low memory machine with 128M ram and no
> > swap
> > partition.
> > On testing freeswitch on it, I have always seen the out of memory
> > error.
> > Could I control the memory pools?
> >
> >> -----Original Message-----
> >> From:
freeswitch-users-bounces@lists.freeswitch.org [mailto:
freeswitch-
> >>
users-bounces@lists.freeswitch.org] On Behalf Of Brian West
> >> Sent: Thursday, July 31, 2008 11:38 AM
> >> To:
freeswitch-users@lists.freeswitch.org
> >> Subject: Re: [Freeswitch-users] Memory Leaks
> >>
> >> Try running 500,000 calls at 100-200 cps with a duration of 1 second.
> >> You'll always see something about lost memory on shut down and you
> >> can't fully trust that output due to the usage of memory pools.
> >> You'll see a running FreeSWITCH hit a high water mark and level off
> >> on
> >> memory usage. I suspect that if you do this test with that many
> >> calls
> >> you'll see the same usage at some point or it will be more
> >> pronounced. 100 or 1000 calls isn't enough to really tell what is
> >> going on.
> >>
> >> /b
> >>
> >> On Jul 30, 2008, at 9:25 PM, Sangwoo Jin wrote:
> >>
> >>>
> >>> I can't use JIRA because I'm waiting for confirmation of creating
> >>> account.
> >>>
> >>> Now, I tested again with the current svn trunk.
> >>> The lost memory of 1000 calls is 10 times more than 100 calls.
> >>>
> >>> The following logs are my filtered valgrind's output.
> >>> I have removed the lost blocks log which may not have to be free.
> >>>
> >>> Could you check this problem?
> >>> Sangwoo Jin
> >>>
> >>> =
> >>> =
> >>> =
> >>> =
> >>> =
> >>> =
> >>> ===
> >>> ===================================================================
> >>> 100 calls' log
> >>> =
> >>> =
> >>> =
> >>> =
> >>> =
> >>> =
> >>> ===
> >>> ===================================================================
> >>> ==29384== 284 bytes in 1 blocks are still reachable in loss record
> >>> 25 of 60
> >>> ==29384== at 0x4021C2E: calloc (vg_replace_malloc.c:397)
> >>> ==29384== by 0x7D98B43: su_hash_alloc (su_alloc.c:390)
> >>> ==29384== by 0x7D98CDE: su_home_new (su_alloc.c:562)
> >>> ==29384== by 0x7D06390: msg_create (msg.c:61)
> >>> ==29384== by 0x7D2490A: nta_msg_create (nta.c:2831)
> >>> ==29384== by 0x7D4336A: nua_client_request_template (nua_stack.c:
> >>> 2361)
> >>> ==29384== by 0x7D42C8E: nua_client_init_request (nua_stack.c:
> >>> 2223)
> >>> ==29384== by 0x7D4256D: nua_client_create (nua_stack.c:2043)
> >>> ==29384== by 0x7D55125: nua_stack_invite (nua_session.c:701)
> >>> ==29384== by 0x7D3EA92: nua_stack_signal (nua_stack.c:592)
> >>> ==29384== by 0x7DA2FA9: su_base_port_execute_msgs
> >>> (su_base_port.c:
> >>> 276)
> >>> ==29384== by 0x7DA2D50: su_base_port_getmsgs (su_base_port.c:198)
> >>> ==29384==
> >>> ==29384==
> >>>
> >>> ==29384==
> >>> ==29384== 504 bytes in 1 blocks are possibly lost in loss record 30
> >>> of 60
> >>> ==29384== at 0x4021C2E: calloc (vg_replace_malloc.c:397)
> >>> ==29384== by 0x7D98CC1: su_home_new (su_alloc.c:559)
> >>> ==29384== by 0x7D06390: msg_create (msg.c:61)
> >>> ==29384== by 0x7D2490A: nta_msg_create (nta.c:2831)
> >>> ==29384== by 0x7D4336A: nua_client_request_template (nua_stack.c:
> >>> 2361)
> >>> ==29384== by 0x7D42C8E: nua_client_init_request (nua_stack.c:
> >>> 2223)
> >>> ==29384== by 0x7D4256D: nua_client_create (nua_stack.c:2043)
> >>> ==29384== by 0x7D55125: nua_stack_invite (nua_session.c:701)
> >>> ==29384== by 0x7D3EA92: nua_stack_signal (nua_stack.c:592)
> >>> ==29384== by 0x7DA2FA9: su_base_port_execute_msgs
> >>> (su_base_port.c:
> >>> 276)
> >>> ==29384== by 0x7DA2D50: su_base_port_getmsgs (su_base_port.c:198)
> >>> ==29384== by 0x7DA3084: su_base_port_run (su_base_port.c:331)
> >>> ==29384==
> >>> ==29384==
> >>> ==29384== 671 bytes in 8 blocks are possibly lost in loss record 32
> >>> of 60
> >>> ==29384== at 0x4022B08: malloc (vg_replace_malloc.c:207)
> >>> ==29384== by 0x7D989A2: sub_alloc (su_alloc.c:490)
> >>> ==29384== by 0x7D9929E: su_alloc (su_alloc.c:771)
> >>> ==29384== by 0x7D04E15: msg_header_alloc (msg_parser.c:2309)
> >>> ==29384== by 0x7D0273D: header_parse (msg_parser.c:1114)
> >>> ==29384== by 0x7D025E3: extract_header (msg_parser.c:1071)
> >>> ==29384== by 0x7D02315: msg_extract_header (msg_parser.c:1008)
> >>> ==29384== by 0x7D05BD2: msg_header_parse_str (msg_parser.c:2801)
> >>> ==29384== by 0x7D05B1E: msg_header_add_str (msg_parser.c:2764)
> >>> ==29384== by 0x7D7B534: sip_add_tagis (sip_tag_class.c:260)
> >>> ==29384== by 0x7D42EB4: nua_client_init_request (nua_stack.c:
> >>> 2278)
> >>> ==29384== by 0x7D4256D: nua_client_create (nua_stack.c:2043)
> >>> ==29384==
> >>> ==29384==
> >>> ==29384== 1,072 bytes in 2 blocks are possibly lost in loss record
> >>> 37 of 60
> >>> ==29384== at 0x4021C2E: calloc (vg_replace_malloc.c:397)
> >>> ==29384== by 0x7D9ABB4: su_zalloc (su_alloc.c:1437)
> >>> ==29384== by 0x7DA0A84: su_msg_new (su_root.c:901)
> >>> ==29384== by 0x7D3E4CB: nua_signal (nua_stack.c:495)
> >>> ==29384== by 0x7D46FF7: nua_invite (nua.c:633)
> >>> ==29384== by 0x7CEB0DE: sofia_glue_do_invite (sofia_glue.c:1305)
> >>> ==29384== by 0x7CCA773: sofia_on_init (mod_sofia.c:99)
> >>> ==29384== by 0x40A630D: switch_core_session_run
> >>> (switch_core_state_machine.c:415)
> >>> ==29384== by 0x40A52F4: switch_core_session_thread
> >>> (switch_core_session.c:787)
> >>> ==29384== by 0x40FC695: dummy_worker (thread.c:138)
> >>> ==29384== by 0x41EB191: start_thread (in /lib/
> >>>
libpthread-2.6.1.so)
> >>> ==29384== by 0x42F502D: clone (in /lib/
libc-2.6.1.so)
> >>> ==29384==
> >>> ==29384==
> >>> ==29384== 1,295 bytes in 21 blocks are still reachable in loss
> >>> record 38 of
> >>> 60
> >>> ==29384== at 0x4022B08: malloc (vg_replace_malloc.c:207)
> >>> ==29384== by 0x7D989A2: sub_alloc (su_alloc.c:490)
> >>> ==29384== by 0x7D9929E: su_alloc (su_alloc.c:771)
> >>> ==29384== by 0x7D04E15: msg_header_alloc (msg_parser.c:2309)
> >>> ==29384== by 0x7D11E7A: msg_header_make (msg_header_make.c:86)
> >>> ==29384== by 0x7D05A73: msg_header_add_make (msg_parser.c:2729)
> >>> ==29384== by 0x7D7B503: sip_add_tagis (sip_tag_class.c:256)
> >>> ==29384== by 0x7D433D8: nua_client_request_template (nua_stack.c:
> >>> 2377)
> >>> ==29384== by 0x7D42C8E: nua_client_init_request (nua_stack.c:
> >>> 2223)
> >>> ==29384== by 0x7D4256D: nua_client_create (nua_stack.c:2043)
> >>> ==29384== by 0x7D55125: nua_stack_invite (nua_session.c:701)
> >>> ==29384== by 0x7D3EA92: nua_stack_signal (nua_stack.c:592)
> >>> ==29384==
> >>> ==29384==
> >>> ==29384== 28,116 bytes in 99 blocks are indirectly lost in loss
> >>> record 55 of
> >>> 60
> >>> ==29384== at 0x4021C2E: calloc (vg_replace_malloc.c:397)
> >>> ==29384== by 0x7D98B43: su_hash_alloc (su_alloc.c:390)
> >>> ==29384== by 0x7D98CDE: su_home_new (su_alloc.c:562)
> >>> ==29384== by 0x7D06390: msg_create (msg.c:61)
> >>> ==29384== by 0x7D2490A: nta_msg_create (nta.c:2831)
> >>> ==29384== by 0x7D4336A: nua_client_request_template (nua_stack.c:
> >>> 2361)
> >>> ==29384== by 0x7D42C8E: nua_client_init_request (nua_stack.c:
> >>> 2223)
> >>> ==29384== by 0x7D4256D: nua_client_create (nua_stack.c:2043)
> >>> ==29384== by 0x7D55125: nua_stack_invite (nua_session.c:701)
> >>> ==29384== by 0x7D3EA92: nua_stack_signal (nua_stack.c:592)
> >>> ==29384== by 0x7DA2FA9: su_base_port_execute_msgs
> >>> (su_base_port.c:
> >>> 276)
> >>> ==29384== by 0x7DA2D50: su_base_port_getmsgs (su_base_port.c:198)
> >>> ==29384==
> >>> ==29384==
> >>> ==29384== 52,528 bytes in 98 blocks are definitely lost in loss
> >>> record 56 of
> >>> 60
> >>> ==29384== at 0x4021C2E: calloc (vg_replace_malloc.c:397)
> >>> ==29384== by 0x7D9ABB4: su_zalloc (su_alloc.c:1437)
> >>> ==29384== by 0x7DA0A84: su_msg_new (su_root.c:901)
> >>> ==29384== by 0x7D3E4CB: nua_signal (nua_stack.c:495)
> >>> ==29384== by 0x7D46FF7: nua_invite (nua.c:633)
> >>> ==29384== by 0x7CEB0DE: sofia_glue_do_invite (sofia_glue.c:1305)
> >>> ==29384== by 0x7CCA773: sofia_on_init (mod_sofia.c:99)
> >>> ==29384== by 0x40A630D: switch_core_session_run
> >>> (switch_core_state_machine.c:415)
> >>> ==29384== by 0x40A52F4: switch_core_session_thread
> >>> (switch_core_session.c:787)
> >>> ==29384== by 0x40FC695: dummy_worker (thread.c:138)
> >>> ==29384== by 0x41EB191: start_thread (in /lib/
> >>>
libpthread-2.6.1.so)
> >>> ==29384== by 0x42F502D: clone (in /lib/
libc-2.6.1.so)
> >>> ==29384==
> >>> ==29384==
> >>> ==29384== 57,034 bytes in 871 blocks are indirectly lost in loss
> >>> record 57
> >>> of 60
> >>> ==29384== at 0x4022B08: malloc (vg_replace_malloc.c:207)
> >>> ==29384== by 0x7D989A2: sub_alloc (su_alloc.c:490)
> >>> ==29384== by 0x7D9929E: su_alloc (su_alloc.c:771)
> >>> ==29384== by 0x7D04E15: msg_header_alloc (msg_parser.c:2309)
> >>> ==29384== by 0x7D11E7A: msg_header_make (msg_header_make.c:86)
> >>> ==29384== by 0x7D05A73: msg_header_add_make (msg_parser.c:2729)
> >>> ==29384== by 0x7D7B503: sip_add_tagis (sip_tag_class.c:256)
> >>> ==29384== by 0x7D42EB4: nua_client_init_request (nua_stack.c:
> >>> 2278)
> >>> ==29384== by 0x7D4256D: nua_client_create (nua_stack.c:2043)
> >>> ==29384== by 0x7D55125: nua_stack_invite (nua_session.c:701)
> >>> ==29384== by 0x7D3EA92: nua_stack_signal (nua_stack.c:592)
> >>> ==29384== by 0x7DA2FA9: su_base_port_execute_msgs
> >>> (su_base_port.c:
> >>> 276)
> >>> ==29384==
> >>> ==29384==
> >>> ==29384== 135,046 (49,896 direct, 85,150 indirect) bytes in 99
> >>> blocks are
> >>> definitely lost in loss record 58 of 60
> >>> ==29384== at 0x4021C2E: calloc (vg_replace_malloc.c:397)
> >>> ==29384== by 0x7D98CC1: su_home_new (su_alloc.c:559)
> >>> ==29384== by 0x7D06390: msg_create (msg.c:61)
> >>> ==29384== by 0x7D2490A: nta_msg_create (nta.c:2831)
> >>> ==29384== by 0x7D4336A: nua_client_request_template (nua_stack.c:
> >>> 2361)
> >>> ==29384== by 0x7D42C8E: nua_client_init_request (nua_stack.c:
> >>> 2223)
> >>> ==29384== by 0x7D4256D: nua_client_create (nua_stack.c:2043)
> >>> ==29384== by 0x7D55125: nua_stack_invite (nua_session.c:701)
> >>> ==29384== by 0x7D3EA92: nua_stack_signal (nua_stack.c:592)
> >>> ==29384== by 0x7DA2FA9: su_base_port_execute_msgs
> >>> (su_base_port.c:
> >>> 276)
> >>> ==29384== by 0x7DA2D50: su_base_port_getmsgs (su_base_port.c:198)
> >>> ==29384== by 0x7DA3084: su_base_port_run (su_base_port.c:331)
> >>> ==29384==
> >>> ==29384== LEAK SUMMARY:
> >>> ==29384== definitely lost: 108,035 bytes in 303 blocks.
> >>> ==29384== indirectly lost: 85,177 bytes in 972 blocks.
> >>> ==29384== possibly lost: 2,535 bytes in 13 blocks.
> >>> ==29384== still reachable: 16,325,250 bytes in 524 blocks.
> >>> ==29384== suppressed: 0 bytes in 0 blocks.
> >>>
> >>> =
> >>> =
> >>> =
> >>> =
> >>> =
> >>> =
> >>> ===
> >>> ===================================================================
> >>> 1000 calls' log
> >>> =
> >>> =
> >>> =
> >>> =
> >>> =
> >>> =
> >>> ===
> >>> ===================================================================
> >>> ==29612==
> >>> ==29612== 3,024 bytes in 6 blocks are still reachable in loss record
> >>> 39 of
> >>> 64
> >>> ==29612== at 0x4021C2E: calloc (vg_replace_malloc.c:397)
> >>> ==29612== by 0x7D98CC1: su_home_new (su_alloc.c:559)
> >>> ==29612== by 0x7D06390: msg_create (msg.c:61)
> >>> ==29612== by 0x7D2490A: nta_msg_create (nta.c:2831)
> >>> ==29612== by 0x7D4336A: nua_client_request_template (nua_stack.c:
> >>> 2361)
> >>> ==29612== by 0x7D42C8E: nua_client_init_request (nua_stack.c:
> >>> 2223)
> >>> ==29612== by 0x7D4256D: nua_client_create (nua_stack.c:2043)
> >>> ==29612== by 0x7D55125: nua_stack_invite (nua_session.c:701)
> >>> ==29612== by 0x7D3EA92: nua_stack_signal (nua_stack.c:592)
> >>> ==29612== by 0x7DA2FA9: su_base_port_execute_msgs
> >>> (su_base_port.c:
> >>> 276)
> >>> ==29612== by 0x7DA2D50: su_base_port_getmsgs (su_base_port.c:198)
> >>> ==29612== by 0x7DA3084: su_base_port_run (su_base_port.c:331)
> >>> ==29612==
> >>> ==29612==
> >>> ==29612== 3,692 bytes in 13 blocks are possibly lost in loss record
> >>> 43 of 64
> >>> ==29612== at 0x4021C2E: calloc (vg_replace_malloc.c:397)
> >>> ==29612== by 0x7D98B43: su_hash_alloc (su_alloc.c:390)
> >>> ==29612== by 0x7D98CDE: su_home_new (su_alloc.c:562)
> >>> ==29612== by 0x7D06390: msg_create (msg.c:61)
> >>> ==29612== by 0x7D2490A: nta_msg_create (nta.c:2831)
> >>> ==29612== by 0x7D4336A: nua_client_request_template (nua_stack.c:
> >>> 2361)
> >>> ==29612== by 0x7D42C8E: nua_client_init_request (nua_stack.c:
> >>> 2223)
> >>> ==29612== by 0x7D4256D: nua_client_create (nua_stack.c:2043)
> >>> ==29612== by 0x7D55125: nua_stack_invite (nua_session.c:701)
> >>> ==29612== by 0x7D3EA92: nua_stack_signal (nua_stack.c:592)
> >>> ==29612== by 0x7DA2FA9: su_base_port_execute_msgs
> >>> (su_base_port.c:
> >>> 276)
> >>> ==29612== by 0x7DA2D50: su_base_port_getmsgs (su_base_port.c:198)
> >>> ==29612==
> >>> ==29612==
> >>> ==29612== 4,322 bytes in 55 blocks are possibly lost in loss record
> >>> 47 of 64
> >>> ==29612== at 0x4022B08: malloc (vg_replace_malloc.c:207)
> >>> ==29612== by 0x7D989A2: sub_alloc (su_alloc.c:490)
> >>> ==29612== by 0x7D9929E: su_alloc (su_alloc.c:771)
> >>> ==29612== by 0x7D9CAA2: su_strdup (su_strdup.c:55)
> >>> ==29612== by 0x7D05AF3: msg_header_add_str (msg_parser.c:2759)
> >>> ==29612== by 0x7D7B534: sip_add_tagis (sip_tag_class.c:260)
> >>> ==29612== by 0x7D42EB4: nua_client_init_request (nua_stack.c:
> >>> 2278)
> >>> ==29612== by 0x7D4256D: nua_client_create (nua_stack.c:2043)
> >>> ==29612== by 0x7D55125: nua_stack_invite (nua_session.c:701)
> >>> ==29612== by 0x7D3EA92: nua_stack_signal (nua_stack.c:592)
> >>> ==29612== by 0x7DA2FA9: su_base_port_execute_msgs
> >>> (su_base_port.c:
> >>> 276)
> >>> ==29612== by 0x7DA2D50: su_base_port_getmsgs (su_base_port.c:198)
> >>> ==29612==
> >>> ==29612==
> >>> ==29612== 5,360 bytes in 10 blocks are still reachable in loss
> >>> record 49 of
> >>> 64
> >>> ==29612== at 0x4021C2E: calloc (vg_replace_malloc.c:397)
> >>> ==29612== by 0x7D9ABB4: su_zalloc (su_alloc.c:1437)
> >>> ==29612== by 0x7DA0A84: su_msg_new (su_root.c:901)
> >>> ==29612== by 0x7D3E4CB: nua_signal (nua_stack.c:495)
> >>> ==29612== by 0x7D46FF7: nua_invite (nua.c:633)
> >>> ==29612== by 0x7CEB0DE: sofia_glue_do_invite (sofia_glue.c:1305)
> >>> ==29612== by 0x7CCA773: sofia_on_init (mod_sofia.c:99)
> >>> ==29612== by 0x40A630D: switch_core_session_run
> >>> (switch_core_state_machine.c:415)
> >>> ==29612== by 0x40A52F4: switch_core_session_thread
> >>> (switch_core_session.c:787)
> >>> ==29612== by 0x40FC695: dummy_worker (thread.c:138)
> >>> ==29612== by 0x41EB191: start_thread (in /lib/
> >>>
libpthread-2.6.1.so)
> >>> ==29612== by 0x42F502D: clone (in /lib/
libc-2.6.1.so)
> >>> ==29612==
> >>> ==29612==
> >>> ==29612== 5,360 bytes in 10 blocks are possibly lost in loss record
> >>> 50 of 64
> >>> ==29612== at 0x4021C2E: calloc (vg_replace_malloc.c:397)
> >>> ==29612== by 0x7D9ABB4: su_zalloc (su_alloc.c:1437)
> >>> ==29612== by 0x7DA0A84: su_msg_new (su_root.c:901)
> >>> ==29612== by 0x7D3E4CB: nua_signal (nua_stack.c:495)
> >>> ==29612== by 0x7D46FF7: nua_invite (nua.c:633)
> >>> ==29612== by 0x7CEB0DE: sofia_glue_do_invite (sofia_glue.c:1305)
> >>> ==29612== by 0x7CCA773: sofia_on_init (mod_sofia.c:99)
> >>> ==29612== by 0x40A630D: switch_core_session_run
> >>> (switch_core_state_machine.c:415)
> >>> ==29612== by 0x40A52F4: switch_core_session_thread
> >>> (switch_core_session.c:787)
> >>> ==29612== by 0x40FC695: dummy_worker (thread.c:138)
> >>> ==29612== by 0x41EB191: start_thread (in /lib/
> >>>
libpthread-2.6.1.so)
> >>> ==29612== by 0x42F502D: clone (in /lib/
libc-2.6.1.so)
> >>> ==29612==
> >>> ==29612==
> >>> ==29612== 7,056 bytes in 14 blocks are possibly lost in loss record
> >>> 51 of 64
> >>> ==29612== at 0x4021C2E: calloc (vg_replace_malloc.c:397)
> >>> ==29612== by 0x7D98CC1: su_home_new (su_alloc.c:559)
> >>> ==29612== by 0x7D06390: msg_create (msg.c:61)
> >>> ==29612== by 0x7D2490A: nta_msg_create (nta.c:2831)
> >>> ==29612== by 0x7D4336A: nua_client_request_template (nua_stack.c:
> >>> 2361)
> >>> ==29612== by 0x7D42C8E: nua_client_init_request (nua_stack.c:
> >>> 2223)
> >>> ==29612== by 0x7D4256D: nua_client_create (nua_stack.c:2043)
> >>> ==29612== by 0x7D55125: nua_stack_invite (nua_session.c:701)
> >>> ==29612== by 0x7D3EA92: nua_stack_signal (nua_stack.c:592)
> >>> ==29612== by 0x7DA2FA9: su_base_port_execute_msgs
> >>> (su_base_port.c:
> >>> 276)
> >>> ==29612== by 0x7DA2D50: su_base_port_getmsgs (su_base_port.c:198)
> >>> ==29612== by 0x7DA3084: su_base_port_run (su_base_port.c:331)
> >>> ==29612==
> >>> ==29612==
> >>> ==29612== 9,940 bytes in 35 blocks are still reachable in loss
> >>> record 54 of
> >>> 64
> >>> ==29612== at 0x4021C2E: calloc (vg_replace_malloc.c:397)
> >>> ==29612== by 0x7D98B43: su_hash_alloc (su_alloc.c:390)
> >>> ==29612== by 0x7D98CDE: su_home_new (su_alloc.c:562)
> >>> ==29612== by 0x7D06390: msg_create (msg.c:61)
> >>> ==29612== by 0x7D2490A: nta_msg_create (nta.c:2831)
> >>> ==29612== by 0x7D4336A: nua_client_request_template (nua_stack.c:
> >>> 2361)
> >>> ==29612== by 0x7D42C8E: nua_client_init_request (nua_stack.c:
> >>> 2223)
> >>> ==29612== by 0x7D4256D: nua_client_create (nua_stack.c:2043)
> >>> ==29612== by 0x7D55125: nua_stack_invite (nua_session.c:701)
> >>> ==29612== by 0x7D3EA92: nua_stack_signal (nua_stack.c:592)
> >>> ==29612== by 0x7DA2FA9: su_base_port_execute_msgs
> >>> (su_base_port.c:
> >>> 276)
> >>> ==29612== by 0x7DA2D50: su_base_port_getmsgs (su_base_port.c:198)
> >>> ==29612==
> >>> ==29612==
> >>> ==29612==
> >>> ==29612== 43,590 bytes in 663 blocks are still reachable in loss
> >>> record 57
> >>> of 64
> >>> ==29612== at 0x4022B08: malloc (vg_replace_malloc.c:207)
> >>> ==29612== by 0x7D989A2: sub_alloc (su_alloc.c:490)
> >>> ==29612== by 0x7D9929E: su_alloc (su_alloc.c:771)
> >>> ==29612== by 0x7D9CAA2: su_strdup (su_strdup.c:55)
> >>> ==29612== by 0x7DA8FC9: su_vsprintf (su_sprintf.c:80)
> >>> ==29612== by 0x7DA90FA: su_sprintf (su_sprintf.c:125)
> >>> ==29612== by 0x7D75737: sip_addr_tag (sip_basic.c:993)
> >>> ==29612== by 0x7D765F1: sip_from_tag (sip_basic.c:1857)
> >>> ==29612== by 0x7D43155: nua_client_init_request (nua_stack.c:
> >>> 2322)
> >>> ==29612== by 0x7D4256D: nua_client_create (nua_stack.c:2043)
> >>> ==29612== by 0x7D55125: nua_stack_invite (nua_session.c:701)
> >>> ==29612== by 0x7D3EA92: nua_stack_signal (nua_stack.c:592)
> >>> ==29612==
> >>> ==29612==
> >>> ==29612== 55,728 bytes in 1 blocks are still reachable in loss
> >>> record 58 of
> >>> 64
> >>> ==29612== at 0x4021C2E: calloc (vg_replace_malloc.c:397)
> >>> ==29612== by 0xFCE0A57: sf_open (sndfile.c:285)
> >>> ==29612== by 0xFCD9FD3: ??? (mod_sndfile.c:174)
> >>> ==29612== by 0x40A04A1: switch_core_perform_file_open
> >>> (switch_core_file.c:100)
> >>> ==29612== by 0xFD3549A: ??? (mod_local_stream.c:178)
> >>> ==29612== by 0x40FC695: dummy_worker (thread.c:138)
> >>> ==29612== by 0x41EB191: start_thread (in /lib/
> >>>
libpthread-2.6.1.so)
> >>> ==29612== by 0x42F502D: clone (in /lib/
libc-2.6.1.so)
> >>> ==29612==
> >>> ==29612==
> >>> ==29612== 270,368 bytes in 952 blocks are indirectly lost in loss
> >>> record 59
> >>> of 64
> >>> ==29612== at 0x4021C2E: calloc (vg_replace_malloc.c:397)
> >>> ==29612== by 0x7D98B43: su_hash_alloc (su_alloc.c:390)
> >>> ==29612== by 0x7D98CDE: su_home_new (su_alloc.c:562)
> >>> ==29612== by 0x7D06390: msg_create (msg.c:61)
> >>> ==29612== by 0x7D2490A: nta_msg_create (nta.c:2831)
> >>> ==29612== by 0x7D4336A: nua_client_request_template (nua_stack.c:
> >>> 2361)
> >>> ==29612== by 0x7D42C8E: nua_client_init_request (nua_stack.c:
> >>> 2223)
> >>> ==29612== by 0x7D4256D: nua_client_create (nua_stack.c:2043)
> >>> ==29612== by 0x7D55125: nua_stack_invite (nua_session.c:701)
> >>> ==29612== by 0x7D3EA92: nua_stack_signal (nua_stack.c:592)
> >>> ==29612== by 0x7DA2FA9: su_base_port_execute_msgs
> >>> (su_base_port.c:
> >>> 276)
> >>> ==29612== by 0x7DA2D50: su_base_port_getmsgs (su_base_port.c:198)
> >>> ==29612==
> >>> ==29612==
> >>> ==29612== 542,088 bytes in 8,282 blocks are indirectly lost in loss
> >>> record
> >>> 60 of 64
> >>> ==29612== at 0x4022B08: malloc (vg_replace_malloc.c:207)
> >>> ==29612== by 0x7D989A2: sub_alloc (su_alloc.c:490)
> >>> ==29612== by 0x7D9929E: su_alloc (su_alloc.c:771)
> >>> ==29612== by 0x7D04E15: msg_header_alloc (msg_parser.c:2309)
> >>> ==29612== by 0x7D0273D: header_parse (msg_parser.c:1114)
> >>> ==29612== by 0x7D025E3: extract_header (msg_parser.c:1071)
> >>> ==29612== by 0x7D02315: msg_extract_header (msg_parser.c:1008)
> >>> ==29612== by 0x7D05BD2: msg_header_parse_str (msg_parser.c:2801)
> >>> ==29612== by 0x7D05B1E: msg_header_add_str (msg_parser.c:2764)
> >>> ==29612== by 0x7D7B534: sip_add_tagis (sip_tag_class.c:260)
> >>> ==29612== by 0x7D42EB4: nua_client_init_request (nua_stack.c:
> >>> 2278)
> >>> ==29612== by 0x7D4256D: nua_client_create (nua_stack.c:2043)
> >>> ==29612==
> >>> ==29612==
> >>> ==29612== 1,305,502 (493,920 direct, 811,582 indirect) bytes in 980
> >>> blocks
> >>> are definitely lost in loss record 62 of 64
> >>> ==29612== at 0x4021C2E: calloc (vg_replace_malloc.c:397)
> >>> ==29612== by 0x7D98CC1: su_home_new (su_alloc.c:559)
> >>> ==29612== by 0x7D06390: msg_create (msg.c:61)
> >>> ==29612== by 0x7D2490A: nta_msg_create (nta.c:2831)
> >>> ==29612== by 0x7D4336A: nua_client_request_template (nua_stack.c:
> >>> 2361)
> >>> ==29612== by 0x7D42C8E: nua_client_init_request (nua_stack.c:
> >>> 2223)
> >>> ==29612== by 0x7D4256D: nua_client_create (nua_stack.c:2043)
> >>> ==29612== by 0x7D55125: nua_stack_invite (nua_session.c:701)
> >>> ==29612== by 0x7D3EA92: nua_stack_signal (nua_stack.c:592)
> >>> ==29612== by 0x7DA2FA9: su_base_port_execute_msgs
> >>> (su_base_port.c:
> >>> 276)
> >>> ==29612== by 0x7DA2D50: su_base_port_getmsgs (su_base_port.c:198)
> >>> ==29612== by 0x7DA3084: su_base_port_run (su_base_port.c:331)
> >>> ==29612==
> >>> ==29612==
> >>> ==29612== 526,154 (525,280 direct, 874 indirect) bytes in 980 blocks
> >>> are
> >>> definitely lost in loss record 63 of 64
> >>> ==29612== at 0x4021C2E: calloc (vg_replace_malloc.c:397)
> >>> ==29612== by 0x7D9ABB4: su_zalloc (su_alloc.c:1437)
> >>> ==29612== by 0x7DA0A84: su_msg_new (su_root.c:901)
> >>> ==29612== by 0x7D3E4CB: nua_signal (nua_stack.c:495)
> >>> ==29612== by 0x7D46FF7: nua_invite (nua.c:633)
> >>> ==29612== by 0x7CEB0DE: sofia_glue_do_invite (sofia_glue.c:1305)
> >>> ==29612== by 0x7CCA773: sofia_on_init (mod_sofia.c:99)
> >>> ==29612== by 0x40A630D: switch_core_session_run
> >>> (switch_core_state_machine.c:415)
> >>> ==29612== by 0x40A52F4: switch_core_session_thread
> >>> (switch_core_session.c:787)
> >>> ==29612== by 0x40FC695: dummy_worker (thread.c:138)
> >>> ==29612== by 0x41EB191: start_thread (in /lib/
> >>>
libpthread-2.6.1.so)
> >>> ==29612== by 0x42F502D: clone (in /lib/
libc-2.6.1.so)
> >>> ==29612==
> >>> ==29612== LEAK SUMMARY:
> >>> ==29612== definitely lost: 1,024,811 bytes in 2,066 blocks.
> >>> ==29612== indirectly lost: 812,483 bytes in 9,236 blocks.
> >>> ==29612== possibly lost: 20,718 bytes in 94 blocks.
> >>> ==29612== still reachable: 16,441,313 bytes in 1,217 blocks.
> >>> ==29612== suppressed: 0 bytes in 0 blocks.
> >>>
> >>>> -----Original Message-----
> >>>> From:
freeswitch-users-bounces@lists.freeswitch.org
> [mailto:
freeswitch-
> >>>>
users-bounces@lists.freeswitch.org] On Behalf Of Michael Jerris
> >>>> Sent: Wednesday, July 30, 2008 11:26 PM
> >>>> To:
freeswitch-users@lists.freeswitch.org
> >>>> Subject: Re: [Freeswitch-users] Memory Leaks
> >>>>
> >>>>
> >>>> On Jul 30, 2008, at 8:33 AM, Sangwoo Jin wrote:
> >>>>
> >>>>> Hi,
> >>>>>
> >>>>> I I'm testing freeswitch with sipp.
> >>>>> My test configuration is the following:
> >>>>> Sipp(caller) -> freeswitch -> Sipp(callee)s
> >>>>> Testing loads are 5 CPS ~ 30 CPS and caller has hanged up a call
> >>>>> as
> >>>>> soon as
> >>>>> receiving 200 OK.
> >>>>>
> >>>>> In this testing environment, freeswitch's used memory is growing
> >>>>> continuously.
> >>>>>
> >>>>> The following is the valgrind's log on testing with 5 CPS 100
> >>>>> calls.
> >>>>>
> >>>> <snip>
> >>>>
> >>>>>
> >>>>>
> >>>>> Is this problem's cause configuration mistake or freeswitch's bug?
> >>>>>
> >>>>> Sangwoo Jin
> >>>>>
> >>>>>
> >>>>
> >>>>
> >>>> You will need to compare the valgrind output from about 100 calls
> >>>> to
> >>>> about 1000 calls to see which are actually larger. Also, please
> >>>> make
> >>>> sure you are using current svn trunk. Most of the items in that
> >>>> list
> >>>> appear to be things that we allocate at startup and never bother to
> >>>> free as they are free when the application stops. Those items are
> >>>> supposed to be allocated for the entire life of the switch. If you
> >>>> have reports that are definitely more please report this to our bug
> >>>> tracker at
http://jira.freeswitch.org with exact details how you
> >>>> are
> >>>> testing including how you are initiating the call and your
> >>>> dialplan.
> >>>>
> >>>> Mike
> >>>>
> >>>>
> >>>> _______________________________________________
> >>>> 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
> >>>
> >>>
> >>> _______________________________________________
> >>> 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
> >>
> >>
> >> _______________________________________________
> >> 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
> >
> >
> > _______________________________________________
> > 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
>
> _______________________________________________
> 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