[Serusers] Illegal instruction

Nils Ohlmeier nils at iptel.org
Tue Apr 22 01:10:28 CEST 2003


The problem is probably that you do not have a Athlon CPU, but the Makefile 
contains optimization -march=athlon for such a CPU. Please remove or comment 
the line in Makefile.defs with '-march=athlon', recompile and try again.
This issue is already fixed in our CVS, but sadly still present in the old 
release.

Regards
  Nils Ohlmeier

On Tuesday 22 April 2003 00:13, Matthew McGillis wrote:
> System Configuration:
> RedHat 8.0 Linux box
> Linux red.jenika.com 2.4.18-27.8.0 #1 Fri Mar 14 05:45:24 EST 2003
> i586 i586 i386 GNU/Linux
> make-3.79.1-14
> tar-1.13.25-8
> bison-1.35-4
> gcc-3.2-7
> libgcc-3.2-7
> flex-2.5.4a-26
>
> Downloaded ser-0.8.10 source. make builds everything and install installed.
>
> However this is what I always get after executing it:
> $ /usr/local/sbin/ser
> Illegal instruction
>
> This is with debug:
> $ /usr/local/sbin/ser -dddd -E
>   0(25834) WARNING: hash function optimized for 1024 entries
>   0(25834) WARNING: use of 65536 entries may lead to unflat distribution
>   0(25834) qm_malloc_init: QM_OPTIMIZE=2048, /ROUNDTO=512
>   0(25834) qm_malloc_init: QM_HASH_SIZE=534, qm_block size=25656
>   0(25834) qm_malloc_init(0x80a5700, 1048576), start=0x80a5700
>   0(25834) qm_malloc_init: size= 1048576, init_overhead=25704
>   0(25834) qm_malloc_init: QM_OPTIMIZE=2048, /ROUNDTO=512
>   0(25834) qm_malloc_init: QM_HASH_SIZE=534, qm_block size=25656
>   0(25834) qm_malloc_init(0x4015d000, 33554432), start=0x4015d000
>   0(25834) qm_malloc_init: size= 33554432, init_overhead=25704
>   0(25834) qm_malloc(0x4015d000, 4) called from mem/shm_mem.c:
> shm_mem_init(275) 0(25834) qm_malloc(0x4015d000, 4) returns address
> 0x40163450 on 0 -th hit 0(25834) shm_mem_init: success
>   0(25834) qm_malloc(0x4015d000, 4) called from timer.c: init_timer(52)
>   0(25834) qm_malloc(0x4015d000, 4) returns address 0x40163484 on 0 -th hit
>   0(25834) DEBUG: register_fifo_cmd: new command (print) registered
>   0(25834) DEBUG: register_fifo_cmd: new command (uptime) registered
>   0(25834) DEBUG: register_fifo_cmd: new command (version) registered
>   0(25834) DEBUG: register_fifo_cmd: new command (which) registered
>   0(25834) DEBUG: register_fifo_cmd: new command (ps) registered
> Illegal instruction
>
> This is with strace:
> $ strace /usr/local/sbin/ser
> execve("/usr/local/sbin/ser", ["/usr/local/sbin/ser"], [/* 24 vars */]) = 0
> uname({sys="Linux", node="red.jenika.com", ...}) = 0
> brk(0)                                  = 0x81a5760
> open("/etc/ld.so.preload", O_RDONLY)    = -1 ENOENT (No such file or
> directory) open("/etc/ld.so.cache", O_RDONLY)      = 3
> fstat64(3, {st_mode=S_IFREG|0644, st_size=44712, ...}) = 0
> old_mmap(NULL, 44712, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40013000
> close(3)                                = 0
> open("/lib/libdl.so.2", O_RDONLY)       = 3
> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\270\25"..., 512) =
> 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=12165, ...}) = 0
> old_mmap(NULL, 12116, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4001e000
> old_mmap(0x40020000, 4096, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_FIXED, 3, 0x1000) = 0x40020000
> close(3)                                = 0
> open("/lib/libresolv.so.2", O_RDONLY)   = 3
> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\230\'\0"...,
> 512) = 512
> fstat64(3, {st_mode=S_IFREG|0755, st_size=69443, ...}) = 0
> old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
> -1, 0) = 0x40021000
> old_mmap(NULL, 69444, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40022000
> old_mmap(0x40030000, 4096, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_FIXED, 3, 0xe000) = 0x40030000
> old_mmap(0x40031000, 8004, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40031000
> close(3)                                = 0
> open("/lib/libc.so.6", O_RDONLY)        = 3
> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\210U\1"..., 512) =
> 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=1377691, ...}) = 0
> old_mmap(NULL, 1219172, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) =
> 0x40033000 old_mmap(0x40155000, 24576, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_FIXED, 3, 0x121000) = 0x40155000
> old_mmap(0x4015b000, 6756, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4015b000
> close(3)                                = 0
> munmap(0x40013000, 44712)               = 0
> rt_sigaction(SIGINT, {0x80587b0, [INT], SA_RESTORER|SA_RESTART,
> 0x40059cf8}, {SIG_DFL}, 8) = 0
> rt_sigaction(SIGPIPE, {0x80587b0, [PIPE], SA_RESTORER|SA_RESTART,
> 0x40059cf8}, {SIG_DFL}, 8) = 0
> rt_sigaction(SIGUSR1, {0x80587b0, [USR1], SA_RESTORER|SA_RESTART,
> 0x40059cf8}, {SIG_DFL}, 8) = 0
> rt_sigaction(SIGCHLD, {0x80587b0, [CHLD], SA_RESTORER|SA_RESTART,
> 0x40059cf8}, {SIG_DFL}, 8) = 0
> rt_sigaction(SIGTERM, {0x80587b0, [TERM], SA_RESTORER|SA_RESTART,
> 0x40059cf8}, {SIG_DFL}, 8) = 0
> rt_sigaction(SIGHUP, {0x80587b0, [HUP], SA_RESTORER|SA_RESTART,
> 0x40059cf8}, {SIG_DFL}, 8) = 0
> rt_sigaction(SIGUSR2, {0x80587b0, [USR2], SA_RESTORER|SA_RESTART,
> 0x40059cf8}, {SIG_DFL}, 8) = 0
> brk(0)                                  = 0x81a5760
> brk(0x81a6760)                          = 0x81a6760
> brk(0)                                  = 0x81a6760
> brk(0x81a7000)                          = 0x81a7000
> open("/usr/local/etc/ser/ser.cfg", O_RDONLY) = 3
> open("/dev/zero", O_RDWR)               = 4
> old_mmap(NULL, 33554432, PROT_READ|PROT_WRITE, MAP_SHARED, 4, 0) =
> 0x4015d000 close(4)                                = 0
> brk(0)                                  = 0x81a7000
> brk(0x81aa000)                          = 0x81aa000
> ioctl(3, SNDCTL_TMR_TIMEBASE, 0xbfffd2e0) = -1 ENOTTY (Inappropriate
> ioctl for device)
> --- SIGILL (Illegal instruction) ---
> +++ killed by SIGILL +++
>
> This is the stack trace from gdb:
> $ gdb /usr/local/sbin/ser
> GNU gdb Red Hat Linux (5.2.1-4)
> Copyright 2002 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and you
> are welcome to change it and/or distribute copies of it under certain
> conditions. Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB.  Type "show warranty" for details.
> This GDB was configured as "i386-redhat-linux"...
> (gdb) run
> Starting program: /usr/local/sbin/ser
>
> Program received signal SIGILL, Illegal instruction.
> 0x0807204b in yy_get_next_buffer ()
> (gdb) bt
> #0  0x0807204b in yy_get_next_buffer ()
> #1  0x08071cf8 in yylex ()
> #2  0x080750ce in yyparse ()
> #3  0x0805634e in main ()
> #4  0x400484ed in __libc_start_main () from /lib/libc.so.6
>
>
> Any ideas or thoughts would be appreciated please respond to my
> e-mail address I'm not a member of this mail list.
>
> Thanks!
>
> Matthew McGillis
>
> _______________________________________________
> Serusers mailing list
> serusers at lists.iptel.org
> http://lists.iptel.org/mailman/listinfo/serusers




More information about the sr-users mailing list