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-0600 | Date Closed: | 2010-03-05 15:35:46.000-0600 |
Priority: | Minor | Regression? | No |
Status: | Closed/Complete | Components: | 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 |