[Asterisk-Dev] Segfault in chan_iax

Brian West brian at bkw.org
Sun Jan 4 21:26:33 MST 2004


Or better yet.. rip chan_iax.c out and make chan_iax2 register both IAX
and IAX2 channel types! :)  Similar to how app_voicemail does it for
backwards compat.

bkw

On Sun, 4 Jan 2004, Rich Adamson wrote:

> 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-----------------
>
>
> _______________________________________________
> Asterisk-Dev mailing list
> Asterisk-Dev at lists.digium.com
> http://lists.digium.com/mailman/listinfo/asterisk-dev
>



More information about the asterisk-dev mailing list