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

Rusty Newton (JIRA) noreply at issues.asterisk.org
Thu Mar 26 18:21:34 CDT 2015


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

Rusty Newton updated ASTERISK-24916:
------------------------------------

    Assignee: Christophe Osuna
      Status: Waiting for Feedback  (was: Triage)

Thanks for the script. Can you attach the MALLOC_DEBUG output as well?

> 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: Christophe Osuna
>         Attachments: reinvite_loop.pl
>
>
> 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