[Mono-dev] illegal instruction

Kirby Zhou kirbyzhou at gmail.com
Fri Jan 15 05:16:01 EST 2010

More clearly, the problem maybe lives inside 'mono-2.4.3/mono/*'.

diff -ruN mono- mono-2.4.3 > x.patch
cd mono-
filterdiff x.patch -i ''mono-2.4.3/mono' | filterdiff-x
'mono-2.4.3/mono/tests/*' | patch -p1

And the same error messages appears.

AOT [net_1_1] mscorlib.dll
/bin/sh: line 1: 21470 Aborted                
--aot=bind-to-runtime-version ../../class/lib/net_1_1/mscorlib.dll >
net_1_1_aot.log 2>&1
make[8]: *** [../../class/lib/net_1_1/mscorlib.dll] Error 134

mono-]# cat ./mcs/class/corlib/net_1_1_aot.log

** ERROR **: file aot-compiler.c: line 3058 (emit_and_reloc_code): assertion
failed: (code [i] == 0xe8)
Mono Ahead of Time compiler - compiling assembly

Native stacktrace:

        /root/extrpms/mono24/mono- [0x47f220]
        /lib64/libpthread.so.0 [0x3b5440e7c0]
        /lib64/libc.so.6(gsignal+0x35) [0x3b53830265]
        /lib64/libc.so.6(abort+0x110) [0x3b53831d10]
        /lib64/libglib-2.0.so.0(g_log+0) [0x3b55834eb0]
        /lib64/libglib-2.0.so.0(g_log+0x83) [0x3b55834f33]
        /lib64/libglib-2.0.so.0(g_assert_warning+0x76) [0x3b55834fb6]
        /root/extrpms/mono24/mono- [0x46d8da]
        /root/extrpms/mono24/mono- [0x46da10]
        /root/extrpms/mono24/mono- [0x474e2d]
        /lib64/libc.so.6(__libc_start_main+0xf4) [0x3b5381d994]

Debug info from gdb:

[Thread debugging using libthread_db enabled]
[New Thread 0x2aad3db0b6f0 (LWP 21470)]
[New Thread 0x41248940 (LWP 21504)]
[New Thread 0x4026c940 (LWP 21503)]
0x0000003b5440d5cb in read () from /lib64/libpthread.so.0
  3 Thread 0x4026c940 (LWP 21503)  0x0000003b5440de71 in nanosleep () from
  2 Thread 0x41248940 (LWP 21504)  0x0000003b5440c9b1 in sem_wait () from
* 1 Thread 0x2aad3db0b6f0 (LWP 21470)  0x0000003b5440d5cb in read () from

Thread 3 (Thread 0x4026c940 (LWP 21503)):
#0  0x0000003b5440de71 in nanosleep () from /lib64/libpthread.so.0
#1  0x000000000055fc4f in collection_thread (unused=<value optimized out>)
at collection.c:34
#2  0x0000003b544064a7 in start_thread () from /lib64/libpthread.so.0
#3  0x0000003b538d3c2d in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x41248940 (LWP 21504)):
#0  0x0000003b5440c9b1 in sem_wait () from /lib64/libpthread.so.0
#1  0x00000000004c77d8 in finalizer_thread (unused=<value optimized out>) at
#2  0x00000000004cba3a in start_wrapper (data=<value optimized out>) at
#3  0x000000000054ff6f in thread_start_routine (args=0x16f423d0) at
#4  0x000000000057b952 in GC_start_routine (arg=0x2aaaaaad1e38) at
#5  0x0000003b544064a7 in start_thread () from /lib64/libpthread.so.0
#6  0x0000003b538d3c2d in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x2aad3db0b6f0 (LWP 21470)):
#0  0x0000003b5440d5cb in read () from /lib64/libpthread.so.0
#1  0x000000000047f38c in mono_handle_native_sigsegv (signal=<value
optimized out>, ctx=<value optimized out>)
    at mini-exceptions.c:1594
#2  <signal handler called>
#3  0x0000003b53830265 in raise () from /lib64/libc.so.6
#4  0x0000003b53831d10 in abort () from /lib64/libc.so.6
#5  0x0000003b55834eb0 in g_logv () from /lib64/libglib-2.0.so.0
#6  0x0000003b55834f33 in g_log () from /lib64/libglib-2.0.so.0
#7  0x0000003b55834fb6 in g_assert_warning () from /lib64/libglib-2.0.so.0
#8  0x000000000046d8da in emit_and_reloc_code (acfg=0x16f66000,
    code=0x41dc5170 "H\203?L\211,$L\211t$\bL\211|$\020L\213鱈\213﨟荄$\030",
code_len=264, relocs=<value optimized out>, 
    got_only=0) at aot-compiler.c:3058
#9  0x000000000046da10 in emit_code (acfg=0x16f66000) at aot-compiler.c:3164
#10 0x0000000000474e2d in mono_compile_assembly (ass=<value optimized out>,
opts=<value optimized out>, aot_options=0x0)
    at aot-compiler.c:6105
#11 0x00000000004663a7 in mono_main (argc=5, argv=<value optimized out>) at
#12 0x0000003b5381d994 in __libc_start_main () from /lib64/libc.so.6
#13 0x0000000000414d19 in _start ()

Got a SIGABRT while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.

Kirby Zhou wrote:
> I have rechecked the problem on several PCs.
> OS is RHEL-5.3 x86_64 or RHEL-5.4 x86_64 .
> CPU is Xeon E5310 or Xeon E5520.
> can be built on all my boxes.
> 2.4.3.x, 2.6.0, 2.6.1 can be built on some box, and failed on others.
> Maybe there is a big bug introduced between and 2.4.3

View this message in context: http://old.nabble.com/illegal-instruction-tp27063839p27173682.html
Sent from the Mono - Dev mailing list archive at Nabble.com.

More information about the Mono-devel-list mailing list