[Home]

Summary:ASTERISK-06696: asterisk crash in chan_iax2
Reporter:Tim Ferguson (crashhd)Labels:
Date Opened:2006-04-04 11:50:35Date Closed:2006-05-10 11:33:58
Priority:CriticalRegression?No
Status:Closed/CompleteComponents:Core/General
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) thread_apply_all_bt.txt
Description:Asterisk will randomly crash. Pretty common occurence on this one box I have. Asterisk version is SVN-branch-1.2-r16771 ; zaptel 1.2.5 ; libpri 1.2.2


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

(gdb) bt
#0  0x008aeae9 in schedule_delivery (fr=0xb7189188, updatehistory=1, fromtrunk=0, tsout=0xb74e5904) at chan_iax2.c:2398
#1  0x008a859e in socket_read (id=0x9225cd8, fd=8, events=1, cbdata=0x9225d08) at chan_iax2.c:7614
#2  0x080558ab in ast_io_wait (ioc=0x9224858, howlong=0) at io.c:284
#3  0x008a2f89 in network_thread (ignore=0x0) at chan_iax2.c:7983
#4  0x00442dd8 in start_thread () from /lib/tls/libpthread.so.0
ASTERISK-1  0x00835d2a in clone () from /lib/tls/libc.so.6
(gdb) bt full
#0  0x008aeae9 in schedule_delivery (fr=0xb7189188, updatehistory=1, fromtrunk=0, tsout=0xb74e5904) at chan_iax2.c:2398
       frame = {data = 0xb7189180, ts = 43, ms = 344, type = -1223688176, next = 0x88ecf8, prev = 0xb7100010}
       type = 1
       len = 20
       ret = 0
       needfree = 0
       t = {tv_sec = 22, tv_usec = 665000}
#1  0x008a859e in socket_read (id=0x9225cd8, fd=8, events=1, cbdata=0x9225d08) at chan_iax2.c:7614
       orignative = 1
       sin = {sin_family = 2, sin_port = 55569, sin_addr = {s_addr = 2511540295}, sin_zero = "\000\000\000\000\000\000\000"}
       res = 164
       updatehistory = 1
       new = 0
       buf = "\000\001X\211~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\177\177\177\177\177\177", '\0' <repeats 64 times>, "\001\000\000\000\001", '\0' <repeats 115 times>, "e0x"...
       ptr = (void *) 0x0
       len = 16
       dcallno = 0
       fh = (struct ast_iax2_full_hdr *) 0xb7189188
       mte = (struct ast_iax2_meta_trunk_entry *) 0x0
       mtm = (struct ast_iax2_meta_trunk_mini *) 0xb6b80e30
       dblbuf = "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", '\0' <repeats 2000 times>, "0b\v\b\000\000\000\024?020x\000\000\000@\000\000\000\000\000\000\000\000\0000b\v\b\000\000\000\024?020x\000\000\000@", '\0' <repeats 73 times>...
       fr = {sockfd = 0, callno = 14, dcallno = 0, data = 0x0, datalen = 0, retries = 0, ts = 22665, retrytime = 0,
 outoforder = 0, sentyet = 0, oseqno = 13, iseqno = 9, transfer = 0, final = 0, direction = 0, retrans = 0, next = 0x0,
 prev = 0x0, af = {frametype = 2, subclass = 4, datalen = 160, samples = 160, mallocd = 0, offset = 64, src = 0x8b8b2f "IAX2",
   data = 0xb74e59a4, delivery = {tv_sec = 0, tv_usec = 0}, prev = 0x0, next = 0x0}, unused = '\0' <repeats 63 times>,
 afdata = 0xb74e59a4 "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"}
       cur = (struct iax_frame *) 0xb7189188
       iabuf = "10.0.4.253\00049\000\000"
       f = {frametype = 2, subclass = 4, datalen = 160, samples = 160, mallocd = 0, offset = 0, src = 0x8b8b2f "IAX2",
 data = 0xb74e69b4, delivery = {tv_sec = 0, tv_usec = 0}, prev = 0x0, next = 0x0}
       c = (struct ast_channel *) 0x0
       dp = (struct iax2_dpcache *) 0xb74e5934
       tpeer = (struct iax2_trunk_peer *) 0xb74e5934
       ies = {called_number = 0x0, calling_number = 0x0, calling_ani = 0x0, calling_name = 0x0, calling_ton = -1,
 calling_tns = -1, calling_pres = -1, called_context = 0x0, username = 0x0, password = 0x0, capability = 0, format = 0,
 codec_prefs = 0x0, language = 0x0, version = 0, adsicpe = 0, dnid = 0x0, rdnis = 0x0, authmethods = 0, encmethods = 0,
 challenge = 0x0, md5_result = 0x0, rsa_result = 0x0, apparent_addr = 0x0, refresh = 0, dpstatus = 0, callno = 0, cause = 0x0,
 causecode = 16 '\020', iax_unknown = 0 '\0', msgcount = -1, autoanswer = 0, musiconhold = 0, transferid = 0, datetime = 0,
 devicetype = 0x0, serviceident = 0x0, firmwarever = -1, fwdesc = 0, fwdata = 0x0, fwdatalen = 0 '\0', enckey = 0x0,
 enckeylen = 0 '\0', provver = 0, samprate = 1, provverpres = 0, rr_jitter = 0, rr_loss = 0, rr_pkts = 0, rr_delay = 0,
 rr_dropped = 0, rr_ooo = 0}
       ied0 = {buf = "\026\031No such context/extension*\001\003", '\0' <repeats 993 times>, pos = 30}
       ied1 = {buf = "\t\004\000\000\000\004", '\0' <repeats 1017 times>, pos = 6}
       format = -1223126648
       exists = 1
       minivid = 0
       empty = '\0' <repeats 31 times>
       duped_fr = (struct iax_frame *) 0x1
       host_pref_buf = "(ulaw)", '\0' <repeats 121 times>
       caller_pref_buf = "()", '\0' <repeats 125 times>
       pref = {order = "\003", '\0' <repeats 30 times>}
       rpref = {order = '\0' <repeats 31 times>}
       using_prefs = 0x8b9927 "mine"
#2  0x080558ab in ast_io_wait (ioc=0x9224858, howlong=0) at io.c:284
       res = 1
       x = 0
       origcnt = 2
#3  0x008a2f89 in network_thread (ignore=0x0) at chan_iax2.c:7983
       res = -1229451728
---Type <return> to continue, or q <return> to quit---
       count = 0
       f = (struct iax_frame *) 0x9224858
       freeme = (struct iax_frame *) 0x5
#4  0x00442dd8 in start_thread () from /lib/tls/libpthread.so.0
No symbol table info available.
ASTERISK-1  0x00835d2a in clone () from /lib/tls/libc.so.6
No symbol table info available.
Comments:By: Tim Ferguson (crashhd) 2006-04-04 12:00:29

The last time it crashed (today) the exit code was: 11

By: Tim Ferguson (crashhd) 2006-04-04 12:01:29

Linux Version: CentOS
Kernel Version: 2.4.21-40.ELsmp

By: Tim Ferguson (crashhd) 2006-04-06 21:09:49

#0  0x00172009 in schedule_delivery (fr=0x8c96c30, updatehistory=Variable "updatehistory" is not available.
) at chan_iax2.c:2381
2381                                    if ((ast_bridged_channel(iaxs[fr->callno]->owner)->tech->properties & AST_CHAN_TP_WANTSJITTER)) {
(gdb) bt
#0  0x00172009 in schedule_delivery (fr=0x8c96c30, updatehistory=Variable "updatehistory" is not available.
) at chan_iax2.c:2381
#1  0x0018131d in socket_read (id=0x8bc0eb0, fd=8, events=1, cbdata=0x8bc2210) at chan_iax2.c:7617
#2  0x08055b5f in ast_io_wait (ioc=0x8bc21f0, howlong=0) at io.c:284
#3  0x00178daf in network_thread (ignore=0x0) at chan_iax2.c:7986
#4  0x00c93371 in start_thread () from /lib/tls/libpthread.so.0
ASTERISK-1  0x00a849be in clone () from /lib/tls/libc.so.6
(gdb) bt full
#0  0x00172009 in schedule_delivery (fr=0x8c96c30, updatehistory=Variable "updatehistory" is not available.
) at chan_iax2.c:2381
       len = 20
       ret = Variable "ret" is not available.
(gdb)


This is with files debug patch.

By: Tilghman Lesher (tilghman) 2006-04-16 01:35:37

What is the ACTUAL signal that caused this coredump?  The signal is listed at the top of the gdb output and is not included in your report.

I suspect you have a machine with a hardware problem.

By: Andrey S Pankov (casper) 2006-04-16 11:18:49

Corydon76: look at the Note ASTERISK-4266688 :)

By: Tim Ferguson (crashhd) 2006-04-17 01:05:32

We only had one crash last week (on the 14th of april). This is down from 2 or 3 a day previous to File's patch to check for the ->tech (pointer) null values (line 2381 of chan_iax2.c)



Here is the gdb, bt full from the most recent crash:
#0  0x00291009 in schedule_delivery (fr=0xb6c27400, updatehistory=Variable "updatehistory" is not available.
) at chan_iax2.c:2381
warning: Source file is more recent than executable.

2381                                    if ((ast_bridged_channel(iaxs[fr->callno]->owner)->tech) && (ast_bridged_channel(iaxs[fr->callno]->owner)->tech->properties & AST_CHAN_TP_WANTSJITTER)) {
(gdb) bt full
#0  0x00291009 in schedule_delivery (fr=0xb6c27400, updatehistory=Variable "updatehistory" is not available.
) at chan_iax2.c:2381
       len = 20
       ret = Variable "ret" is not available.





The exit signal was 11 on this most recent crash and 11 on the previously posted crash.

By: Serge Vecher (serge-v) 2006-05-02 16:06:14

CrashHD: what's the status with this situation? Does it still exist in the latest 1.2 branch -- if so, please produce a bt from a non-optimized build. Thanks...

By: Serge Vecher (serge-v) 2006-05-10 11:33:58

no response from a reporter. If the issue still exists in latest trunk or 1.2 branch, please reopen the report with a backtrace from non-optimized build. Thank you.