Summary: | ASTERISK-13429: Paging application crashes asterisk | ||
Reporter: | Michael Gaudette (bluefox) | Labels: | |
Date Opened: | 2009-01-22 07:01:52.000-0600 | Date Closed: | 2009-01-25 07:40:20.000-0600 |
Priority: | Critical | Regression? | No |
Status: | Closed/Complete | Components: | Applications/app_page |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ( 0) 20090124__bug14308.diff.txt ( 1) cli_output.log ( 2) gdb.txt ( 3) page_segfault_asterisk_revision_170693_backtrace.txt ( 4) page_segfault_asterisk_revision_170693_cli.txt ( 5) pagingsegfault1.4.23.bt.txt ( 6) valgrind.txt.7322 | |
Description: | Not much more to be said! See additional info below for output ****** ADDITIONAL INFORMATION ****** /usr/sbin/safe_asterisk: line 117: 6327 Segmentation fault (core dumped) nice -n $PRIORITY ${ASTSBINDIR}/asterisk -f ${CLIARGS} ${ASTARGS} >&/dev/${TTY} < /dev/${TTY} Asterisk ended with exit status 139 Asterisk exited on signal 11. Automatically restarting Asterisk. [root@cl-t067-460cl asterisk]# mpg123: no process killed [root@cl-t067-460cl asterisk]# /usr/sbin/safe_asterisk: line 117: 6470 Segmentation fault (core dumped) nice -n $PRIORITY ${ASTSBINDIR}/asterisk -f ${CLIARGS} ${ASTARGS} >&/dev/${TTY} < /dev/${TTY} Asterisk ended with exit status 139 Asterisk exited on signal 11. Automatically restarting Asterisk. mpg123: no process killed | ||
Comments: | By: Michael Gaudette (bluefox) 2009-01-22 07:20:08.000-0600 In case this happens to be the first idea, dahdi_test seems to work so it's not the dahdi_dummy that is missing By: Michael Gaudette (bluefox) 2009-01-22 07:32:25.000-0600 I can't test this anymore, because I had to revert, but I seem to notice that the problem occured while hints were being changed. So it may have something to do with hints coupled with the page application. By: Joshua C. Colp (jcolp) 2009-01-22 08:27:03.000-0600 We are going to need much more information to diagnose this issue. This includes a backtrace (read doc/backtrace.txt for information on getting one) plus the actual Page arguments and channels involved. Complete console output would also be useful. By: Michael Gaudette (bluefox) 2009-01-23 02:49:41.000-0600 Uploaded the backtrace and the CLI output. I created a test extension that crashed Asterisk (only on 1.4.23, not 1.4.22.1) that boiled it down to it's essence. I also tried removing all involved hints, thinking the amount of hints changing at the same time crashed Asterisk, but that didn't solve the issue. Note that I did not remove the various phone's (all Polycom) subscriptions though. By: David Brillert (aragon) 2009-01-23 14:54:10.000-0600 Ouch, paging crashes for me also on Asterisk 1.4.23 official release (gdb) bt #0 0x080751ad in get_unaligned_uint32 () #1 0x08074a2d in __ast_free_region () #2 0x080754c7 in __ast_free () #3 0x080a75a1 in ast_dial_destroy () #4 0x0185d288 in page_exec (chan=0x9bf4298, data=0xb73c0f38) at app_page.c:191 ASTERISK-1 0x080d5109 in pbx_exec () ASTERISK-2 0x080d8eaa in pbx_extension_helper () ASTERISK-3 0x080da237 in ast_spawn_extension () ASTERISK-4 0x080da695 in __ast_pbx_run () ASTERISK-5 0x080db500 in pbx_thread () ASTERISK-6 0x0811fc67 in dummy_start () ASTERISK-7 0x008fd45b in start_thread () from /lib/libpthread.so.0 ASTERISK-8 0x00854e5e in clone () from /lib/libc.so.6 (gdb) bt full #0 0x080751ad in get_unaligned_uint32 () No symbol table info available. #1 0x08074a2d in __ast_free_region () No symbol table info available. #2 0x080754c7 in __ast_free () No symbol table info available. #3 0x080a75a1 in ast_dial_destroy () No symbol table info available. #4 0x0185d288 in page_exec (chan=0x9bf4298, data=0xb73c0f38) at app_page.c:191 dial = (struct ast_dial *) 0x9bfada0 u = (struct ast_module_user *) 0x9bfb1d0 options = 0x0 tech = 0x0 resource = 0xb73bec96 "2001@default-local-paging" tmp = 0x0 tmp2 = 0xb73beaf1 "ocal" meetmeopts = "1111733070d|Atqxd\000|mqxdw(5)\000|ÊÁ\t\020ñ\027\b\214\030¿\t\000\000\000\000°í;·\000\000\000\000\001\000\000\000\006\000\000\000(E¿\t8î;·B\002\r\btò\025\bò\t\000\000n\f\026\b\235ø\025\b" originator = "SIP/6010\00009bf6a90\000;·mö\021\b\214\004\220\000(\b\000\000(E¿\t\001\000\000\0008í;·\220;<·(E¿\tØD¿\tHí;·\200\b\220\000\230í;·'\207\f\bhò\027\bÇô\025\b" flags = {flags = 0} confid = 1111733070 app = (struct ast_app *) 0xb7400a98 res = 0 pos = 14 i = 0 dial_list = (struct ast_dial **) 0x9c0a560 num_dials = 1 __PRETTY_FUNCTION__ = "page_exec" ASTERISK-1 0x080d5109 in pbx_exec () No symbol table info available. ASTERISK-2 0x080d8eaa in pbx_extension_helper () No symbol table info available. ASTERISK-3 0x080da237 in ast_spawn_extension () No symbol table info available. ASTERISK-4 0x080da695 in __ast_pbx_run () No symbol table info available. ASTERISK-5 0x080db500 in pbx_thread () No symbol table info available. ASTERISK-6 0x0811fc67 in dummy_start () No symbol table info available. ASTERISK-7 0x008fd45b in start_thread () from /lib/libpthread.so.0 No symbol table info available. ASTERISK-8 0x00854e5e in clone () from /lib/libc.so.6 No symbol table info available. By: David Brillert (aragon) 2009-01-23 14:58:44.000-0600 -- Executing [*830@default-super:1] Answer("SIP/6002-099a3038", "") in new stack -- Executing [*830@default-super:2] Set("SIP/6002-099a3038", "GROUP(OUTGOING)=6002") in new stack -- Executing [*830@default-super:3] Set("SIP/6002-099a3038", "__PAGING_RINGTIME=5") in new stack -- Executing [*830@default-super:4] NoCDR("SIP/6002-099a3038", "") in new stack -- Executing [*830@default-super:5] Set("SIP/6002-099a3038", "TIMEOUT(absolute)=45") in new stack -- Channel will hangup at 2009-01-23 20:59:05 UTC. -- Executing [*830@default-super:6] Page("SIP/6002-099a3038", "Local/6000@default-local-paging&Local/6001@default-local-paging&Local/6002@default-local-paging&Local/6003@default-local-paging&Local/6004@default-local-paging&Local/6005@default-local-paging&Local/6006@default-local-paging&Local/6007@default-local-paging&Local/6008@default-local-paging&Local/6009@default-local-paging&Local/6010@default-local-paging&Local/6011@default-local-paging&Local/6012@default-local-paging&Local/2001@default-local-paging") in new stack -- Called 6000@default-local-paging -- Executing [6000@default-local-paging:1] SIPAddHeader("Local/6000@default-local-paging-a732,2", ""Call-Info: sip:;answer-after=0"") in new stack -- Called 6001@default-local-paging -- Called 6002@default-local-paging -- Called 6003@default-local-paging -- Executing [6001@default-local-paging:1] SIPAddHeader("Local/6001@default-local-paging-1338,2", "Call-Info:;answer-after=0") in new stack -- Executing [6001@default-local-paging:2] Set("Local/6001@default-local-paging-1338,2", "GROUPCOUNT=0") in new stack -- Called 6004@default-local-paging -- Executing [6000@default-local-paging:2] Set("Local/6000@default-local-paging-a732,2", "GROUPCOUNT=0") in new stack -- Executing [6001@default-local-paging:3] GotoIf("Local/6001@default-local-paging-1338,2", "0?6") in new stack By: David Brillert (aragon) 2009-01-23 15:28:22.000-0600 New test and segfault with this revision Uploading CLI and BT svn info Path: . URL: http://svn.digium.com/svn/asterisk/branches/1.4 Repository UUID: f38db490-d61c-443f-a65b-d21fe96a405b Revision: 170693 Node Kind: directory Schedule: normal Last Changed Author: mmichelson Last Changed Rev: 170671 Last Changed Date: 2009-01-23 15:21:51 -0500 (Fri, 23 Jan 2009) Properties Last Updated: 2009-01-23 15:29:17 -0500 (Fri, 23 Jan 2009) By: David Brillert (aragon) 2009-01-24 17:45:16.000-0600 I was able to reproduce the crash on one of my production servers with revision 170693 and I ran the test under Valgrind. Asterisk doesn't crash under Valgrind but uploaded log anyway... It is very easy to reproduce the crash when not using Valgrind. Paging crashes Asterisk almost 100% of the time. By: Sean Bright (seanbright) 2009-01-24 18:19:36.000-0600 Could one of you test the attached patch and report back the results? By: Philip Rosenberg-Watt (kc0bvu) 2009-01-24 23:33:56.000-0600 Had the same problem with 1.4.23 and the patch solved the crash for me. By: Digium Subversion (svnbot) 2009-01-25 07:33:06.000-0600 Repository: asterisk Revision: 170979 U branches/1.4/apps/app_page.c ------------------------------------------------------------------------ r170979 | seanbright | 2009-01-25 07:33:05 -0600 (Sun, 25 Jan 2009) | 9 lines Resolve a logic error that was causing Page() to crash when more than one channel was specified. (closes issue ASTERISK-13429) Reported by: bluefox Patches: 20090124__bug14308.diff.txt uploaded by seanbright (license 71) Tested by: kc0bvu ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=170979 By: Digium Subversion (svnbot) 2009-01-25 07:35:16.000-0600 Repository: asterisk Revision: 170980 _U trunk/ U trunk/apps/app_page.c ------------------------------------------------------------------------ r170980 | seanbright | 2009-01-25 07:35:15 -0600 (Sun, 25 Jan 2009) | 16 lines Merged revisions 170979 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r170979 | seanbright | 2009-01-25 08:33:20 -0500 (Sun, 25 Jan 2009) | 9 lines Resolve a logic error that was causing Page() to crash when more than one channel was specified. (closes issue ASTERISK-13429) Reported by: bluefox Patches: 20090124__bug14308.diff.txt uploaded by seanbright (license 71) Tested by: kc0bvu ........ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=170980 By: Digium Subversion (svnbot) 2009-01-25 07:38:06.000-0600 Repository: asterisk Revision: 170981 _U branches/1.6.0/ U branches/1.6.0/apps/app_page.c ------------------------------------------------------------------------ r170981 | seanbright | 2009-01-25 07:38:05 -0600 (Sun, 25 Jan 2009) | 23 lines Merged revisions 170980 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ................ r170980 | seanbright | 2009-01-25 08:35:48 -0500 (Sun, 25 Jan 2009) | 16 lines Merged revisions 170979 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r170979 | seanbright | 2009-01-25 08:33:20 -0500 (Sun, 25 Jan 2009) | 9 lines Resolve a logic error that was causing Page() to crash when more than one channel was specified. (closes issue ASTERISK-13429) Reported by: bluefox Patches: 20090124__bug14308.diff.txt uploaded by seanbright (license 71) Tested by: kc0bvu ........ ................ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=170981 By: Digium Subversion (svnbot) 2009-01-25 07:40:19.000-0600 Repository: asterisk Revision: 170982 _U branches/1.6.1/ U branches/1.6.1/apps/app_page.c ------------------------------------------------------------------------ r170982 | seanbright | 2009-01-25 07:40:19 -0600 (Sun, 25 Jan 2009) | 23 lines Merged revisions 170980 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ................ r170980 | seanbright | 2009-01-25 08:35:48 -0500 (Sun, 25 Jan 2009) | 16 lines Merged revisions 170979 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r170979 | seanbright | 2009-01-25 08:33:20 -0500 (Sun, 25 Jan 2009) | 9 lines Resolve a logic error that was causing Page() to crash when more than one channel was specified. (closes issue ASTERISK-13429) Reported by: bluefox Patches: 20090124__bug14308.diff.txt uploaded by seanbright (license 71) Tested by: kc0bvu ........ ................ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=170982 |