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 [EMAIL PROTECTED] http://bugzilla.ximian.com/show_bug.cgi?id=80258 --- shadow/80258 2006-12-15 13:39:36.000000000 -0500 +++ shadow/80258.tmp.26775 2006-12-17 20:44:23.000000000 -0500 @@ -3,21 +3,21 @@ Version: 1.2 OS: unknown OS Details: Status: REOPENED Resolution: Severity: Unknown -Priority: Wishlist +Priority: Normal Component: misc AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] QAContact: [EMAIL PROTECTED] TargetMilestone: --- URL: Cc: -Summary: Typeload vs FileNotFound exceptions +Summary: SIGSEGV during class initialization Description of Problem: If an assembly fails to load during class initialization the runtime tries to deference a null pointer (object.c line 987). This causes the runtime to crash. @@ -112,6 +112,21 @@ ------- Additional Comments From [EMAIL PROTECTED] 2006-12-15 13:39 ------- Throwing or not an execption in this case is still down to subtle implementation details (that is, ignoring failing instance fields when just a static method is executed). So, this difference will remain unless a major app happens to depend on this specific behaviour. + +------- Additional Comments From [EMAIL PROTECTED] 2006-12-17 20:44 ------- +The main problem is not which exception the runtime raises but rather +that it gets segv trying to dereference a null pointer. Here is the +problem code in mono_class_create_runtime_vtable (object.c): + +if ((cm = class->vtable [i])) { + if (mono_method_signature (cm)->generic_param_count) + vt->vtable [i] = cm; + else + vt->vtable [i] = arch_create_jit_trampoline (cm); +} + +The runtime should check the return of mono_method_signature and raise +an exception if it is NULL. _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
