[Mono-bugs] [Bug 73848][Nor] New - Assertion failure in mono_ldtoken (class.c:3419)

bugzilla-daemon@bugzilla.ximian.com bugzilla-daemon@bugzilla.ximian.com
Fri, 18 Mar 2005 10:44:02 -0500 (EST)


Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by serko84@hotmail.com.

http://bugzilla.ximian.com/show_bug.cgi?id=73848

--- shadow/73848	2005-03-18 10:44:02.000000000 -0500
+++ shadow/73848.tmp.15358	2005-03-18 10:44:02.000000000 -0500
@@ -0,0 +1,85 @@
+Bug#: 73848
+Product: Mono: Runtime
+Version: 1.1
+OS: Debian Woody
+OS Details: 
+Status: NEW   
+Resolution: 
+Severity: 
+Priority: Normal
+Component: JIT
+AssignedTo: mono-bugs@ximian.com                            
+ReportedBy: serko84@hotmail.com               
+QAContact: mono-bugs@ximian.com
+TargetMilestone: ---
+URL: 
+Cc: 
+Summary: Assertion failure in mono_ldtoken (class.c:3419)
+
+Please fill in this template when reporting a bug, unless you know what you
+are doing.
+Description of Problem:
+I'm trying to compile DynamicProxy on Mono and run its tests. They fail
+with the assertion below. I'm using SVN revision 41931 (about a day or two
+old).
+
+Steps to reproduce the problem:
+Unfortunately I can't provide an isolated example for this, since it would
+require pulling out large portions of DynamicProxy code. These are the
+steps to reproduce the problem:
+
+1. Get DynamicProxy from http://www.castleproject.org/castle/show/dynamicproxy
+2. NAnt 0.85 is also required
+3. Change line 33 of DynamicProxy.build to:
+<property
+name="nant.lib.framework.dir"
+value="${path::combine(nant.lib.family.dir,
+version::to-string(framework::get-version(framework::get-target-framework())))}"
+dynamic="true"
+/>
+4. cd <DynamicProxy directory>; nant core.tests.run
+
+Actual Results:
+When NAnt reaches target core.tests.run, the tests get aborted with this
+message:
+
+** ERROR **: file class.c: line 3419 (mono_ldtoken): should not be reached
+aborting...
+
+Here's a shortened version of the backtrace I got using gdb:
+#0  0xb7dff7ab in raise () from /lib/tls/libc.so.6
+#1  0xb7e00f12 in abort () from /lib/tls/libc.so.6
+#2  0xb7f8405d in g_logv () from /usr/lib/libglib-2.0.so.0
+#3  0xb7f84086 in g_log () from /usr/lib/libglib-2.0.so.0
+#4  0xb7f84171 in g_assert_warning () from /usr/lib/libglib-2.0.so.0
+#5  0x080d50ea in mono_ldtoken (image=0xb7fd6398, token=4,
+handle_class=0x0, context=0x0) at class.c:3419
+#6  0x0811039d in mono_method_to_ir (cfg=0x89d83d8, method=0x89d2ec0,
+start_bblock=0x89d87c8, end_bblock=0x89d8868, locals_offset=3,
+    return_var=0x0, dont_inline=0x82e98c8, inline_args=0x0,
+inline_offset=0, is_virtual_call=0) at mini.c:5645
+#7  0x0811a32d in mini_method_compile (method=0x89d2ec0, opts=0,
+domain=0x81f7d20, run_cctors=0, compile_aot=0, parts=0) at mini.c:8927
+#8  0x0811ae04 in mono_jit_compile_method_inner (method=0x89d2ec0,
+target_domain=0x81f7d20) at mini.c:9285
+#9  0x0811b0da in mono_jit_compile_method (method=0x0) at mini.c:9362
+#10 0x08087528 in mono_compile_method (method=0x0) at object.c:384
+#11 0x0812d93d in x86_magic_trampoline (eax=0, ecx=0, edx=0, esi=0, edi=0,
+ebx=0, code=0xb70d394d "\203\f\213&#344;Sj,&#269;\036", m=0x89d2ec0)
+    at tramp-x86.c:85
+#12 0xb7dc6035 in ?? ()
+.......................
+#51 0xbfffe844 in ?? ()
+#52 0x0811b0da in mono_jit_compile_method (method=0x0) at mini.c:9362
+Previous frame inner to this frame (corrupt stack?)
+
+Expected Results:
+
+DynamicProxy works fine on MS .NET. All tests should pass
+
+
+How often does this happen? 
+For all non-trivial test cases.
+
+Additional Information:
+I can provide a core dump, if it helps. It's about 15 Mb in size.