Summary: | ASTERISK-12292: Local dial with moh causes crash | ||
Reporter: | robert sutton (rlsutton2) | Labels: | |
Date Opened: | 2008-07-01 08:15:55 | Date Closed: | 2008-09-12 17:12:59 |
Priority: | Critical | Regression? | No |
Status: | Closed/Complete | Components: | General |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ( 0) asterisk-core-show-locks.txt ( 1) asterisk-core-show-threads.txt ( 2) bug12965.diff ( 3) gdb-bt-full.txt ( 4) gdb-thread-apply-all-bt.txt | |
Description: | When a call using dial local/ goes into musiconhold, and then the sip extension initiating this call puts it on hold (more musiconhold) asterisk enters a "crashed" state. any attempt from CLI to "show channels" will kill the CLI. manager API slows down to an unusable rate. CPU load remains normal. Asterisk can not be restarted or shutdown from the cli, soft hangup is non functional. The only resolve is to "Kill -9" asterisk. This problem appears to exist in asterisk 1.2.18 and 1.4.17(the versions I have handy). This crash can be reproduce with the aid of the following dial plan exten => 400,1,answer exten => 400,2,dial(local/401) exten => 401,1,answer exten => 401,2,musiconhold() from a SIP phone dial 400, you hear music. Put the call on hold, about 4 seconds later asterisk has entered the above state. | ||
Comments: | By: Tilghman Lesher (tilghman) 2008-07-01 08:21:39 Please recompile with DONT_OPTIMIZE and DEBUG_THREADS. Then, when the above described condition occurs, run 'core show locks' and upload the resulting output as a text file to this issue. Also, it would be helpful if you would first update to 1.4.21.1 or later (possibly SVN 1.4), as the issue may have already been fixed. By: Russell Bryant (russell) 2008-07-02 10:15:06 Please try the latest version before reporting a bug. By: robert sutton (rlsutton2) 2008-07-06 07:32:14 I have now completed further testing as directed against 1.4.21.1. I have also noted that this problem only exists if zaptel hardware is present or ztdummy is loaded. When testing 1.4.21.1 the symptoms are different to those I previously described although still terminal. Each call placed as described adds about 33 (percent) to the cpu load of asterisk, 3+ such calls pushes asterisk cpu to 100% and is nolonger able to maintain call quality or accept new calls. See attached files for locks, threads etc. By: Jeff Peeler (jpeeler) 2008-09-03 15:56:18 The attached diff fixed the problem for me. By: Jeff Peeler (jpeeler) 2008-09-12 16:47:22 Haven't heard any problems so I'm going to commit. By: Digium Subversion (svnbot) 2008-09-12 17:12:57 Repository: asterisk Revision: 142927 U branches/1.4/channels/chan_local.c ------------------------------------------------------------------------ r142927 | jpeeler | 2008-09-12 17:12:56 -0500 (Fri, 12 Sep 2008) | 6 lines (closes issue ASTERISK-12292) Reported by: rlsutton2 Prevents local channels from playing MOH at each other which was causing ast_generic_bridge to loop much faster. ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=142927 |