Summary: | ASTERISK-12033: Chan_skinny causing asterisk dumps core randomly | ||
Reporter: | sbisker (sbisker) | Labels: | |
Date Opened: | 2008-05-16 14:41:05 | Date Closed: | 2008-05-16 16:29:37 |
Priority: | Critical | Regression? | No |
Status: | Closed/Complete | Components: | Channels/chan_skinny |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ||
Description: | I have a 1.4.19 system that has 35 chan_skinny devices that is randomly crashing on ast_rtp_new_source. All of the phones are wireless 7920 or 7921. It usually happens every week or so, however, it's done it 3 times today. Don't know if the problem is with RTP, or chan_skinny. The backtrace looks the same every time. Hopefully this is an easy fix. Here's the backtrace. #0 0x080cebee in ast_rtp_new_source (rtp=0x0) at rtp.c:2004 #1 0x00a97765 in skinny_indicate (ast=0x9d88fa8, ind=20, data=0x0, datalen=0) at chan_skinny.c:2799 #2 0x08083a41 in ast_indicate_data (chan=0x9d88fa8, condition=20, data=0x0, datalen=0) at channel.c:2348 #3 0x080839a6 in ast_indicate (chan=0x9d88fa8, condition=20) at channel.c:2334 #4 0x08088782 in ast_channel_bridge (c0=0x9d88528, c1=0x9d88fa8, config=0xb5cca080, fo=0xb5cc9eec, rc=0xb5cc9ee8) at channel.c:3933 ASTERISK-1 0x00a5f308 in ast_bridge_call (chan=0x9d88528, peer=0x9d88fa8, config=0xb5cca080) at res_features.c:1422 ASTERISK-2 0x00b8d85a in dial_exec_full (chan=0x9d88528, data=0xb5cccb10, peerflags=0xb5cca9d0, continue_exec=0x0) at app_dial.c:1693 ASTERISK-3 0x00b8db86 in dial_exec (chan=0x9d88528, data=0xb5cccb10) at app_dial.c:1747 ASTERISK-4 0x080bb1b1 in pbx_exec (c=0x9d88528, app=0x9b296c0, data=0xb5cccb10) at /root/digium/1.4/asterisk-1.4.19/include/asterisk/strings.h:35 ASTERISK-5 0x080be3ca in pbx_extension_helper (c=0x9d88528, con=0x0, context=0x9d886a8 "macro-stdexten", exten=0x9d886f8 "s", priority=2, label=0x0, callerid=0x9bf17e0 "7898", action=E_SPAWN) at pbx.c:1862 ASTERISK-6 0x080bf470 in ast_spawn_extension (c=0x9d88528, context=0x9d886a8 "macro-stdexten", exten=0x9d886f8 "s", priority=2, callerid=0x9bf17e0 "7898") at pbx.c:2317 ASTERISK-7 0x06a912f8 in _macro_exec (chan=0x9d88528, data=0xb5cd2000, exclusive=0) at app_macro.c:308 ASTERISK-8 0x06a9209e in macro_exec (chan=0x9d88528, data=0xb5cd2000) at app_macro.c:486 ASTERISK-9 0x080bb1b1 in pbx_exec (c=0x9d88528, app=0x9b8ade8, data=0xb5cd2000) at /root/digium/1.4/asterisk-1.4.19/include/asterisk/strings.h:35 ASTERISK-10 0x080be3ca in pbx_extension_helper (c=0x9d88528, con=0x0, context=0x9d886a8 "macro-stdexten", exten=0x9d886f8 "s", priority=1, label=0x0, callerid=0x9bf17e0 "7898", action=E_SPAWN) at pbx.c:1862 ASTERISK-11 0x080bf470 in ast_spawn_extension (c=0x9d88528, context=0x9d886a8 "macro-stdexten", exten=0x9d886f8 "s", priority=1, callerid=0x9bf17e0 "7898") at pbx.c:2317 ASTERISK-12 0x080bf97a in __ast_pbx_run (c=0x9d88528) at pbx.c:2419 ASTERISK-13 0x080c06b7 in pbx_thread (data=0x9d88528) at pbx.c:2634 ASTERISK-14 0x080faeb7 in dummy_start (data=0x9d38dd0) at utils.c:865 ASTERISK-15 0x00afe371 in start_thread () from /lib/tls/libpthread.so.0 ASTERISK-16 0x00f38ffe in clone () from /lib/tls/libc.so.6 ****** ADDITIONAL INFORMATION ****** Here's the full backtrace. #0 0x080cebee in ast_rtp_new_source (rtp=0x0) at rtp.c:2004 No locals. #1 0x00a97765 in skinny_indicate (ast=0x9d88fa8, ind=20, data=0x0, datalen=0) at chan_skinny.c:2799 sub = (struct skinny_subchannel *) 0x9d89478 l = (struct skinny_line *) 0x9b38ec0 d = (struct skinny_device *) 0x9b38d78 s = (struct skinnysession *) 0x9d8d700 exten = '\0' <repeats 79 times> __PRETTY_FUNCTION__ = "skinny_indicate" #2 0x08083a41 in ast_indicate_data (chan=0x9d88fa8, condition=20, data=0x0, datalen=0) at channel.c:2348 res = -1 __PRETTY_FUNCTION__ = "ast_indicate_data" #3 0x080839a6 in ast_indicate (chan=0x9d88fa8, condition=20) at channel.c:2334 No locals. #4 0x08088782 in ast_channel_bridge (c0=0x9d88528, c1=0x9d88fa8, config=0xb5cca080, fo=0xb5cc9eec, rc=0xb5cc9ee8) at channel.c:3933 who = (struct ast_channel *) 0x0 res = AST_BRIDGE_COMPLETE nativefailed = 0 firstpass = 1 o0nativeformats = 4 o1nativeformats = 12 time_left_ms = 0 nexteventts = {tv_sec = 0, tv_usec = 0} caller_warning = 0 '\0' callee_warning = 0 '\0' __PRETTY_FUNCTION__ = "ast_channel_bridge" ASTERISK-1 0x00a5f308 in ast_bridge_call (chan=0x9d88528, peer=0x9d88fa8, config=0xb5cca080) at res_features.c:1422 other = (struct ast_channel *) 0x9d96250 f = (struct ast_frame *) 0x0 who = (struct ast_channel *) 0x0 chan_featurecode = '\0' <repeats 11 times> peer_featurecode = '\0' <repeats 11 times> res = 12137152 diff = -1244881208 hasfeatures = 0 hadfeatures = 0 aoh = (struct ast_option_header *) 0x0 backup_config = {features_caller = {flags = 0}, features_callee = {flags = 0}, start_time = {tv_sec = 0, tv_usec = 0}, feature_timer = 0, timelimit = 0, play_warning = 0, warning_freq = 0, warning_sound = 0x0, end_sound = 0x0, start_sound = 0x0, firstpass = 0, flags = 0} bridge_cdr = (struct ast_cdr *) 0x3cd2b90 __PRETTY_FUNCTION__ = "ast_bridge_call" ASTERISK-2 0x00b8d85a in dial_exec_full (chan=0x9d88528, data=0xb5cccb10, peerflags=0xb5cca9d0, continue_exec=0x0) at app_dial.c:1693 config = {features_caller = {flags = 0}, features_callee = {flags = 2}, start_time = {tv_sec = 1210966438, tv_usec = 485622}, feature_timer = 0, timelimit = 0, play_warning = 0, warning_freq = 0, warning_sound = 0x0, end_sound = 0x0, start_sound = 0x0, firstpass = 0, flags = 2} ---Type <return> to continue, or q <return> to quit--- number = 0x9d894e1 "5245@5245" end_time = 0 answer_time = 1210966438 res = 0 u = (struct ast_module_user *) 0x9cb2468 rest = 0x0 cur = 0x0 outgoing = (struct dial_localuser *) 0x0 peer = (struct ast_channel *) 0x9d88fa8 to = 12695 numbusy = 0 numcongestion = 0 numnochan = 0 cause = 0 numsubst = "5245@5245\000\000\000\000\000\000\000d\000\000\000? \000\000\000\000\000\000\000\000???\000?\177?\000?\205?\000e\000\000\000???\177?\000?\205?\000?{?\000???:?\000?\205?\000[\031?\000`???K?X??<?\006\b????\027\000\000\000\024\215?\t\221\215\022\b\000\000\000\000\000\000\000\000\032\027\000\000\033\215?\t2\000\000\000!\000\000\000\017\000\000\000\020\000\000\000\004\000\000\000l\000\000\000\005\000\000\000\210\000\000\000\001\000\000\000????\000\000\000\000\024??\020\215?\t\236?-H\230\215?\t\000\000\000\000`??\200\000\000\000"... cidname = '\0' <repeats 79 times> privdb_val = 0 calldurationlimit = 0 timelimit = 0 play_warning = 0 warning_freq = 0 warning_sound = 0x0 end_sound = 0x0 start_sound = 0x0 dtmfcalled = 0x0 dtmfcalling = 0x0 status = "ANSWER\000R\000GS", '\0' <repeats 244 times> play_to_caller = 0 play_to_callee = 0 sentringing = 0 moh = 0 outbound_group = 0x0 result = 0 start_time = 1210966430 privintro = "\237??\000\004\000\000\000????K\000\000\000?f?\t?{?\000\034?s D*?\000????\001", '\0' <repeats 12 times>, "?\000\000\000\000\000\000\000\000\000\000-\200\025\000?\201\000\000\001", '\0' <repeats 23 times>, "?\004\000\000\000\000\000\000\000\020\000\000\b\000\000\000\000\000\000\000??-H\002\000\000\000\002\000\000\000\000\000\000\000?*[E\000\000\000\000-\200\025\000\000\000\000\000\214??\001T?\000@\230?\000\017\000\000\000?\177?\000\017\000\000\000\037??\000???F??\000P??\t\037??\000\017\000\000\000?\177?", '\0' <repeats 17 times>, "????\026??\000\000"... privcid = "???\001T?\000@\230?\000\017\000\000\000?\177?\000\017\000\000\000\037??\000\034??F??\000P??\t\037??\000\017\000\000\000?\177?\000\000\000\000\000\000\000\000\000\214?????\000\037??", '\0' <repeats 17 times>, "\234\215?\t\234\215?\t?\215?\t\037??\000?????", '\0' <repeats 20 times>, "????\001", '\0' <repeats 23 times>, "?\177?\000\017\000\000\000\000\000\000\000\230??\016??\000?\177?\---Type <return> to continue, or q <return> to quit--- 000(???>?\000\r??\026??\002\000\000\000?\a\000\000?3?\000\017\000\000\000\210\000\000\000\000\000\000\000??\000\000\000"... parse = 0xb5cc9f50 "Skinny" opermode = 0 args = {argc = 3, argv = 0xb5cca1b4, peers = 0xb5cc9f50 "Skinny", timeout = 0xb5cc9f61 "20", options = 0xb5cc9f64 "tr", url = 0x0} opts = {flags = 655360} opt_args = {0x0, 0x1 "", 0x81352b2 "", 0x0, 0x0, 0x0, 0x0, 0x15802d ">2", 0x81a4 <Address 0x81a4 out of bounds>} datastore = (struct ast_datastore *) 0x9d88f48 fulldial = 0 num_dialed = 1 __PRETTY_FUNCTION__ = "dial_exec_full" ASTERISK-3 0x00b8db86 in dial_exec (chan=0x9d88528, data=0xb5cccb10) at app_dial.c:1747 peerflags = {flags = 524288} ASTERISK-4 0x080bb1b1 in pbx_exec (c=0x9d88528, app=0x9b296c0, data=0xb5cccb10) at /root/digium/1.4/asterisk-1.4.19/include/asterisk/strings.h:35 res = -1244878240 saved_c_appl = 0x9b8adfc "Macro" saved_c_data = 0xb5cd2000 "stdexten|5245|Skinny/5245@5245" ASTERISK-5 0x080be3ca in pbx_extension_helper (c=0x9d88528, con=0x0, context=0x9d886a8 "macro-stdexten", exten=0x9d886f8 "s", priority=2, label=0x0, callerid=0x9bf17e0 "7898", action=E_SPAWN) at pbx.c:1862 e = (struct ast_exten *) 0x9b93ff0 app = (struct ast_app *) 0x9b296c0 res = -1244836944 q = {incstack = {0x0 <repeats 128 times>}, stacklen = 0, status = 5, swo = 0x0, data = 0x0, foundcontext = 0x9d886a8 "macro-stdexten"} passdata = "Skinny/5245@5245|20|tr", '\0' <repeats 8169 times> matching_action = 0 __PRETTY_FUNCTION__ = "pbx_extension_helper" ASTERISK-6 0x080bf470 in ast_spawn_extension (c=0x9d88528, context=0x9d886a8 "macro-stdexten", exten=0x9d886f8 "s", priority=2, callerid=0x9bf17e0 "7898") at pbx.c:2317 No locals. ASTERISK-7 0x06a912f8 in _macro_exec (chan=0x9d88528, data=0xb5cd2000, exclusive=0) at app_macro.c:308 c = (struct ast_context *) 0x9b909b8 e = (struct ast_exten *) 0x9b93ff0 s = 0x0 tmp = 0xb5ccedb0 "stdexten" cur = 0x0 rest = 0x0 macro = 0xb5ccedb0 "stdexten" fullmacro = "macro-stdexten\000?P\037??K?????\005\v\b\005\000\000\000\aQ\023\b\204\003\000\000wi\023\b?R\023\b\024\215?\t???\2258\017\b?\037?\000\000\000\000K\000\000\000\000\000\000" varname = "ARG2\000\000\000\000\032\027\000\000\033\215?\t2\000\000\000!\000\000\000\017\000\000\000\020\000\000\000\004\000\000\000l\000\000\000\005\000\000\000\210\000\000\000\001\000\000\000????\000\000\000\000\004??\020\215?\t\236?-H\230\215?\t\000\000\000" runningapp = "Dial\000\177?\000?\205?\000h\000\000\000????\177?\000?\205?\000?{?\000????:?\000?\205?\000[\031?\000P\037??K?H??<?\006\b????\027\000\000\000\024\215?\t\221\215\022\b" runningdata = "${ARG2}|20|tr\000te)=0\000\234\215?\t\234\215?\t\234\215?\t\v\216?\t\033\216?\t\234\215?\t\033\216?\t", '\0' <repe---Type <return> to continue, or q <return> to quit--- ats 20 times>, "????", '\0' <repeats 24 times>, "???\177\017\177\003\000\000\000\000???? z?\000????\000L?\000????\003\000\000\000\003\000\000\000p;\024\b?\a\000\000?\a\000\000\017\000\000\000\210\000\000\000\000\000\000\000 z?\000\000\000\000\000\226??\000\000\000\000?^?\000h??$??\000\231\000\000\000\237??\000\004\000\000\000\000???\231\000\000\000?f?\t?{?\000\214?????\000"... oldargs = {0x0 <repeats 81 times>} argc = 3 x = 8 res = 0 oldexten = "5245", '\0' <repeats 251 times> oldpriority = 1 gosub_level = 0 pc = "1\000?\001T?\000@\230?\000\017\000\000\000?\177?\000\017\000\000\000\037??\000\f??F??\000P??\t\037??\000\017\000\000\000?\177?\000\000\000\000\000\000\000\000\000|?????\000\037??\000\000\000\000\000\000\000\000" depthc = "1\000[E\000\000\000\000-\200\025" oldcontext = "local", '\0' <repeats 74 times> inhangupc = 0x0 offset = 135484082 depth = 0 maxdepth = 7 setmacrocontext = 1 autoloopflag = 512 dead = 0 inhangup = 0 save_macro_exten = 0x0 save_macro_context = 0x0 save_macro_priority = 0x0 save_macro_offset = 0x0 u = (struct ast_module_user *) 0x9c2b9d8 __PRETTY_FUNCTION__ = "_macro_exec" ASTERISK-8 0x06a9209e in macro_exec (chan=0x9d88528, data=0xb5cd2000) at app_macro.c:486 No locals. ASTERISK-9 0x080bb1b1 in pbx_exec (c=0x9d88528, app=0x9b8ade8, data=0xb5cd2000) at /root/digium/1.4/asterisk-1.4.19/include/asterisk/strings.h:35 res = -1244856496 saved_c_appl = 0x0 saved_c_data = 0x0 ASTERISK-10 0x080be3ca in pbx_extension_helper (c=0x9d88528, con=0x0, context=0x9d886a8 "macro-stdexten", exten=0x9d886f8 "s", priority=1, label=0x0, callerid=0x9bf17e0 "7898", action=E_SPAWN) at pbx.c:1862 e = (struct ast_exten *) 0x9b970d8 app = (struct ast_app *) 0x9b8ade8 res = 8 q = {incstack = {0x9b9604c "local", 0x9b948fc "emergency", 0x0 <repeats 126 times>}, stacklen = 2, status = 5, swo = 0x0, data = 0x0, foundcontext = 0x9b96187 "extensions"} passdata = "stdexten|5245|Skinny/5245@5245", '\0' <repeats 8161 times> matching_action = 0 __PRETTY_FUNCTION__ = "pbx_extension_helper" ASTERISK-11 0x080bf470 in ast_spawn_extension (c=0x9d88528, context=0x9d886a8 "macro-stdexten", exten=0x9d886f8 "s", priority=1, ---Type <return> to continue, or q <return> to quit--- callerid=0x9bf17e0 "7898") at pbx.c:2317 No locals. ASTERISK-12 0x080bf97a in __ast_pbx_run (c=0x9d88528) at pbx.c:2419 dst_exten = '\0' <repeats 132 times>, "H\230?\000D*?\000\020\000\000\000\000\000\000\000? ?\000\000\000\000\000\f\000\000\000?\177?\000\f\000\000\000@\230?\000\230C?vQ?\000@\230?\000\f\000\000\000\000\000\000\000??\000\000\f\000\000\000\020<?\t?\177?\000\000\000\000\000?K??C??\237\017\b\001\000\000\000'??\000\000\000\000\000?\215?\t\000\000\000\000?K??C?a\222\006\b" pos = 0 digit = 0 found = 1 res = 0 autoloopflag = 0 error = 0 __PRETTY_FUNCTION__ = "__ast_pbx_run" ASTERISK-13 0x080c06b7 in pbx_thread (data=0x9d88528) at pbx.c:2634 c = (struct ast_channel *) 0x9d88528 ASTERISK-14 0x080faeb7 in dummy_start (data=0x9d38dd0) at utils.c:865 _buffer = {__routine = 0x8069401 <ast_unregister_thread>, __arg = 0xb5cd4bb0, __canceltype = 0, __prev = 0x0} ret = (void *) 0x0 a = {start_routine = 0x80c06a0 <pbx_thread>, data = 0x9d88528, name = 0x9d9b210 "pbx_thread", ' ' <repeats 11 times>, "started at [ 2658] pbx.c ast_pbx_start()"} ASTERISK-15 0x00afe371 in start_thread () from /lib/tls/libpthread.so.0 No symbol table info available. ASTERISK-16 0x00f38ffe in clone () from /lib/tls/libc.so.6 No symbol table info available. | ||
Comments: | By: Digium Subversion (svnbot) 2008-05-16 15:22:25 Repository: asterisk Revision: 116799 U branches/1.4/channels/chan_skinny.c ------------------------------------------------------------------------ r116799 | file | 2008-05-16 15:22:21 -0500 (Fri, 16 May 2008) | 4 lines Check to make sure an RTP structure exists before calling ast_rtp_new_source on it. (closes issue ASTERISK-12033) Reported by: sbisker ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=116799 By: Digium Subversion (svnbot) 2008-05-16 15:24:19 Repository: asterisk Revision: 116800 _U trunk/ U trunk/channels/chan_skinny.c ------------------------------------------------------------------------ r116800 | file | 2008-05-16 15:24:18 -0500 (Fri, 16 May 2008) | 12 lines Merged revisions 116799 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r116799 | file | 2008-05-16 17:28:11 -0300 (Fri, 16 May 2008) | 4 lines Check to make sure an RTP structure exists before calling ast_rtp_new_source on it. (closes issue ASTERISK-12033) Reported by: sbisker ........ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=116800 By: Digium Subversion (svnbot) 2008-05-16 16:29:37 Repository: asterisk Revision: 116849 _U branches/1.6.0/ U branches/1.6.0/channels/chan_skinny.c ------------------------------------------------------------------------ r116849 | file | 2008-05-16 16:29:35 -0500 (Fri, 16 May 2008) | 20 lines Merged revisions 116800 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ................ r116800 | file | 2008-05-16 17:30:24 -0300 (Fri, 16 May 2008) | 12 lines Merged revisions 116799 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r116799 | file | 2008-05-16 17:28:11 -0300 (Fri, 16 May 2008) | 4 lines Check to make sure an RTP structure exists before calling ast_rtp_new_source on it. (closes issue ASTERISK-12033) Reported by: sbisker ........ ................ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=116849 |