[Freeswitch-users] Memory leak while using BGAPI

Mody, Darshan (Darshan) darshanmody at avaya.com
Tue Jun 19 06:26:00 UTC 2018


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=>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20180619/22f6c074/attachment-0001.html>


More information about the FreeSWITCH-users mailing list