[Home]

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-0600Date Closed:2010-01-08 16:18:41.000-0600
Priority:CriticalRegression?No
Status:Closed/CompleteComponents: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