Summary: | ASTERISK-00202: Inbound IAX2 calls block asterisk and/or crash it. | ||
Reporter: | Brian West (bkw918) | Labels: | |
Date Opened: | 2003-08-31 21:15:30 | Date Closed: | 2004-09-25 02:40:13 |
Priority: | Critical | Regression? | No |
Status: | Closed/Complete | Components: | Core/General |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ( 0) chan_iax2.c.diff ( 1) chan_iax2-correct.c.diff | |
Description: | Outbound IAX2 calls do not do this. After testing over and over it seems that inbound calls will block/crash asterisk. I have included a full bt ****** ADDITIONAL INFORMATION ****** standard bt: #0 0x41b94630 in match (sin=0x4492ea3c, callno=6, dcallno=0, cur=0x4492ebe0) at chan_iax2.c:644 #1 0x41b94bcd in find_callno (callno=6, dcallno=0, sin=0x4492ea3c, new=1, lockpeer=1) at chan_iax2.c:739 #2 0x41b9f20e in socket_read (id=0x80ea068, fd=18, events=1, cbdata=0x0) at chan_iax2.c:3780 #3 0x0805178a in ast_io_wait (ioc=0x80e8000, howlong=26) at io.c:268 #4 0x41ba4445 in network_thread (ignore=0x0) at chan_iax2.c:4758 ASTERISK-1 0x40022941 in pthread_start_thread () from /lib/i686/libpthread.so.0 bt full: #0 0x41b94630 in match (sin=0x4492ea3c, callno=6, dcallno=0, cur=0x4492ebe0) at chan_iax2.c:644 No locals. #1 0x41b94bcd in find_callno (callno=6, dcallno=0, sin=0x4492ea3c, new=1, lockpeer=1) at chan_iax2.c:739 res = 0 x = 5 now = {tv_sec = 4096, tv_usec = 0} #2 0x41b9f20e in socket_read (id=0x80ea068, fd=18, events=1, cbdata=0x0) at chan_iax2.c:3780 sin = {sin_family = 2, sin_port = 55569, sin_addr = {s_addr = 2451318337}, sin_zero = "\0\0\0\0\0\0\0"} res = 64 updatehistory = 1 new = 1 buf = "\200\006\0\0\0\0\0\001\0\0\006\001\v\002\0\002\001\001s\002\0041000\004\nBrian West\n\002en\006\005brian\t\004\ \002\b\004\0\0\004\002\f\002\0\002", '\0' <repeats 2620 times>, "Т\022B>æ\222D>\235ºA\a\0\0\0\0\0\0\0Lé\a\b\0\0\0\024H\214\00 0@", '\0' <repeats 45 times>, "'d\002@", '\0' <repeats 28 times>, "àë\222D", '\0' <repeats 12 times>, "'d\002@", '\0' <repeats imes>, "àë\222DLé\a\b\0\0\0\024H\214\002B\0\0@", '\0' <repeats 45 times>, "'d\002@", '\0' <repeats 28 times>... ptr = 0x0 len = 16 dcallno = 0 fh = (struct ast_iax2_full_hdr *) 0x4492da2c mh = (struct ast_iax2_mini_hdr *) 0x4492da2c meta = (struct ast_iax2_meta_hdr *) 0x4492da2c vh = (struct ast_iax2_video_hdr *) 0x4492da2c mth = (struct ast_iax2_meta_trunk_hdr *) 0x0 mte = (struct ast_iax2_meta_trunk_entry *) 0x0 dblbuf = "\0\222I$P\0I$\222I$P\0I$\222I$P\0I$\222I$´aêÅ\024fWç¤LXdè\210\030\f", '\0' <repeats 1059 times>, "Т\022B", <repeats 16 times>, "Lé\a\b\0\0\0\024H\214\002B\0\0@", '\0' <repeats 129 times>, "Lé\a\b\0\0\0\024H\214\002B\0\0@", '\0' <repe 37 times>, "+\213\002BТ\022B\027\0\0\0\0\0@\0\004Ñ\222D}\212\002B\027\0\0\0\\Ð\222DÌÏ\222D", '\0' <repeats 18 times>, "@", '\ epeats 13 times>, "\\Ð\222DLé\a\b\0\0@", '\0' <repeats 128 times>, "\024H\214\002B\0\0"... fr = {callno = 0, dcallno = 0, data = 0x0, datalen = 0, retries = 0, ts = 6232, retrytime = 0, outoforder = 0, sentyet = 0, oseqno = 3, iseqno = 4, transfer = 0, final = 0, direction = 0, retrans = 0, next = 0x0, prev = 0x0, af = { frametype = 2, subclass = 2, datalen = 33, samples = 160, mallocd = 0, offset = 64, src = 0x41ba8f87 "IAX2", data = 0x4492c9f4, prev = 0x0, next = 0x0}, unused = '\0' <repeats 63 times>, afdata = 0x4492c9f4 "Ø ¢áZP"} cur = (struct iax_frame *) 0x0 f = {frametype = 6, subclass = 1, datalen = 0, samples = 160, mallocd = 0, offset = 0, src = 0x41ba8f87 "IAX2", data = 0x0, prev = 0x0, next = 0x0} c = (struct ast_channel *) 0x8122910 dp = (struct iax2_dpcache *) 0x0 peer = (struct iax2_peer *) 0x0 ies = {called_number = 0x0, calling_number = 0x0, calling_ani = 0x0, calling_name = 0x0, called_context = 0x0, username = 0x0, password = 0x0, capability = 0, format = 0, language = 0x0, version = 0, adsicpe = 0, dnid = 0x0, rdnis = 0x authmethods = 0, challenge = 0x0, md5_result = 0x0, rsa_result = 0x0, apparent_addr = 0x0, refresh = 0, dpstatus = 0, callno = 0, cause = 0x0, iax_unknown = 0 '\0', msgcount = 0, autoanswer = 0, musiconhold = 0, transferid = 0} ied0 = {buf = '\0' <repeats 1023 times>, pos = 0} ied1 = {buf = "\t\004\0\0\0\002", '\0' <repeats 1017 times>, pos = 6} format = 2 exists = -1 mm = 0 minivid = 0 ts = 0 empty = '\0' <repeats 31 times> #3 0x0805178a in ast_io_wait (ioc=0x80e8000, howlong=26) at io.c:268 res = 1 x = 0 origcnt = 2 #4 0x41ba4445 in network_thread (ignore=0x0) at chan_iax2.c:4758 ---Type <return> to continue, or q <return> to quit--- res = 26 f = (struct iax_frame *) 0x0 freeme = (struct iax_frame *) 0x0 ASTERISK-1 0x40022941 in pthread_start_thread () from /lib/i686/libpthread.so.0 No symbol table info available. | ||
Comments: | By: Brian West (bkw918) 2003-08-31 21:34:41 lines 4028 and 4030 in chan_iax2.c change iaxs to iaxsl seems to have fixed it.... bkw By: Mark Spencer (markster) 2003-09-01 10:25:32 Fixed in CVS |