[Asterisk-Dev] Illegal Instruction

Girish Gopinath asterisk_in at yahoo.com
Fri Nov 5 17:17:49 MST 2004


Sorry for the cross-post. I posted this to the -users list about 12 hours back and havent
got any reply. Probably nobody there had experienced this problem. Can someone take a
look into this and tell me why Asterisk seg-faults?

--- Girish Gopinath <asterisk_in at yahoo.com> wrote:

> Folks,
> 
> I have an RH machine which was running Asterisk 1.0-RC1. This evening i switched to
> Asterisk 1.0.1. Installation was successful, however Asterisk terminates abnormally
> during startup flashing an 'Illegal Instruction' message on the console. I noticed that
> this happens while loading the iax2 module. I am attaching the trace of core with this.
> Can anyone tell me what is going wrong and how to fix it?
> 
> TIA, Girish
> 
> From the console:
> [root at proxy05 asterisk-1.0.1]# asterisk -cvvv
>   == Parsing '/etc/asterisk/asterisk.conf': Found
>   == Parsing '/etc/asterisk/extconfig.conf': Found
> Asterisk 1.0.1, Copyright (C) 1999-2004 Digium.
> .
> .
>  [chan_iax2.so] => (Inter Asterisk eXchange (Ver 2))
>   == Manager registered action IAXpeers
>   == Parsing '/etc/asterisk/iax.conf': Found
>   == Registered channel type 'IAX2' (Inter Asterisk eXchange Driver (Ver 2))
>   == Using TOS bits 16
>   == IAX Ready and Listening on 0.0.0.0 port 4569
> Illegal instruction (core dumped)
> 
> Here's the trace:
> 
> (gdb) bt full
> #0  0x402f2e1c in try_firmware (s=0xbfffdfd0 "/var/lib/asterisk/firmware/iax/iaxy.bin")
> at chan_iax2.c:953
>         stbuf = {st_dev = 770, __pad1 = 0, st_ino = 1073945564, st_mode = 135379256,
> st_nlink = 135379280,
>   st_uid = 3221217128, st_gid = 1073945564, st_rdev = 581449477212191056, __pad2 =
> 57192,
> st_size = 1073905796,
>   st_blksize = 135379296, st_blocks = 0, st_atim = {tv_sec = 8, tv_nsec = 1073905676},
> st_mtim = {tv_sec = 1075596704,
>     tv_nsec = 135379336}, st_ctim = {tv_sec = -1073750120, tv_nsec = 1075596704},
> __unused4 = 135379256,
>   __unused5 = 135379347}
>         cur = (struct iax_firmware *) 0xbfffdfef
>         ifd = -1
>         fd = 25
>         res = -1073750033
>         fwh = (struct ast_iax2_firmware_header *) 0x0
>         fwh2 = {magic = 1818914, version = 0, devname =
> "\000\000x???>?\002@\223?\021\b??", datalen = 854033,
>   chksum = "\000\000\230?\021\b\000\000\000\000?-\034@\000", data = 0xbfffdf1a ""}
>         md5 = {buf = {3221217232, 3221217271, 3221217487, 3221217232}, bits =
> {3221217487, 0},
>   in = '\0' <repeats 16 times>,
>
"????\000\000\000\0008?\021\b\000\000\000\000\000\000\000\000?\001\000\000\r\000\000\000\002\000\000\000\001\000\000\000?????\006\000\0000\020\000"}
>         sum = "\001\200??????????????"
>         buf = "\000\000\000\000E?\016 at h???1\000\000\000\";\v@?#\001 at 6k\r\b", '\0'
> <repeats 12 times>,
> "(????\200\016 at P???\201?\f\b\002\000\000\000\000???`???\215\001\r\b",
> '\0' <repeats 12 times>,
>
"\";\v@?\006\002@|X\034@\b???\000\000\000\0006k\r\b\022?\002@\000\000\000\000\000\000\000\0008???\022?\002@
> X\034@\000\000\000\000(????\033s \000\000\000\000????????", '\0' <repeats 12 times>,
> "?X\033@", '\0' <repeats 18 times>, "u \000\000\000\000\000\000\000\000?X\033@", '\0'
> <repeats 18 times>...
>         len = -1073750232
>         chunk = -1073750064
>         s2 = 0xbfffd9d0 ""
>         last = 0xbfffdfef "iaxy.bin"
> #1  0x402ee091 in reload_firmware () at chan_iax2.c:1156
>         cur = (struct iax_firmware *) 0x811b938
>         curl = (struct iax_firmware *) 0x811b993
>         curp = (struct iax_firmware *) 0xffffffff
>         fwd = (DIR *) 0x811b938
>         de = (struct dirent *) 0xbfffdfee
>         dir =
>
"/var/lib/asterisk/firmware/iax\000@\020???\000\000\000\000?1\034@\001\000\000\000\b?\r\b@?\016\b\001\000\000\000\001\000\000\000`?\002@?1\034@????\000\000\000\000P\000\000\000?3\034@\000\000\000\000E?\016\b\000\000\000\000@?\016\b????P?\t\b?1\034@?1\034@@?\016\b\b?\r\b\033[1;30;40m
>  == \033[0;37;40m\000??R?\002 at 0X\034@\020\000\000\000 X\034@?M\034 at 3\000\000\---Type
> <return> to continue, or q <return> to quit---
> 000s?\016\b????j?\002@@\227\016\b$?0@"...
>         fn =
>
"/var/lib/asterisk/firmware/iax/iaxy.bin\000G\000\000\000??\020@\001\000\000\000\0000\001 at G\000\000\000`.\034@\003P\000\b\000\000\000\000b\000\000\000j?\002@?1\034@\0000\001 at X???2\236\020@?1\034@\0000\001 at G\000\000\000\0000\001@?M\034@\237???x????M\034 at G\000\000\000r?\016\bx????\235\020@?1\034@\0000\001 at G\000\000\000j?\002 at G\000\000\000?1\034@????R?\002@?1\034@\0000\001 at G\000\000\000\0000\001 at P???P\000\000\000"...
> #2  0x402ed502 in load_module () at chan_iax2.c:7489
>         config = 0xbfffdfee "/iaxy.bin"
>         res = 0
>         x = 0
>         iabuf = "0.0.0.0\000x???G\200\002@"
>         reg = (struct iax2_registry *) 0x0
>         peer = (struct iax2_peer *) 0x0
>         sin = {sin_family = 2, sin_port = 55569, sin_addr = {s_addr = 0}, sin_zero =
> "x????\033\003@"}
> #3  0x08057608 in ast_load_resource (resource_name=0x8107bb3 "chan_iax2.so") at
> loader.c:333
>         fn = "/usr/lib/asterisk/modules/chan_iax2.so\000\000.so\000a.so", '\0' <repeats
> 207 times>
>         errors = 0
>         res = -1073750034
>         m = (struct module *) 0x8118d98
>         flags = 0
>         val = 0xbfffdfee "/iaxy.bin"
>         key = 0x0
>         o = 135368088
>         cfg = (struct ast_config *) 0x0
>         tmp = "\033[33;40mInter Asterisk eXchange (Ver
>
2)\033[0;37;40m\000\000\000\205?\f\b\230???\001\000\000\000`?\002@?1\034@????\000\000\000"
> #4  0x08057e1e in load_modules () at loader.c:428
>         mods = (DIR *) 0x81079b0
>         d = (struct dirent *) 0x0
>         x = 1
>         cfg = (struct ast_config *) 0x8106130
>         v = (struct ast_variable *) 0x0
>         tmp =
>
"\033[1;37;40mchan_iax2.so\033[0;37;40m\000\00040m\000;40m\000\000?\004\000\000&#1063;\016\b\034\000\000\0008???\220\237\a\b&#1063;\016\b??\a\b?T\r\b\2009\r\b"
> #5  0x0809b965 in main (argc=-1073748336, argv=0xbfffe580) at asterisk.c:1844
> ---Type <return> to continue, or q <return> to quit---
>         pw = (struct passwd *) 0xbfffe690
>         c = -1073750034
>         filename = "/root/.asterisk_history", '\0' <repeats 56 times>
>         hostname =
> "proxy05\000:;\v@?\022\005\b?l\000@\026y\000@\005\000\000\000\000\000\000\200
> \000\000\000\000\016\002@\002", '\0' <repeats 15 times>,
> "<????\006\002\001?;\v@`?\n@@c\n@?\006\002@\a\000\000\000?\t\002@", '\0' <repeats 12
> times>,
>
"\200&\001@?)\001@\216?w\001\220???\vm\000@%?\004\b\216?w\001??\004\b@????)\001@\005\000\000\0000\n\002@\000\000\000\000\001\000\000\000L???1?\000@?l\000@
> \016\002@\001", '\0' <repeats 11 times>, "@???>?\002@", '\0' <repeats 12 times>,
> "????\000\000"...        tmp =
>
"`?\n@@c\n@?\006\002@\a\000\000\000?\t\002@\214\b\002@??Pc???r`????}\000 at 6?\004\b?\006\002@\vm\000@?\n\v@\202\211?\n`\231\n@????\200&\001@\000\000\000\000?\004\002"
>         xarg = 0x0
>         x = 110
>         f = (FILE *) 0xbfffe690
>         sigs = {__val = {134238211, 0 <repeats 31 times>}}
>         num = 1411395875
>         buf = 0xbfffe690 "\003P"
>         runuser = 0x0
>         rungroup = 0x3 <Address 0x3 out of bounds>
> (gdb)
> 



		
__________________________________ 
Do you Yahoo!? 
Check out the new Yahoo! Front Page. 
www.yahoo.com 
 




More information about the asterisk-dev mailing list