[Home]

Summary:ASTERISK-15706: [patch] VoiceMail(vmbox@context,s) -> Regularly segfaults asterisk
Reporter:Shane Spencer (whardier)Labels:
Date Opened:2010-02-26 21:29:46.000-0600Date Closed:2010-03-05 15:35:46.000-0600
Priority:MinorRegression?No
Status:Closed/CompleteComponents:Applications/app_voicemail
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) 20100301_issue16921.patch
( 1) gdb.txt
Description:The second time I execute VoiceMail with the 's' flag while testing out some dialplan it causes Asterisk to segfault.  Initially I thought it was on the first attempt however I may be mistaken.

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

I have a core dump and gdb output if needed.

Output from the console - Dialing from SIP phone and pressing '#' to jump to Voicemail while callee is ringing.

pbx01*CLI>
[Feb 26 18:25:13]   == Using SIP RTP TOS bits 184
[Feb 26 18:25:13]   == Using SIP RTP CoS mark 5
[Feb 26 18:25:13]   == Using SIP VRTP TOS bits 136
[Feb 26 18:25:13]   == Using SIP VRTP CoS mark 4
[Feb 26 18:25:13]     -- Executing [0099@microcom-from-sip:1] Goto("SIP/0098-00000000", "microcom-extensions,0099,1") in new stack
[Feb 26 18:25:13]     -- Goto (microcom-extensions,0099,1)
[Feb 26 18:25:13]     -- Executing [0099@microcom-extensions:1] Gosub("SIP/0098-00000000", "stdexten(0099,0099)") in new stack
[Feb 26 18:25:13]     -- Executing [0099@microcom-extensions:50000] NoOp("SIP/0098-00000000", "Start stdexten") in new stack
[Feb 26 18:25:13]     -- Executing [0099@microcom-extensions:50001] Set("SIP/0098-00000000", "LOCAL(ext)=0099") in new stack
[Feb 26 18:25:13]     -- Executing [0099@microcom-extensions:50002] Set("SIP/0098-00000000", "LOCAL(dev)=0099") in new stack
[Feb 26 18:25:13]     -- Executing [0099@microcom-extensions:50003] Set("SIP/0098-00000000", "LOCAL(mbx)=0099") in new stack
[Feb 26 18:25:13]     -- Executing [0099@microcom-extensions:50004] Set("SIP/0098-00000000", "DIALGROUP(0099)=") in new stack
[Feb 26 18:25:13]     -- Executing [0099@microcom-extensions:50005] Set("SIP/0098-00000000", "LOCAL(query)=0") in new stack
[Feb 26 18:25:13]     -- Executing [0099@microcom-extensions:50006] Set("SIP/0098-00000000", "LOCAL(num)=1") in new stack
[Feb 26 18:25:13]     -- Executing [0099@microcom-extensions:50007] Set("SIP/0098-00000000", "LOCAL(x)=1") in new stack
[Feb 26 18:25:13]     -- Executing [0099@microcom-extensions:50008] While("SIP/0098-00000000", "1") in new stack
[Feb 26 18:25:13]     -- Executing [0099@microcom-extensions:50009] Set("SIP/0098-00000000", "DIALGROUP(0099,add)=IAX2/anc02-dundi-microcom/0099") in new stack
[Feb 26 18:25:13]     -- Executing [0099@microcom-extensions:50010] Set("SIP/0098-00000000", "LOCAL(x)=2") in new stack
[Feb 26 18:25:13]     -- Executing [0099@microcom-extensions:50011] EndWhile("SIP/0098-00000000", "") in new stack
[Feb 26 18:25:13]     -- Executing [0099@microcom-extensions:50008] While("SIP/0098-00000000", "0") in new stack
[Feb 26 18:25:13]     -- Executing [0099@microcom-extensions:50012] Answer("SIP/0098-00000000", "") in new stack
[Feb 26 18:25:13]     -- Executing [0099@microcom-extensions:50013] Set("SIP/0098-00000000", "DIALGROUP(0099,add)=Local/0099@dundi-microcom-local/n") in new stack
[Feb 26 18:25:13]     -- Executing [0099@microcom-extensions:50014] Dial("SIP/0098-00000000", "IAX2/anc02-dundi-microcom/0099&Local/0099@dundi-microcom-local/n,5,dR") in new stack
[Feb 26 18:25:13]     -- Called anc02-dundi-microcom/0099
[Feb 26 18:25:13]     -- Called 0099@dundi-microcom-local/n
[Feb 26 18:25:13]     -- Executing [0099@dundi-microcom-local:1] NoOp("Local/0099@dundi-microcom-local-5418;2", "0099") in new stack
[Feb 26 18:25:13]     -- Executing [0099@dundi-microcom-local:2] Goto("Local/0099@dundi-microcom-local-5418;2", "microcom-sipdial,0099,1") in new stack
[Feb 26 18:25:13]     -- Goto (microcom-sipdial,0099,1)
[Feb 26 18:25:13]     -- Executing [0099@microcom-sipdial:1] Dial("Local/0099@dundi-microcom-local-5418;2", "SIP/0099,,R") in new stack
[Feb 26 18:25:13]   == Using SIP RTP TOS bits 184
[Feb 26 18:25:13]   == Using SIP RTP CoS mark 5
[Feb 26 18:25:13]   == Using SIP VRTP TOS bits 136
[Feb 26 18:25:13]   == Using SIP VRTP CoS mark 4
[Feb 26 18:25:13]     -- Called 0099
[Feb 26 18:25:13]     -- Call accepted by 10.255.255.4 (format speex)
[Feb 26 18:25:13]     -- Format for call is speex
[Feb 26 18:25:13]     -- IAX2/anc02-dundi-microcom-18738 is ringing
[Feb 26 18:25:13]     -- SIP/0099-00000001 is ringing
[Feb 26 18:25:13]     -- Local/0099@dundi-microcom-local-5418;1 is ringing
[Feb 26 18:25:15]     -- User hit # to disconnect call.
[Feb 26 18:25:15]     -- Hungup 'IAX2/anc02-dundi-microcom-18738'
[Feb 26 18:25:15]   == CDR updated on SIP/0098-00000000
[Feb 26 18:25:15]     -- Executing [#@microcom-extensions:1] Goto("SIP/0098-00000000", "dundi-microcom-lookup,v0099,1") in new stack
[Feb 26 18:25:15]   == Spawn extension (microcom-sipdial, 0099, 1) exited non-zero on 'Local/0099@dundi-microcom-local-5418;2'
[Feb 26 18:25:15]     -- Goto (dundi-microcom-lookup,v0099,1)
[Feb 26 18:25:15]     -- Executing [v0099@dundi-microcom-lookup:1] Gosub("SIP/0098-00000000", "microcom-voicemail,v0099,1") in new stack
[Feb 26 18:25:15]     -- Executing [v0099@microcom-voicemail:1] Set("SIP/0098-00000000", "LOCAL(mbx)=0099") in new stack
[Feb 26 18:25:15]     -- Executing [v0099@microcom-voicemail:2] VoiceMail("SIP/0098-00000000", "0099@microcom,s") in new stack
[Feb 26 18:25:15]     -- <SIP/0098-00000000> Playing 'beep.gsm' (language 'en')
[Feb 26 18:25:16]     -- Recording the message
[Feb 26 18:25:16]     -- x=0, open writing:  /var/spool/asterisk/voicemail/microcom/0099/tmp/QBKJFT format: wav49, 0x1223f68
[Feb 26 18:25:16]     -- x=1, open writing:  /var/spool/asterisk/voicemail/microcom/0099/tmp/QBKJFT format: gsm, 0x12137c8
[Feb 26 18:25:16]     -- x=2, open writing:  /var/spool/asterisk/voicemail/microcom/0099/tmp/QBKJFT format: wav, 0x121ebf8
[Feb 26 18:25:18]     -- User hung up
[Feb 26 18:25:18]   == Spawn extension (microcom-voicemail, v0099, 2) exited non-zero on 'SIP/0098-00000000'
pbx01*CLI>
pbx01*CLI>
pbx01*CLI>
[Feb 26 18:25:21]   == Using SIP RTP TOS bits 184
[Feb 26 18:25:21]   == Using SIP RTP CoS mark 5
[Feb 26 18:25:21]   == Using SIP VRTP TOS bits 136
[Feb 26 18:25:21]   == Using SIP VRTP CoS mark 4
[Feb 26 18:25:21]     -- Executing [0099@microcom-from-sip:1] Goto("SIP/0098-00000002", "microcom-extensions,0099,1") in new stack
[Feb 26 18:25:21]     -- Goto (microcom-extensions,0099,1)
[Feb 26 18:25:21]     -- Executing [0099@microcom-extensions:1] Gosub("SIP/0098-00000002", "stdexten(0099,0099)") in new stack
[Feb 26 18:25:21]     -- Executing [0099@microcom-extensions:50000] NoOp("SIP/0098-00000002", "Start stdexten") in new stack
[Feb 26 18:25:21]     -- Executing [0099@microcom-extensions:50001] Set("SIP/0098-00000002", "LOCAL(ext)=0099") in new stack
[Feb 26 18:25:21]     -- Executing [0099@microcom-extensions:50002] Set("SIP/0098-00000002", "LOCAL(dev)=0099") in new stack
[Feb 26 18:25:21]     -- Executing [0099@microcom-extensions:50003] Set("SIP/0098-00000002", "LOCAL(mbx)=0099") in new stack
[Feb 26 18:25:21]     -- Executing [0099@microcom-extensions:50004] Set("SIP/0098-00000002", "DIALGROUP(0099)=") in new stack
[Feb 26 18:25:21]     -- Executing [0099@microcom-extensions:50005] Set("SIP/0098-00000002", "LOCAL(query)=1") in new stack
[Feb 26 18:25:21]     -- Executing [0099@microcom-extensions:50006] Set("SIP/0098-00000002", "LOCAL(num)=1") in new stack
[Feb 26 18:25:21]     -- Executing [0099@microcom-extensions:50007] Set("SIP/0098-00000002", "LOCAL(x)=1") in new stack
[Feb 26 18:25:21]     -- Executing [0099@microcom-extensions:50008] While("SIP/0098-00000002", "1") in new stack
[Feb 26 18:25:21]     -- Executing [0099@microcom-extensions:50009] Set("SIP/0098-00000002", "DIALGROUP(0099,add)=IAX2/anc02-dundi-microcom/0099") in new stack
[Feb 26 18:25:21]     -- Executing [0099@microcom-extensions:50010] Set("SIP/0098-00000002", "LOCAL(x)=2") in new stack
[Feb 26 18:25:21]     -- Executing [0099@microcom-extensions:50011] EndWhile("SIP/0098-00000002", "") in new stack
[Feb 26 18:25:21]     -- Executing [0099@microcom-extensions:50008] While("SIP/0098-00000002", "0") in new stack
[Feb 26 18:25:21]     -- Executing [0099@microcom-extensions:50012] Answer("SIP/0098-00000002", "") in new stack
[Feb 26 18:25:21]     -- Executing [0099@microcom-extensions:50013] Set("SIP/0098-00000002", "DIALGROUP(0099,add)=Local/0099@dundi-microcom-local/n") in new stack
[Feb 26 18:25:21]     -- Executing [0099@microcom-extensions:50014] Dial("SIP/0098-00000002", "IAX2/anc02-dundi-microcom/0099&Local/0099@dundi-microcom-local/n,5,dR") in new stack
[Feb 26 18:25:21]     -- Called anc02-dundi-microcom/0099
[Feb 26 18:25:21]     -- Called 0099@dundi-microcom-local/n
[Feb 26 18:25:21]     -- Executing [0099@dundi-microcom-local:1] NoOp("Local/0099@dundi-microcom-local-1718;2", "0099") in new stack
[Feb 26 18:25:21]     -- Executing [0099@dundi-microcom-local:2] Goto("Local/0099@dundi-microcom-local-1718;2", "microcom-sipdial,0099,1") in new stack
[Feb 26 18:25:21]     -- Goto (microcom-sipdial,0099,1)
[Feb 26 18:25:21]     -- Executing [0099@microcom-sipdial:1] Dial("Local/0099@dundi-microcom-local-1718;2", "SIP/0099,,R") in new stack
[Feb 26 18:25:21]   == Using SIP RTP TOS bits 184
[Feb 26 18:25:21]   == Using SIP RTP CoS mark 5
[Feb 26 18:25:21]   == Using SIP VRTP TOS bits 136
[Feb 26 18:25:21]   == Using SIP VRTP CoS mark 4
[Feb 26 18:25:21]     -- Called 0099
[Feb 26 18:25:21]     -- Call accepted by 10.255.255.4 (format speex)
[Feb 26 18:25:21]     -- Format for call is speex
[Feb 26 18:25:22]     -- IAX2/anc02-dundi-microcom-16898 is ringing
[Feb 26 18:25:22]     -- SIP/0099-00000003 is ringing
[Feb 26 18:25:22]     -- Local/0099@dundi-microcom-local-1718;1 is ringing
[Feb 26 18:25:25]     -- User hit # to disconnect call.
[Feb 26 18:25:25]     -- Hungup 'IAX2/anc02-dundi-microcom-16898'
[Feb 26 18:25:25]   == CDR updated on SIP/0098-00000002
[Feb 26 18:25:25]     -- Executing [#@microcom-extensions:1] Goto("SIP/0098-00000002", "dundi-microcom-lookup,v0099,1") in new stack
[Feb 26 18:25:25]     -- Goto (dundi-microcom-lookup,v0099,1)
[Feb 26 18:25:25]     -- Executing [v0099@dundi-microcom-lookup:1] Gosub("SIP/0098-00000002", "microcom-voicemail,v0099,1") in new stack
[Feb 26 18:25:25]     -- Executing [v0099@microcom-voicemail:1] Set("SIP/0098-00000002", "LOCAL(mbx)=0099") in new stack
[Feb 26 18:25:25]   == Spawn extension (microcom-sipdial, 0099, 1) exited non-zero on 'Local/0099@dundi-microcom-local-1718;2'
[Feb 26 18:25:25]     -- Executing [v0099@microcom-voicemail:2] VoiceMail("SIP/0098-00000002", "0099@microcom,s") in new stack
pbx01*CLI>
Comments:By: Shane Spencer (whardier) 2010-02-26 21:30:16.000-0600

Can I note that this is reproducible every time.

By: Tilghman Lesher (tilghman) 2010-02-28 01:15:59.000-0600

Please follow the instructions in doc/backtrace.txt.

By: Sean Bright (seanbright) 2010-03-01 13:10:51.000-0600

Please test the attached patch and report results.

By: Digium Subversion (svnbot) 2010-03-01 13:35:02.000-0600

Repository: asterisk
Revision: 249671

U   branches/1.4/apps/app_voicemail.c

------------------------------------------------------------------------
r249671 | seanbright | 2010-03-01 13:35:02 -0600 (Mon, 01 Mar 2010) | 11 lines

Fix crash in app_voicemail related to message counting.

We were passing a 'struct inprocess **' and treating it like a 'struct inprocess *'
causing a segfault.

(closes issue ASTERISK-15706)
Reported by: whardier
Patches:
     20100301_issue16921.patch uploaded by seanbright (license 71)
Tested by: whardier

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

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

By: Digium Subversion (svnbot) 2010-03-01 13:36:31.000-0600

Repository: asterisk
Revision: 249672

_U  trunk/
U   trunk/apps/app_voicemail.c

------------------------------------------------------------------------
r249672 | seanbright | 2010-03-01 13:36:31 -0600 (Mon, 01 Mar 2010) | 18 lines

Merged revisions 249671 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
 r249671 | seanbright | 2010-03-01 14:35:01 -0500 (Mon, 01 Mar 2010) | 11 lines
 
 Fix crash in app_voicemail related to message counting.
 
 We were passing a 'struct inprocess **' and treating it like a 'struct inprocess *'
 causing a segfault.
 
 (closes issue ASTERISK-15706)
 Reported by: whardier
 Patches:
       20100301_issue16921.patch uploaded by seanbright (license 71)
 Tested by: whardier
........

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

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

By: Digium Subversion (svnbot) 2010-03-01 13:38:09.000-0600

Repository: asterisk
Revision: 249673

_U  branches/1.6.0/
U   branches/1.6.0/apps/app_voicemail.c

------------------------------------------------------------------------
r249673 | seanbright | 2010-03-01 13:38:08 -0600 (Mon, 01 Mar 2010) | 25 lines

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

................
 r249672 | seanbright | 2010-03-01 14:36:30 -0500 (Mon, 01 Mar 2010) | 18 lines
 
 Merged revisions 249671 via svnmerge from
 https://origsvn.digium.com/svn/asterisk/branches/1.4
 
 ........
   r249671 | seanbright | 2010-03-01 14:35:01 -0500 (Mon, 01 Mar 2010) | 11 lines
   
   Fix crash in app_voicemail related to message counting.
   
   We were passing a 'struct inprocess **' and treating it like a 'struct inprocess *'
   causing a segfault.
   
   (closes issue ASTERISK-15706)
   Reported by: whardier
   Patches:
         20100301_issue16921.patch uploaded by seanbright (license 71)
   Tested by: whardier
 ........
................

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

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

By: Digium Subversion (svnbot) 2010-03-01 13:39:38.000-0600

Repository: asterisk
Revision: 249674

_U  branches/1.6.1/
U   branches/1.6.1/apps/app_voicemail.c

------------------------------------------------------------------------
r249674 | seanbright | 2010-03-01 13:39:38 -0600 (Mon, 01 Mar 2010) | 25 lines

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

................
 r249672 | seanbright | 2010-03-01 14:36:30 -0500 (Mon, 01 Mar 2010) | 18 lines
 
 Merged revisions 249671 via svnmerge from
 https://origsvn.digium.com/svn/asterisk/branches/1.4
 
 ........
   r249671 | seanbright | 2010-03-01 14:35:01 -0500 (Mon, 01 Mar 2010) | 11 lines
   
   Fix crash in app_voicemail related to message counting.
   
   We were passing a 'struct inprocess **' and treating it like a 'struct inprocess *'
   causing a segfault.
   
   (closes issue ASTERISK-15706)
   Reported by: whardier
   Patches:
         20100301_issue16921.patch uploaded by seanbright (license 71)
   Tested by: whardier
 ........
................

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

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

By: Digium Subversion (svnbot) 2010-03-01 13:40:53.000-0600

Repository: asterisk
Revision: 249675

_U  branches/1.6.2/
U   branches/1.6.2/apps/app_voicemail.c

------------------------------------------------------------------------
r249675 | seanbright | 2010-03-01 13:40:52 -0600 (Mon, 01 Mar 2010) | 25 lines

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

................
 r249672 | seanbright | 2010-03-01 14:36:30 -0500 (Mon, 01 Mar 2010) | 18 lines
 
 Merged revisions 249671 via svnmerge from
 https://origsvn.digium.com/svn/asterisk/branches/1.4
 
 ........
   r249671 | seanbright | 2010-03-01 14:35:01 -0500 (Mon, 01 Mar 2010) | 11 lines
   
   Fix crash in app_voicemail related to message counting.
   
   We were passing a 'struct inprocess **' and treating it like a 'struct inprocess *'
   causing a segfault.
   
   (closes issue ASTERISK-15706)
   Reported by: whardier
   Patches:
         20100301_issue16921.patch uploaded by seanbright (license 71)
   Tested by: whardier
 ........
................

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

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