[asterisk-bugs] [JIRA] (ASTERISK-24152) memory leak and segfault with in libpthread-2.17.so

Walter Doekes (JIRA) noreply at issues.asterisk.org
Thu Aug 21 04:35:29 CDT 2014


    [ https://issues.asterisk.org/jira/browse/ASTERISK-24152?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=221821#comment-221821 ] 

Walter Doekes commented on ASTERISK-24152:
------------------------------------------

so.

{noformat}
ast_taskprocessor_get
...
        /* Create a new taskprocessor. Start by creating a default listener */
        pvt = default_listener_pvt_alloc();
        if (!pvt) {
                return NULL;
        }
        listener = ast_taskprocessor_listener_alloc(&default_listener_callbacks, pvt);
        if (!listener) {
                default_listener_pvt_destroy(pvt);
                return NULL;
        }

        p = __allocate_taskprocessor(name, listener);
{noformat}

pvt holds this
{noformat}
pvt->poll_thread = AST_PTHREADT_NULL
{noformat}

we continue
{noformat}
__allocate_taskprocessor
...
        if (p->listener->callbacks->start(p->listener)) {
                ast_log(LOG_ERROR, "Unable to start taskprocessor listener for taskprocessor %s\n", p->name);
                ast_taskprocessor_unreference(p);
                return NULL;
        }
{noformat}

calling ast_taskprocessor_unreference,
which calls listener_shutdown,
which calls default_listener_shutdown,
{noformat}
default_listener_shutdown
...
                res = pthread_join(pvt->poll_thread, NULL);
{noformat}

indeed, pvt->poll_thread == -1 == 18446744073709551615

that's your segfault

> memory leak and segfault with in libpthread-2.17.so
> ---------------------------------------------------
>
>                 Key: ASTERISK-24152
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-24152
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Channels/chan_sip/General, Resources/res_pjsip
>    Affects Versions: 12.4.0
>         Environment: 12.4.0 
> Ubuntu 13.10
>            Reporter: Yuriy Gorlichenko
>            Assignee: Yuriy Gorlichenko
>         Attachments: backtrace_bt_full.txt, backtrace.txt, memsummary_hour.txt, memsummary_start.txt, mmlog, valgrind.txt
>
>
> Hello. I have issue with asterisk 12.4.0 with memory leak.
> I have installed asterisk 12.4.0 at Ubuntu 13.10 with realtime chan_sip and pjsip modules (at diffrent ports: chan_sip used as trunk channel and pjsip runs as client side).
> I see at syslog that my system fails futh segfault:
> kernel: [17857.689103] asterisk[23250]: segfault at 2cf ip 00007ff84a294164 sp 00007ff79aeb75a0 error 4 in libpthread-2.17.so[7ff84a28b000+17000]
> Then i open "top" appliation and monitor memory that used by asterisk. I monitored it at 1.5 hour and all this time memory usage grows (number of calls at one time always 2-5). So at start I see 3,3% of usage and then after 1.3 hour I see 11,5% usage.
> I recompiled my asterisk with MALLOC_DEBUG and use from asterisk CLI "memory show summary" at start and after hour of work.



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list