[Home]

Summary:ASTERISK-15253: [patch] Asterisk crash when SpeechCreate() is used in dialplan without exact name of the module, using the default.
Reporter:J.W.F. Thirion (thirionjwf)Labels:
Date Opened:2009-12-02 02:14:05.000-0600Date Closed:2010-02-18 17:15:20.000-0600
Priority:CriticalRegression?No
Status:Closed/CompleteComponents:Resources/res_speech
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) gdb-trace.txt
( 1) gdb-valgrind-trace.txt
( 2) res_speech.c.patch
( 3) valgrind.log.30555
( 4) versions.txt
Description:This was posted on the unimrcp (www.unimrcp.org) group (http://code.google.com/p/unimrcp/issues) as Issue 53 by Arsen Chaloyen (author of UniMRCP). It affects all Asterisk 1.6.x versions.

Scenario to reproduce
1. Load res_speech_unimrcp module (or any other speech module, it doesn't matter)
2. Do whatever here
3. Unload res_speech_unimrcp
4. Call to Asterisk using the dialplan which use SpeechCreate() without exact name of the module, using the default.
5. Asterisk one to one crashes.


****** ADDITIONAL INFORMATION ******

Code removed. Please see note below.
Comments:By: Elazar Broad (ebroad) 2009-12-02 09:50:18.000-0600

Per the bug guideline's please recompile with DONT_OPTIMIZE and post a backtrace(see doc/backtrace.txt). Additionally, all patches require a license(even one liners), so please upload your patch as a unified diff and fill out the license application. Thanks!

By: J.W.F. Thirion (thirionjwf) 2009-12-04 02:49:01.000-0600

Attached are the gdb "bt", "bt full" and "thread apply all bt" output (gdb-trace.txt), as well as valgrind log on a second run (valgrind.log.30555) with its corresponding gdb output on the valgrind.log.core.30555 file. In the versions.txt are the relevant version numbers, although the res_speech.c.patch patch would apply to all 1.6.x Asterisk versions. The output was for the current trunk version of Asterisk (SVN rev. 232982), but the same thing happens on other 1.6.x versions.

To produce the crash:

extensions.conf
---------------
exten => 9999,1,SpeechCreate()
exten => 9999,n,Hangup


# asterisk -gc
*CLI> module load res_speech_unimrcp.so
*CLI> module unload res_speech_unimrcp.so
*CLI> console dial 9999
*CLI> Segmentation fault (core dumped)



By: J.W.F. Thirion (thirionjwf) 2009-12-23 03:22:31.000-0600

Any news on this patch's acceptance?

By: Digium Subversion (svnbot) 2010-02-18 17:13:47.000-0600

Repository: asterisk
Revision: 247841

U   trunk/res/res_speech.c

------------------------------------------------------------------------
r247841 | tilghman | 2010-02-18 17:13:46 -0600 (Thu, 18 Feb 2010) | 7 lines

Revert an errant part of a previous cleanup, to fix a memory corruption issue.

(closes issue ASTERISK-15253)
Reported by: thirionjwf
Patches:
      res_speech.c.patch uploaded by thirionjwf (license 955)

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=247841

By: Digium Subversion (svnbot) 2010-02-18 17:15:03.000-0600

Repository: asterisk
Revision: 247842

_U  branches/1.6.0/
U   branches/1.6.0/res/res_speech.c

------------------------------------------------------------------------
r247842 | tilghman | 2010-02-18 17:15:03 -0600 (Thu, 18 Feb 2010) | 14 lines

Merged revisions 247841 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
 r247841 | tilghman | 2010-02-18 17:13:46 -0600 (Thu, 18 Feb 2010) | 7 lines
 
 Revert an errant part of a previous cleanup, to fix a memory corruption issue.
 
 (closes issue ASTERISK-15253)
  Reported by: thirionjwf
  Patches:
        res_speech.c.patch uploaded by thirionjwf (license 955)
........

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=247842

By: Digium Subversion (svnbot) 2010-02-18 17:15:11.000-0600

Repository: asterisk
Revision: 247843

_U  branches/1.6.1/
U   branches/1.6.1/res/res_speech.c

------------------------------------------------------------------------
r247843 | tilghman | 2010-02-18 17:15:11 -0600 (Thu, 18 Feb 2010) | 14 lines

Merged revisions 247841 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
 r247841 | tilghman | 2010-02-18 17:13:46 -0600 (Thu, 18 Feb 2010) | 7 lines
 
 Revert an errant part of a previous cleanup, to fix a memory corruption issue.
 
 (closes issue ASTERISK-15253)
  Reported by: thirionjwf
  Patches:
        res_speech.c.patch uploaded by thirionjwf (license 955)
........

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=247843

By: Digium Subversion (svnbot) 2010-02-18 17:15:19.000-0600

Repository: asterisk
Revision: 247845

_U  branches/1.6.2/
U   branches/1.6.2/res/res_speech.c

------------------------------------------------------------------------
r247845 | tilghman | 2010-02-18 17:15:19 -0600 (Thu, 18 Feb 2010) | 14 lines

Merged revisions 247841 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
 r247841 | tilghman | 2010-02-18 17:13:46 -0600 (Thu, 18 Feb 2010) | 7 lines
 
 Revert an errant part of a previous cleanup, to fix a memory corruption issue.
 
 (closes issue ASTERISK-15253)
  Reported by: thirionjwf
  Patches:
        res_speech.c.patch uploaded by thirionjwf (license 955)
........

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=247845