[Asterisk-Dev] Segfault in chan_iax

Rich Adamson radamson at routers.com
Sun Jan 4 19:27:46 MST 2004


And for those that are not sure "how" to change their * system,
iax is like this:
 exten => _6X.,1,Dial(IAX/userid:password at 205.212.173.89/${EXTEN-1})
while iax2 is like this:
 exten => _6X.,1,Dial(IAX2/userid:password at 205.212.173.89/${EXTEN-1})
which can have a couple of different forms (syntax).

And, if you want to get rid of a few unuseless error msgs, add
 noload => chan_iax.so
to the modules.conf 

Rich
------------------------
> Stay away from chan_iax, time to move on to iax2, please!!
> 
> Mark
> 
> On Sun, 4 Jan 2004, Tilghman Lesher wrote:
> 
> > Yep, iaxs[fr.callno]->owner is NULL at 3790, for whatever reason.  Looks
> > like it would have to be a race condition of some kind.  Version running on
> > this machine is CVS-11/23/03-00:42:48.
> >
> > -Tilghman
> >
> >
> > #0  0x4030675c in socket_read (id=0x80dfea8, fd=12, events=1, cbdata=0x0) at 
chan_iax.c:3790
> > 3790                                                    orignative = 
iaxs[fr.callno]->owner->nativeformats;
> > (gdb) bt full
> > #0  0x4030675c in socket_read (id=0x80dfea8, fd=12, events=1, cbdata=0x0) at 
chan_iax.c:3790
> >         orignative = 1076965568
> >         sin = {sin_family = 2, sin_port = 44051, sin_addr = {s_addr = 
1264603457}, sin_zero = "\000\000\000\000\000\000\000"}
> >         res = 172
> >         new = 0
> >         buf = "
ÿÿÿ\000\000\000\t\000\001\002\004«£».!)î¸]<ا ¹0$-èË<4Ñ£\236·1(4â\\%\026\026?\234\230\
227\225\232\236¤
Í<.*#!\037\037!$(*.6CeÕŽ·¯­¬«ªª¬®°µº¿ÆÐàkVLFA><;9999:;<=?DHMU]mñÞÖÎÌÉÇÅÄÅÄÄÅÆÈÊÌÏÓØÞç
ñyld^ZXVTSSSTTVWYZ]_dhlsyüõïíêéèææåççè", '\000' <repeats 736 times>, "Îl\002@", 
'\000' <repeats 12 times>, "\214I\036@"...
> >         src = "IAX/65.81.96.75/21\00075/21", '\000' <repeats 55 times>
> >         len = 16
> >         dcallno = 65535
> >         fh = (struct ast_iax_full_hdr *) 0x403130c0
> >         fr = {f = 0xbeffe9ac, callno = 22, data = 0x0, datalen = 0, retries = 0, ts = 9, retrytime = 0, outoforder = 0, sentyet = 0,
> >   seqno = 1, transfer = 0, final = 0, direction = 0, retrans = 0, next = 0x0, prev = 0x0}
> >         cur = (struct ast_iax_frame *) 0x0
> >         f = {frametype = 2, subclass = 4, datalen = 160, samples = 160, mallocd = 0, offset = 0, src = 0xbeffea1c "IAX/65.81.96.75/21",
> >   data = 0xbeffea78, prev = 0x0, next = 0x0}
> >         c = (struct ast_channel *) 0x0
> >         dp = (struct iax_dpcache *) 0x16
> >         format = 2
> >         exists = -1
> >         mm = 0
> >         rel0 = '\000' <repeats 255 times>
> >         rel1 = "formats=2;", '\000' <repeats 244 times>
> >         empty = '\000' <repeats 31 times>
> > #1  0x0805151e in ast_io_wait (ioc=0x80dd970, howlong=1000) at io.c:267
> >         ioc = (struct io_context *) 0x80dd970
> >         res = 1
> >         x = 0
> >         origcnt = 1
> > #2  0x4030a689 in network_thread (ignore=0x0) at chan_iax.c:4521
> >         res = 4
> >         f = (struct ast_iax_frame *) 0x80dd990
> >         freeme = (struct ast_iax_frame *) 0x80dd970
> > #3  0x400280ce in pthread_start_thread (arg=0xbefffc00) at manager.c:291
> >         self = 0xbefffc00
> >         request = {req_thread = 0x0, req_kind = REQ_CREATE, req_args = {create = {attr = 0x0, fn = 0, arg = 0x0, mask = {__val = {
> >           0 <repeats 32 times>}}}, free = {thread_id = 0}, exit = {code = 0}, post = 0x0, for_each = {fn = 0, arg = 0x0}}}
> >         outcome = (void *) 0x0
> > (gdb) print *iaxs[22]
> > $1 = {quelch = 0, voiceformat = 4, svoiceformat = 0, capability = 2, last = 0, lastsent = 3, pingtime = 1000, maxtime = 0, addr = {
> >     sin_family = 2, sin_port = 44051, sin_addr = {s_addr = 1264603457}, sin_zero = "\000\000\000\000\000\000\000"}, callno = 22,
> >   peercallno = 14079, peerformat = 4, peercapability = 2147483518, offset = {tv_sec = 1073243751, tv_usec = 364149}, rxcore = {
> >     tv_sec = 1073243751, tv_usec = 364422}, history = {0 <repeats 99 times>, -1}, jitterbuffer = 0, jitter = 1, historicjitter = 1,
> >   lag = 0, error = 0, owner = 0x0, state = 1, expirey = 60, oseqno = 2, iseqno = 2, peer = '\000' <repeats 79 times>,
> >   context = "internal", '\000' <repeats 71 times>, callerid = '\000' <repeats 79 times>, ani = '\000' <repeats 79 times>, sendani = 0,
> >   dnid = '\000' <repeats 79 times>, exten = "673", '\000' <repeats 76 times>, username = "vcch", '\000' <repeats 75 times>,
> >   secret = '\000' <repeats 79 times>, methods = "md5,plaintext", '\000' <repeats 66 times>,
> >   challenge = "\000\000\000\000\000\000\000\000\000", inkeys = '\000' <repeats 79 times>, outkey = '\000' <repeats 79 times>,
> >   language = "en", '\000' <repeats 77 times>, reg = 0x0, peerpoke = 0x0, transferring = 0, alreadygone = 1, transfer = {sin_family = 0,
> >     sin_port = 0, sin_addr = {s_addr = 0}, sin_zero = "\000\000\000\000\000\000\000"}, transfercallno = -1, peeradsicpe = 2,
> >   bridgecallno = -1, pingid = -1, lagid = -1, autoid = -1, initid = -1, dproot = '\000' <repeats 79 times>,
> >   accountcode = '\000' <repeats 19 times>, amaflags = 0, dpentries = 0x0}
> >
> > _______________________________________________
> > Asterisk-Dev mailing list
> > Asterisk-Dev at lists.digium.com
> > http://lists.digium.com/mailman/listinfo/asterisk-dev
> >
> 
> _______________________________________________
> Asterisk-Dev mailing list
> Asterisk-Dev at lists.digium.com
> http://lists.digium.com/mailman/listinfo/asterisk-dev

---------------End of Original Message-----------------





More information about the asterisk-dev mailing list