[asterisk-bugs] [JIRA] (ASTERISK-29184) memory leak manager.c:purge_old_stuff not scheduled when manager.conf enabled=no

Diederik de Groot (JIRA) noreply at issues.asterisk.org
Fri Dec 18 09:12:16 CST 2020


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

Diederik de Groot commented on ASTERISK-29184:
----------------------------------------------

Thank Sean for looking into the issue.

I know check_manager_enabled() is in the manager.h and it would be usable for modules compiled during asterisk build, but it is not exported so not available to external modules (I tried to use it last week but it could not find a reference to the implementation during module loading). It would help if check_manager_enabled() would be added to the exported symbols to make it available.

> memory leak manager.c:purge_old_stuff not scheduled when manager.conf enabled=no
> --------------------------------------------------------------------------------
>
>                 Key: ASTERISK-29184
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-29184
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Core/ManagerInterface
>    Affects Versions: GIT, 17.8.1, 18.0.1, 16.15.0
>         Environment: Any
>            Reporter: Diederik de Groot
>              Labels: ami, core, manager, memory-leak
>         Attachments: eventq.log
>
>
> With enabled=off in manager.conf the `purge_old_stuff` function from main/manager.c is never scheduled and doesn't run. Meaning that any time the append_event is called (for example through __manager_event_sessions_va / manager_event) new memory is allocated for the event, it is inserted in the `eventqent`, but never released. Causing a non negligible memory consumption over time. Enabling manager/ami and reloading resolves the memory leak.
> Possible/Potential Solutions: 
> - append_event could bail out early and not allocate memory.
> - purge_old_stuff could be scheduled even if ami/manager is not enabled.
> - purge_old_stuff could be scheduled on some other monitoring thread.



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



More information about the asterisk-bugs mailing list