Summary:ASTERISK-16872: Deadlock in chan_sip
Reporter:Atis Lezdins (atis)Labels:
Date Opened:2010-10-25 16:47:42Date Closed:2011-06-07 14:00:26
Versions:Frequency of
Environment:Attachments:( 0) bt.2010-10-25T13:28:51-0700-S2.21130.txt.gz
( 1) issue_1820_full.log
Description:Using Asterisk, suddenly SIP packets stopped (both inbound and outbound).

I killed asterisk with -6 and examined coredump.

What looks suspicios is Thread 39 and Thread 35 both having pointer to the same peer structure - 0x7f5bb01c8898 (peer 90877 in full log).

Thread 39
sip_send_mwi_to_peer (peer=0x7f5bb01c8898, ...) at chan_sip.c:22638
mwi_event_cb (..., userdata=0x7f5bb01c8898) at chan_sip.c:12988

Thread 35:
ao2_lock (user_data=0x7f5bb01c8898) at astobj2.c:164
update_call_counter(...) at chan_sip.c:5783

Apparently sip_send_mwi_to_peer held lock to the same peer already.

Attached "thread apply all bt full"

Comments:By: Leif Madsen (lmadsen) 2010-11-02 07:31:25

Was there a previous version of Asterisk that didn't have this issue? (like or something?)

By: Atis Lezdins (atis) 2010-11-02 07:49:07

Previously I had on production servers which didn't had such deadlock in chan_sip but had some crashes

By: Leif Madsen (lmadsen) 2010-11-04 13:15:29

Russell would really like 'core show locks' output in order to move this issue forward. Thanks!

By: Leif Madsen (lmadsen) 2011-02-08 13:18:00.000-0600

Suspended due to lack of requested information.