Bug 320809 (MONO78062) - [PPC] mono_jit_runtime_invoke crashes with invalid il
Summary: [PPC] mono_jit_runtime_invoke crashes with invalid il
Status: RESOLVED FIXED
Alias: MONO78062
Product: Mono: Runtime
Classification: Mono
Component: JIT (show other bugs)
Version: 1.1
Hardware: Other Other
: P3 - Medium : Minor
Target Milestone: ---
Assignee: Paolo Molaro
QA Contact: Mono Bugs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-04-09 17:58 UTC by Joachim Ante
Modified: 2007-09-15 21:24 UTC (History)
0 users

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Wiest 2007-09-15 19:54:36 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".