Summary: | ASTERISK-15193: [patch] Asterisk crashes with Asyc AGI when hangup | ||
Reporter: | yahsyn Azadi (yahsyn) | Labels: | |
Date Opened: | 2009-11-21 22:46:04.000-0600 | Date Closed: | 2010-01-08 16:18:41.000-0600 |
Priority: | Critical | Regression? | No |
Status: | Closed/Complete | Components: | Resources/res_agi |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ( 0) 20091124__issue16302.diff.txt ( 1) gdb_bt.txt ( 2) gdb_full.txt | |
Description: | OS: CentOS 5.4 64Bit Problem: Sending a call to Async AGI when you hangup asterisk crashes. To see the problem yourself: exten => 1234,1,AGI(agi:async) Dial 1234, then hangup & asterisk will crash. The bug only applies on 64bit, 32bit is fine. Here is the core dump: Program terminated with signal 11, Segmentation fault. . . . #0 ast_speech_destroy (speech=0x2aaaab8f5000) at res_speech.c:225 225 res_speech.c: No such file or directory. in res_speech.c (gdb) bt #0 ast_speech_destroy (speech=0x2aaaab8f5000) at res_speech.c:225 #1 0x00002aaaab9008e3 in launch_script (chan=0x4a72a00, script=0x4a41ef0 "", argv=0x4204e448, fds=0x0, efd=<value optimized out>, opid=<value optimized out>) at res_agi.c:504 #2 0x00002aaaab9013fd in agi_exec_full (chan=0x4a72a00, data=<value optimized out>, enhanced=0, dead=0) at res_agi.c:2999 #3 0x000000000049db42 in pbx_exec () #4 0x00000000004a82aa in pbx_extension_helper () ASTERISK-1 0x00000000004aaa87 in __ast_pbx_run () ASTERISK-2 0x00000000004abd6b in pbx_thread () ASTERISK-3 0x00000000004e210c in dummy_start () ASTERISK-4 0x00000035484064a7 in start_thread () from /lib64/libpthread.so.0 ASTERISK-5 0x0000003547cd3c2d in clone () from /lib64/libc.so.6 | ||
Comments: | By: Leif Madsen (lmadsen) 2009-11-23 19:31:07.000-0600 As I'm seeing a lot of <value optimized out> in your backtraces, could you verify that you're getting the backtraces from a core file from Asterisk compiled with DONT_OPTIMIZE in the Compiler Flags section of menuselect? Thanks! By: yahsyn Azadi (yahsyn) 2009-11-24 03:33:31.000-0600 It's very strange! When I turn on DONT_OPTIMIZE in the menuselect the crash goes away. Just to be sure about my bug report I replicated the situation on 3 physical machines and a 64 bit VM compiling from source and installing the binary package from Asterisk's CentOS repo. When DONT_OPTIMIZE is checked the crash does not happen when it's unchecked asterisk crashes. I think I'm left with no proper way to report the bug. Best way is to try it out yourself. You can install asterisk 64 bit 1.6 from repo create an extension with AGI(agi:async), call, hangup and asterisk will crash. Thanks for all your great work. - Yahsyn By: yahsyn Azadi (yahsyn) 2009-11-25 01:44:22.000-0600 Tilghman, thanks for the patch the problem is solved now. - Yahsyn By: yahsyn Azadi (yahsyn) 2009-12-31 17:44:17.000-0600 Any plans to include the patch in the upcoming releases? Thanks - Yahsyn By: Leif Madsen (lmadsen) 2010-01-04 14:16:54.000-0600 If this issue is able to be reviewed and committed by a developer prior to the next release, then it will be included :) By: Digium Subversion (svnbot) 2010-01-08 16:17:04.000-0600 Repository: asterisk Revision: 238754 U trunk/res/res_agi.c ------------------------------------------------------------------------ r238754 | tilghman | 2010-01-08 16:17:04 -0600 (Fri, 08 Jan 2010) | 7 lines Initialize variables that we attempt to free later. (closes issue ASTERISK-15193) Reported by: yahsyn Patches: 20091124__issue16302.diff.txt uploaded by tilghman (license 14) Tested by: yahsyn ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=238754 By: Digium Subversion (svnbot) 2010-01-08 16:18:01.000-0600 Repository: asterisk Revision: 238758 _U branches/1.6.0/ U branches/1.6.0/res/res_agi.c ------------------------------------------------------------------------ r238758 | tilghman | 2010-01-08 16:18:01 -0600 (Fri, 08 Jan 2010) | 14 lines Merged revisions 238754 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ........ r238754 | tilghman | 2010-01-08 16:17:03 -0600 (Fri, 08 Jan 2010) | 7 lines Initialize variables that we attempt to free later. (closes issue ASTERISK-15193) Reported by: yahsyn Patches: 20091124__issue16302.diff.txt uploaded by tilghman (license 14) Tested by: yahsyn ........ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=238758 By: Digium Subversion (svnbot) 2010-01-08 16:18:26.000-0600 Repository: asterisk Revision: 238761 _U branches/1.6.2/ U branches/1.6.2/res/res_agi.c ------------------------------------------------------------------------ r238761 | tilghman | 2010-01-08 16:18:26 -0600 (Fri, 08 Jan 2010) | 14 lines Merged revisions 238754 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ........ r238754 | tilghman | 2010-01-08 16:17:03 -0600 (Fri, 08 Jan 2010) | 7 lines Initialize variables that we attempt to free later. (closes issue ASTERISK-15193) Reported by: yahsyn Patches: 20091124__issue16302.diff.txt uploaded by tilghman (license 14) Tested by: yahsyn ........ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=238761 By: Digium Subversion (svnbot) 2010-01-08 16:18:40.000-0600 Repository: asterisk Revision: 238763 _U branches/1.6.1/ U branches/1.6.1/res/res_agi.c ------------------------------------------------------------------------ r238763 | tilghman | 2010-01-08 16:18:40 -0600 (Fri, 08 Jan 2010) | 14 lines Merged revisions 238754 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ........ r238754 | tilghman | 2010-01-08 16:17:03 -0600 (Fri, 08 Jan 2010) | 7 lines Initialize variables that we attempt to free later. (closes issue ASTERISK-15193) Reported by: yahsyn Patches: 20091124__issue16302.diff.txt uploaded by tilghman (license 14) Tested by: yahsyn ........ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=238763 |