[Mono-bugs] [Bug 633287] New: Moq.4.0.10818.0 crashes Mono runtime
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Fri Aug 20 12:55:59 EDT 2010
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: lupus at novell.com
ReportedBy: denisv at post.skynet.lt
QAContact: mono-bugs at lists.ximian.com
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.
More information about the mono-bugs
mailing list