Summary: | ASTERISK-18613: Deadlock (SIP not responding anymore) | ||
Reporter: | Thomas Arimont (tomaso) | Labels: | |
Date Opened: | 2011-09-23 06:54:10 | Date Closed: | 2011-09-26 14:33:40 |
Priority: | Major | Regression? | |
Status: | Closed/Complete | Components: | Channels/chan_sip/General |
Versions: | 1.8.5.0 | Frequency of Occurrence | Frequent |
Related Issues: | |||
Environment: | Attachments: | ( 0) deadlock_backtrace.txt ( 1) deadlock_core_show_locks.txt ( 2) jira_asterisk_18613_v1.8.patch | |
Description: | In a heavy traffic situation using sipp we can force a deadlock. Please see the attached core show log and gdb backtrace log for details. We can easily replicate this issue in our current configuration, Version 1.8.6.0 shows the same issue. | ||
Comments: | By: Richard Mudgett (rmudgett) 2011-09-23 14:32:29.137-0500 [^jira_asterisk_18613_v1.8.patch] should fix the deadlock. There were two things that could cause the deadlock. 1) The dummy channel should not be destroyed using ast_channel_release() because it is the primary cause of this deadlock. (Principle cause of the deadlock.) 2) Calling ast_call() with channel locks held is not good since chan_local cannot perform deadlock avoidance correctly. (Potential deadlock exposed by this deadlock.) By: Thomas Arimont (tomaso) 2011-09-26 09:29:55.197-0500 Richard, thanks a lot. Your fix (applied to 1.8.5.0) seems to resolve this issue. I couldn't replicate this deadlock anymore in our scenario. By: Sebastian Gutierrez (sum) 2011-09-26 13:08:34.784-0500 is this on 1.8.7 also? I'm planning to move from 1.6.2.20 to 1.8.7 but this could be a bloquer. By: Richard Mudgett (rmudgett) 2011-09-26 14:41:03.208-0500 The patch was just committed and will be in v1.8.8. By: Sebastian Gutierrez (sum) 2011-11-20 17:54:00.418-0600 do you think I could port this to 1.6.2.20? to resolve sip deadlocks? By: Richard Mudgett (rmudgett) 2011-11-21 10:19:11.618-0600 No this patch is not portable to v1.6.20. The locking is very different between the two versions. |