[asterisk-bugs] [JIRA] (ASTERISK-24916) Increasing memory usage when multiple reinvite during call

Mark Michelson (JIRA) noreply at issues.asterisk.org
Wed Apr 29 14:16:33 CDT 2015


     [ https://issues.asterisk.org/jira/browse/ASTERISK-24916?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mark Michelson closed ASTERISK-24916.
-------------------------------------

    Resolution: Fixed

> Increasing memory usage when multiple reinvite during call
> ----------------------------------------------------------
>
>                 Key: ASTERISK-24916
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-24916
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Channels/chan_sip/General
>    Affects Versions: 11.16.0
>            Reporter: Christophe Osuna
>            Assignee: Mark Michelson
>         Attachments: asterisk.log, mem0.log, mem1.log, mem2.log, mem_atexit.log, reinvite_loop.pl, rtp_engine0.log, rtp_engine1.log, rtp_engine2.log
>
>
> We have a setup with an Asterisk server 11.16.0 and an equipment sending periodically SIP INVITE requests during the same call. When monitoring memory usage, we noticed that RSS memory of the Asterisk process keeps on increasing. It's not a huge amount, but it's non-zero, so at some point this will trigger the OOM reaper and Asterisk process will be killed.
> The bug will happen in the following conditions:
>  * in sip.conf ignoresdpversion is set and UA sends periodically SIP re-INVITE;
>  * ignoredspversion is not set, and UA sends periodically SIP re-INVITE with a SDP session information with an increasing session version.
> I am attaching to the issue a Perl script to reproduce the issue.
> We used the DONT_OPTIMZE and MALLOC_DEBUG options to track down the issue. When monitoring the output of the 'memory show summary' command we can see that allocation increases for the file rtp_engine.c. Then, the output of 'memory show allocations rtp_engine.c' shows allocations in function rtp_engine.c:ast_rtp_codecs_payloads_copy(). So, my understanding of the issue is that whenever a SIP INVITE is received, the function chan_sip.c:process_sdp() is called. If the subsequent call to process_sdp_o() indicates that the session has been modified, the code will allocate new resources in ast_rtp_codecs_payloads_copy(), but will not necessarily free previously used resources.



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



More information about the asterisk-bugs mailing list