[Freeswitch-users] Memory leak while using BGAPI

Michael Jerris mike at jerris.com
Tue Jun 19 14:56:28 UTC 2018


It is being pushed into the queue to be processed.  It is free’d after it is processed at the other end of that queue.  For an orderly shutdown without the -vg flag you may have a few events that we dont bother flushing out of the queue and freed.  Under normal operation those are processed and free’d.  If that number is not large and growing its fine, I think running with -vg will make that go away, if so its not a problem.  A number of memory free cleanups on shutdown are skipped without the -vg flag, and I think thats all you are seeing.

Mike


> On Jun 19, 2018, at 2:26 AM, Mody, Darshan (Darshan) <darshanmody at avaya.com> wrote:
> 
> Hi Micheal,
>  
> We find below code in the switch_event.c. Is there a specific reason as to why are we setting the pointers eventp and event as NULL and not destroying the event?
>  
> static switch_status_t switch_event_queue_dispatch_event(switch_event_t **eventp)
> {
>  
>                 switch_event_t *event = *eventp;
>  
>                 if (!SYSTEM_RUNNING) {
>                                 return SWITCH_STATUS_FALSE;
>                 }
>  
>                 while (event) {
>                                 int launch = 0;
>  
>                                 switch_mutex_lock(EVENT_QUEUE_MUTEX);
>  
>                                 if (!PENDING && switch_queue_size(EVENT_DISPATCH_QUEUE) > (unsigned int)(DISPATCH_QUEUE_LEN * DISPATCH_THREAD_COUNT)) {
>                                                 if (SOFT_MAX_DISPATCH + 1 < MAX_DISPATCH) {
>                                                                 launch++;
>                                                                 PENDING++;
>                                                                 switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "launch = %d & PENDING = %d\n", launch,PENDING);
>                                                 }
>                                 }
>  
>                                 switch_mutex_unlock(EVENT_QUEUE_MUTEX);
>  
>                                 if (launch) {
>                                                 if (SOFT_MAX_DISPATCH + 1 < MAX_DISPATCH) {
>                                                                 switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Dispatching %d Thread\n", (SOFT_MAX_DISPATCH + 1));
>                                                                 switch_event_launch_dispatch_threads(SOFT_MAX_DISPATCH + 1);
>                                                 }
>  
>                                                 switch_mutex_lock(EVENT_QUEUE_MUTEX);
>                                                 PENDING--;
>                                                 switch_mutex_unlock(EVENT_QUEUE_MUTEX);
>                                 }
>  
>                                 *eventp = NULL;
>                                 switch_queue_push(EVENT_DISPATCH_QUEUE, event);
>                                 event = NULL;
>  
>                 }
>  
>                 return SWITCH_STATUS_SUCCESS;
> }
>  
> Thanks
> Darshan
>   <>
> From: FreeSWITCH-users [mailto:freeswitch-users-bounces at lists.freeswitch.org] On Behalf Of Michael Jerris
> Sent: Tuesday, June 19, 2018 2:34 AM
> To: FreeSWITCH Users Help <freeswitch-users at lists.freeswitch.org>
> Subject: Re: [Freeswitch-users] Memory leak while using BGAPI
>  
> If that event is being consumed by something that is blocking maybe?  Is it always that number or if you do many more does it get bigger?  This could just be an event that isnt consumed yet when you shut down and not a big problem.
>  
> 
> 
> On Jun 18, 2018, at 2:17 AM, Mody, Darshan (Darshan) <darshanmody at avaya.com <mailto:darshanmody at avaya.com>> wrote:
>  
> Hi,
>  
> We are observing considerable memory leak while using LUA and BGAPI of mod_command.c. Below is the valgrind’s output
>  
> ==21863== 123,170 (45,496 direct, 77,674 indirect) bytes in 517 blocks are definitely lost in loss record 2,370 of 2,398
> ==21863==    at 0x4C29C23: malloc (vg_replace_malloc.c:299)
> ==21863==    by 0x548707C: switch_event_create_subclass_detailed (switch_event.c:736)
> ==21863==    by 0x11631389: bgapi_exec (mod_commands.c:5151)
> ==21863==    by 0x56EEE8F: dummy_worker (thread.c:151)
> ==21863==    by 0x7677E24: start_thread (in /usr/lib64/libpthread-2.17.so)
> ==21863==    by 0x805734C: clone (in /usr/lib64/libc-2.17.so
>  
> ==21863== 143,478 (18,392 direct, 125,086 indirect) bytes in 209 blocks are definitely lost in loss record 2,374 of 2,398
> ==21863==    at 0x4C29C23: malloc (vg_replace_malloc.c:299)
> ==21863==    by 0x548707C: switch_event_create_subclass_detailed (switch_event.c:736)
> ==21863==    by 0x542AADE: switch_core_session_exec (switch_core_session.c:2874)
> ==21863==    by 0x542B108: switch_core_session_execute_application_get_flags (switch_core_session.c:2742)
> ==21863==    by 0x5510C10: CoreSession::execute(char const*, char const*) (switch_cpp.cpp:777)
> ==21863==    by 0x16FED72C: ??? (mod_lua_wrap.cpp:7289)
> ==21863==    by 0x17217323: ??? (in /usr/lib64/liblua-5.1.so)
> ==21863==    by 0x17221E56: ??? (in /usr/lib64/liblua-5.1.so)
> ==21863==    by 0x1721774C: ??? (in /usr/lib64/liblua-5.1.so)
> ==21863==    by 0x17216A6D: ??? (in /usr/lib64/liblua-5.1.so)
> ==21863==    by 0x172178D9: ??? (in /usr/lib64/liblua-5.1.so)
> ==21863==    by 0x1721344C: lua_pcall (in /usr/lib64/liblua-5.1.so)
>  
> Has some one also observed behavior while using BGAPI?
>  
> Thanks
> Darshan 
>  
>  
> _________________________________________________________________________
> Professional FreeSWITCH Services
> sales at freeswitch.com <mailto:sales at freeswitch.com>
> https://freeswitch.com <https://urldefense.proofpoint.com/v2/url?u=https-3A__freeswitch.com_&d=DwMFaQ&c=BFpWQw8bsuKpl1SgiZH64Q&r=bsEULbVnjelD7InzgsegHBEbtXzaIDagy9EuEhJrKfQ&m=doV3DZKRNDthayX1enWG7PgnBOG04sTRZ_pM8b5Xfm0&s=cf87DDQfp5SEnNdhK6qztdg7bCeSemewRWYu-gCSUuM&e=>
> 
> Official FreeSWITCH Sites
> https://freeswitch.com/oss <https://urldefense.proofpoint.com/v2/url?u=https-3A__freeswitch.com_oss&d=DwMFaQ&c=BFpWQw8bsuKpl1SgiZH64Q&r=bsEULbVnjelD7InzgsegHBEbtXzaIDagy9EuEhJrKfQ&m=doV3DZKRNDthayX1enWG7PgnBOG04sTRZ_pM8b5Xfm0&s=km3nKWxpOpy0aSeC6s3a2J04SwIbQR8nJF_1h-3w9iE&e=>
> https://freeswitch.org/confluence <https://urldefense.proofpoint.com/v2/url?u=https-3A__freeswitch.org_confluence&d=DwMFaQ&c=BFpWQw8bsuKpl1SgiZH64Q&r=bsEULbVnjelD7InzgsegHBEbtXzaIDagy9EuEhJrKfQ&m=doV3DZKRNDthayX1enWG7PgnBOG04sTRZ_pM8b5Xfm0&s=Mj2ZnsEi90La30FIpe-hLKtfSogOiqMoiuljmGH73SU&e=>
> https://cluecon.com <https://urldefense.proofpoint.com/v2/url?u=https-3A__cluecon.com_&d=DwMFaQ&c=BFpWQw8bsuKpl1SgiZH64Q&r=bsEULbVnjelD7InzgsegHBEbtXzaIDagy9EuEhJrKfQ&m=doV3DZKRNDthayX1enWG7PgnBOG04sTRZ_pM8b5Xfm0&s=ZFkKDP5CjqxuU0TAIPZlU9zUpys5ch7RgYWUEGaVTsk&e=>
> 
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org <mailto:FreeSWITCH-users at lists.freeswitch.org>
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users <https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.freeswitch.org_mailman_listinfo_freeswitch-2Dusers&d=DwMFaQ&c=BFpWQw8bsuKpl1SgiZH64Q&r=bsEULbVnjelD7InzgsegHBEbtXzaIDagy9EuEhJrKfQ&m=doV3DZKRNDthayX1enWG7PgnBOG04sTRZ_pM8b5Xfm0&s=kXdKsgCA_UpVrUS_jBuy4lBpWP5RT9qazUatzWIslsE&e=>
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users <https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.freeswitch.org_mailman_options_freeswitch-2Dusers&d=DwMFaQ&c=BFpWQw8bsuKpl1SgiZH64Q&r=bsEULbVnjelD7InzgsegHBEbtXzaIDagy9EuEhJrKfQ&m=doV3DZKRNDthayX1enWG7PgnBOG04sTRZ_pM8b5Xfm0&s=J8fwO1L0LvupkX0THYA5RMB66VVagvVYay4ie0-2s68&e=>
> https://freeswitch.com <https://urldefense.proofpoint.com/v2/url?u=https-3A__freeswitch.com_&d=DwMFaQ&c=BFpWQw8bsuKpl1SgiZH64Q&r=bsEULbVnjelD7InzgsegHBEbtXzaIDagy9EuEhJrKfQ&m=doV3DZKRNDthayX1enWG7PgnBOG04sTRZ_pM8b5Xfm0&s=cf87DDQfp5SEnNdhK6qztdg7bCeSemewRWYu-gCSUuM&e=>
>  
> _________________________________________________________________________
> Professional FreeSWITCH Services
> sales at freeswitch.com <mailto:sales at freeswitch.com>
> https://freeswitch.com <https://freeswitch.com/>
> 
> Official FreeSWITCH Sites
> https://freeswitch.com/oss <https://freeswitch.com/oss>
> https://freeswitch.org/confluence <https://freeswitch.org/confluence>
> https://cluecon.com <https://cluecon.com/>
> 
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org <mailto:FreeSWITCH-users at lists.freeswitch.org>
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users <http://lists.freeswitch.org/mailman/listinfo/freeswitch-users>
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users <http://lists.freeswitch.org/mailman/options/freeswitch-users>
> https://freeswitch.com <https://freeswitch.com/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20180619/653a9dc1/attachment-0001.html>


More information about the FreeSWITCH-users mailing list