Bugzilla – Bug 320809
[PPC] mono_jit_runtime_invoke crashes with invalid il
Last modified: 2007-09-15 21:24:46 UTC
---- Reported by joe@otee.dk 2006-04-09 10:58:14 MST ---- 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) ---- Additional Comments From miguel@ximian.com 2006-07-15 16:09:32 MST ---- A large number of changes to cope better with this went into 1.1.16; If you have a test case with an error thta we can use, please reopen the bug. Unknown operating system unknown. Setting to default OS "Other".