[Mono-bugs] [Bug 78062][Maj] New - mono_jit_runtime_invoke crashes with invalid il

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Sun Apr 9 10:58:15 EDT 2006


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 joe at otee.dk.

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

--- shadow/78062	2006-04-09 10:58:15.000000000 -0400
+++ shadow/78062.tmp.8566	2006-04-09 10:58:15.000000000 -0400
@@ -0,0 +1,61 @@
+Bug#: 78062
+Product: Mono: Runtime
+Version: 1.1
+OS: 
+OS Details: 
+Status: NEW   
+Resolution: 
+Severity: 
+Priority: Major
+Component: JIT
+AssignedTo: lupus at ximian.com                            
+ReportedBy: joe at otee.dk               
+QAContact: mono-bugs at ximian.com
+TargetMilestone: ---
+URL: 
+Cc: 
+Summary: mono_jit_runtime_invoke crashes with invalid il
+
+mono_jit_runtime_invoke invoke crashes when encountering invalid il, if it is placed directly in 
+the function that runtime_invoke invokes.
+
+If the function that is being invoked calls another function which then contains the invalid il, then  
+the invalid il exception is correctly thrown and handled.
+
+
+eg.
+runtime invoking DoSomething will crash:
+void DoSomething () { invalidil }
+
+runtime invoking DoSomething will not crash and throw the exception correctly:
+void DoSomething () { DoSomethingElse (); }
+void DoSomethingElse () { invalidil }
+
+This is always reproducable but i haven't had the time to make a small test case for it yet.
+
+0   <<00000000>> 	0xfffeff18 objc_msgSend_rtp + 24
+1   com.apple.AppKit               	0x937c4b78 __NSAppKitFinalizeThreadData + 336
+2   libSystem.B.dylib              	0x9002c4e4 _pthread_tsd_cleanup + 104
+3   libSystem.B.dylib              	0x9002c0e0 pthread_exit + 100
+4   libmono.0.dylib                	0x200e45bc thread_hash_init + 0 (threads.c:150)
+5   libmono.0.dylib                	0x200e4d98 GetExitCodeThread + 0 (threads.c:491)
+6   libmono.0.dylib                	0x200cb520 ves_icall_System_Threading_Thread_Thread_internal 
++ 0 (threads.c:483)
+7   libmono.0.dylib                	0x20044c50 arch_handle_exception + 1452 (exceptions-ppc.c:
+934)
+8   libmono.0.dylib                	0x20043a5c throw_exception + 176 (exceptions-ppc.c:302)
+9   <<00000000>> 	0x20164cdc start.7 + 124 ((null):-1)
+10  libmono.0.dylib                	0x20019548 mono_jit_compile_method_inner + 944 (mini.c:
+10033)
+11  libmono.0.dylib                	0x20019870 mono_jit_compile_method_with_opt + 376 (mini.c:
+10142)
+12  libmono.0.dylib                	0x20019b44 mono_jit_runtime_invoke + 116 (mini.c:10279)
+13  dk.otee.UnityEditor            	0x000c1f34 MonoBehaviour::CallMethod(MonoMethod*) + 272 
+(MonoBehaviour.cpp:126)
+14  dk.otee.UnityEditor            	0x0047678c MonoBehaviour::CallMethodIfAvailable(int) + 132 
+(MonoBehaviour.cpp:176)
+15  dk.otee.UnityEditor            	0x000c2238 MonoBehaviour::Update() + 240 
+(MonoBehaviour.cpp:208)
+16  dk.otee.UnityEditor            	0x004512d8 BehaviourManager::Update() + 160 (Behaviour.cpp:
+94)
+17  dk.otee.UnityEditor            	0x001ba060 PlayerLoop() + 364 (Player.cpp:416)


More information about the mono-bugs mailing list