https://bugzilla.novell.com/show_bug.cgi?id=633287
https://bugzilla.novell.com/show_bug.cgi?id=633287#c0 Summary: Moq.4.0.10818.0 crashes Mono runtime Classification: Mono Product: Mono: Runtime Version: SVN Platform: x86 OS/Version: Linux Status: NEW Severity: Normal Priority: P5 - None Component: JIT AssignedTo: [email protected] ReportedBy: [email protected] QAContact: [email protected] Found By: --- Blocker: --- User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 Mono version: Git 99c94ac7ea8cd37eb86f5b7035f8c45dc0be877c (pulled 2010-08-20) OS: Debian Squeeze Moq.4.0.10818.0 crashes Mono runtime as soon as a Mock object is created. Moq binaries and source code can be downloaded from http://code.google.com/p/moq/ Reproducible: Always Steps to Reproduce: 1. Copy Moq.dll to working directory (attached) 2. Create test.cs with the following code: /* code starts */ using Moq; interface Interface1 { } class Program { public static void Main() { var mock = new Mock<Interface1>(); } } /* code ends */ 3. dmcs test.cs /r:Moq.dll 4. mono test.exe >err.log 2>&1 5. less err.log Actual Results: Mono runtime crashes with a failed assertion: * Assertion at method-to-ir.c:6326, condition `!mono_method_check_context_used (cmethod)' not met Stacktrace: at Moq.Mock`1..cctor () <0xffffffff> at Moq.Mock`1..cctor () <0x0000d> at (wrapper runtime-invoke) object.runtime_invoke_void (object,intptr,intptr,intptr) <0x0002a> at Program.Main () <0xffffffff> at Program.Main () <0x0001e> at (wrapper runtime-invoke) object.runtime_invoke_void (object,intptr,intptr,intptr) <0x0002a> Native stacktrace: mono() [0x80d8179] [0xb7f8740c] /lib/i686/cmov/libc.so.6(abort+0x182) [0xb7e09b82] mono() [0x820820e] mono() [0x820828d] mono() [0x808a838] mono() [0x8060ff1] mono() [0x806319e] mono() [0x8063c58] mono(mono_runtime_invoke+0x40) [0x81483d0] mono() [0x814e50e] mono(mono_runtime_class_init+0x19) [0x814ed69] mono() [0x80db452] [0xb7f75264] [0xb7196ddb] mono() [0x8063ab8] mono(mono_runtime_invoke+0x40) [0x81483d0] mono() [0x814e50e] mono() [0x8063421] mono() [0x80639ce] mono() [0x80dbade] [0xb7f75066] [0xb7196ddb] mono() [0x8063ab8] mono(mono_runtime_invoke+0x40) [0x81483d0] mono(mono_runtime_exec_main+0xd6) [0x814bc86] mono(mono_main+0x1b52) [0x80b5682] mono() [0x8059118] /lib/i686/cmov/libc.so.6(__libc_start_main+0xe6) [0xb7df2c76] mono() [0x8058ec1] Debug info from gdb: Mono support loaded. [Thread debugging using libthread_db enabled] [New Thread 0xb6db6b70 (LWP 16486)] [New Thread 0xb7c64b70 (LWP 16485)] 0xb7f87424 in __kernel_vsyscall () 3 Thread 0xb7c64b70 (LWP 16485) 0xb7f87424 in __kernel_vsyscall () 2 Thread 0xb6db6b70 (LWP 16486) 0xb7f87424 in __kernel_vsyscall () * 1 Thread 0xb7ddbb50 (LWP 16484) 0xb7f87424 in __kernel_vsyscall () Thread 3 (Thread 0xb7c64b70 (LWP 16485)): #0 0xb7f87424 in __kernel_vsyscall () #1 0xb7f2cf7f in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i686/cmov/libpthread.so.0 #2 0x082112e3 in GC_wait_marker () at pthread_support.c:1785 #3 0x0820ebac in GC_help_marker (my_mark_no=2) at mark.c:1116 #4 0x08210202 in GC_mark_thread (id=0x0) at pthread_support.c:548 #5 0xb7f28955 in start_thread () from /lib/i686/cmov/libpthread.so.0 #6 0xb7ea810e in clone () from /lib/i686/cmov/libc.so.6 Thread 2 (Thread 0xb6db6b70 (LWP 16486)): #0 0xb7f87424 in __kernel_vsyscall () #1 0xb7f2f385 in sem_wait@@GLIBC_2.1 () from /lib/i686/cmov/libpthread.so.0 #2 0x081f54e8 in mono_sem_wait (sem=0x82e0b40, alertable=0) at mono-semaphore.c:102 #3 0x08145b80 in finalizer_thread (unused=0x0) at gc.c:1048 #4 0x08135434 in start_wrapper (data=0x9777488) at threads.c:747 #5 0x081e734f in thread_start_routine (args=0x9763414) at wthreads.c:285 #6 0x08210f80 in GC_start_routine (arg=0x4efe0) at pthread_support.c:1390 #7 0xb7f28955 in start_thread () from /lib/i686/cmov/libpthread.so.0 #8 0xb7ea810e in clone () from /lib/i686/cmov/libc.so.6 Thread 1 (Thread 0xb7ddbb50 (LWP 16484)): #0 0xb7f87424 in __kernel_vsyscall () #1 0xb7f3009b in read () from /lib/i686/cmov/libpthread.so.0 #2 0x080d8325 in mono_handle_native_sigsegv (signal=6, ctx=0xbfc9cc6c) at mini-exceptions.c:1939 #3 <signal handler called> #4 0xb7f87424 in __kernel_vsyscall () #5 0xb7e06751 in raise () from /lib/i686/cmov/libc.so.6 #6 0xb7e09b82 in abort () from /lib/i686/cmov/libc.so.6 #7 0x0820820e in monoeg_g_logv (log_domain=0x0, log_level=G_LOG_LEVEL_ERROR, format=0x82306f0 "* Assertion at %s:%d, condition `%s' not met\n", args= 0xbfc9d104 "P\025#\b\266\030") at goutput.c:134 #8 0x0820828d in monoeg_assertion_message (format= 0x82306f0 "* Assertion at %s:%d, condition `%s' not met\n") at goutput.c:154 #9 0x0808a838 in mono_method_to_ir (cfg=0xb6b03de0, method= "Moq.Proxy.CastleProxyFactory:.cctor ()", start_bblock=0xb6b041cc, end_bblock=0xb6b0426c, return_var=0x0, dont_inline=0xb6b060d8, inline_args= 0x0, inline_offset=0, is_virtual_call=0) at method-to-ir.c:6326 #10 0x08060ff1 in mini_method_compile (method= "Moq.Proxy.CastleProxyFactory:.cctor ()", opts=59861503, domain=0x25e70, run_cctors=1, compile_aot=<value optimized out>, parts=0) at mini.c:4116 #11 0x0806319e in mono_jit_compile_method_inner (method= Traceback (most recent call last): File "/opt/mono/bin/mono-gdb.py", line 152, in to_string klass = val ["klass"].dereference () RuntimeError: Cannot access memory at address 0xe , opt=59861503, ex=<value optimized out>) at mini.c:4802 #12 mono_jit_compile_method_with_opt (method=Traceback (most recent call last): File "/opt/mono/bin/mono-gdb.py", line 152, in to_string klass = val ["klass"].dereference () RuntimeError: Cannot access memory at address 0xe , opt=59861503, ex=<value optimized out>) at mini.c:5010 #13 0x08063c58 in mono_jit_runtime_invoke (method= "Moq.Proxy.CastleProxyFactory:.cctor ()", obj=0x0, params=0x0, exc= 0xbfc9d5bc) at mini.c:5208 #14 0x081483d0 in mono_runtime_invoke (method= "Moq.Proxy.CastleProxyFactory:.cctor ()", obj=0x0, params=0x0, exc= 0xbfc9d5bc) at object.c:2709 #15 0x0814e50e in mono_runtime_class_init_full (vtable=0x972a800, raise_exception=1) at object.c:359 #16 0x0814ed69 in mono_runtime_class_init (vtable=0x972a800) at object.c:246 #17 0x080db452 in mono_class_init_trampoline (regs=0xbfc9d678, code= 0xb7196ec6 "\203\354\fh", vtable=0x972a800, tramp=0x0) at mini-trampolines.c:757 #18 0xb7f75264 in ?? () #19 0xb7196ddb in ?? () #20 0x08063ab8 in mono_jit_runtime_invoke (method="Moq.Mock`1:.cctor ()", obj= 0x0, params=0x0, exc=0xbfc9d78c) at mini.c:5373 #21 0x081483d0 in mono_runtime_invoke (method="Moq.Mock`1:.cctor ()", obj=0x0, params=0x0, exc=0xbfc9d78c) at object.c:2709 #22 0x0814e50e in mono_runtime_class_init_full (vtable=0x972a5d8, raise_exception=0) at object.c:359 #23 0x08063421 in mono_jit_compile_method_inner (method=<value optimized out>, opt=<value optimized out>, ex=<value optimized out>) at mini.c:4959 #24 mono_jit_compile_method_with_opt (method=<value optimized out>, opt=<value optimized out>, ex=<value optimized out>) at mini.c:5010 #25 0x080639ce in mono_jit_compile_method (method="Moq.Mock`1:.ctor ()") at mini.c:5035 #26 0x080dbade in common_call_trampoline (regs=<value optimized out>, code= 0xb7196d9f "\203\304\020\311\303h0\032\260\266\351z\342", <incomplete sequence \335>, m="Moq.Mock`1:.ctor ()", tramp=0x0, vt=0x0, vtable_slot=0x0, need_rgctx_tramp=0) at mini-trampolines.c:453 #27 0xb7f75066 in ?? () #28 0xb7196ddb in ?? () #29 0x08063ab8 in mono_jit_runtime_invoke (method="Program:Main ()", obj=0x0, params=0xbfc9da5c, exc=0x0) at mini.c:5373 #30 0x081483d0 in mono_runtime_invoke (method="Program:Main ()", obj=0x0, params=0xbfc9da5c, exc=0x0) at object.c:2709 #31 0x0814bc86 in mono_runtime_exec_main (method="Program:Main ()", args= 0x2de40, exc=0x0) at object.c:3833 #32 0x080b5682 in main_thread_handler (argc=2, argv=0xbfc9dc44) at driver.c:999 #33 mono_main (argc=2, argv=0xbfc9dc44) at driver.c:1836 #34 0x08059118 in mono_main_with_options (argc=2, argv=0xbfc9dc44) at main.c:66 #35 main (argc=2, argv=0xbfc9dc44) at main.c:97 ================================================================= 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. ================================================================= Expected Results: Mono doesn't crash in native code -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug. _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
