|Summary:||ASTERISK-19779: Asterisk segfaults when handling sip_security_event and attempting to load realtime peer with no realtime backend|
|Reporter:||Aleksandr Gordeev (axonaro)||Labels:|
|Date Opened:||2012-04-24 12:15:56||Date Closed:||2015-03-13 21:39:24|
|Versions:||10.3.0 10.4.0||Frequency of|
|Environment:||Attachments:||( 0) ASTERISK-19779-backtrace.txt|
|Description:||Asterisk always segfault after processing a certain number of calls |
exten => service,1,Progress
exten => service,n,Wait(2)
exten => service,n,Playback(vm-sorry,noanswer)
exten => service,n,Hangup
|Comments:||By: Matt Jordan (mjordan) 2012-04-24 12:20:54.752-0500|
Attached backtrace is from the original issue, illustrating the crash originating from the sip_find_peer call from sip_security_event
By: Michael L. Young (elguero) 2012-04-24 19:29:04.162-0500
Initial look at this... sip_security_event calls sip_find_peer which calls sip_find_peer_full. This function should find the peer and return it before reaching the code block that proceeds to check for a realtime peer.
I started to put together a patch for sip_security_event to check if realtime was being used and then call sip_find_peer with realtime set to TRUE or FALSE but I think something else must be going on. I am not sure why we are reaching that block of code to begin with in sip_find_peer_full. Also, I see other areas of chan_sip that are calling sip_find_peer in the same way as sip_security_event without checking if realtime is being used or not.
By: Matt Jordan (mjordan) 2012-04-25 07:29:29.275-0500
Yeah, I'm not convinced this is the fault of sip_security_event, just that the crash originated from there. Based on the backtrace, however, it appears as if an attempt was made to load a non-existant realtime backend from that call - so I'm not sure what got attempted from sip_find_peer that shouldn't have.
By: Matt Jordan (mjordan) 2015-03-13 21:39:15.831-0500
Per the Asterisk versions page , the maintenance (bug fix) support for the Asterisk branch you are using has ended. For continued maintenance support please move to a supported branch of Asterisk. After testing with a supported branch, if you find this problem has not been resolved, please open a new issue against the latest version of that Asterisk branch.