[asterisk-bugs] [JIRA] (ASTERISK-22945) Memory leak in chan_sip.c with realtime autoclear
ibercom (JIRA)
noreply at issues.asterisk.org
Mon Mar 10 09:15:12 CDT 2014
[ https://issues.asterisk.org/jira/browse/ASTERISK-22945?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=216236#comment-216236 ]
ibercom edited comment on ASTERISK-22945 at 3/10/14 9:14 AM:
-------------------------------------------------------------
I have managed detect a reference leak related to realtime peers in chan_sip.
/* Startup regular pokes */
if (!devstate_only && realtime && peer->lastms > 0) {
- /* sip_ref_peer(peer, "schedule qualify"); */
+ sip_ref_peer(peer, "schedule qualify");
sip_poke_peer(peer, 0);
}
If I comment this line of code, rtautoclear works ok. sip show objects shows correct counters and destructor function for these peers (objects) is called.
But I don't know exactly the functionality of it. Although this works.
was (Author: ibercom):
I have managed detect a reference leak related to realtime peers in chan_sip.
/* Startup regular pokes */
if (!devstate_only && realtime && peer->lastms > 0) {
- /* sip_ref_peer(peer, "schedule qualify"); */
+ sip_ref_peer(peer, "schedule qualify");
sip_poke_peer(peer, 0);
}
If I comment this line of code, rtautoclear work ok. sip show objects shows correct counters and destructor function for these peers (objects) is called.
But I don't know exactly the functionality of it. Although this works.
> Memory leak in chan_sip.c with realtime autoclear
> -------------------------------------------------
>
> Key: ASTERISK-22945
> URL: https://issues.asterisk.org/jira/browse/ASTERISK-22945
> Project: Asterisk
> Issue Type: Bug
> Security Level: None
> Components: Channels/chan_sip/General
> Affects Versions: 11.6.0
> Reporter: ibercom
> Attachments: asterisk11.patch, cli-command.txt, memory-allocations.gz
>
>
> I have 2 servers with SIP realtime config and asterisk 1.8 and 11 each one.
> Server 1.8 have about 2000 register peers without obvious problems.
> Server 11 have about 20 register peers and chan_sip.c is constantly leaking memory with each call to the other peers.
> The SIP realtime config is the same:
> rtcachefriends=yes
> rtsavesysname=yes
> rtupdate=yes
> rtautoclear=yes << I think than here is the problem
> ignoreregexpire=yes
> When Server 11 look for some peer (not register peer) in sippeers table, it works with this info. Another (+1) static (realtime?) object. When the registration expires, memory leak. You can look for the same peer after some time and asterisk allocates memory again and it isn't freed.
> I have attached cli-command.txt which shows the asterisk's state with only 112 calls processed.
--
This message was sent by Atlassian JIRA
(v6.2#6252)
More information about the asterisk-bugs
mailing list