http://bugzilla.novell.com/show_bug.cgi?id=560191

http://bugzilla.novell.com/show_bug.cgi?id=560191#c1


--- Comment #1 from Sebastien Pouliot <[email protected]> 2009-12-14 18:41:38 
UTC ---
Moving the assert after the verifier check (make sense since 'loc' is not used
to call the verifier) fix this test case. 

However it would make sense to return NULL instead of the assert (just like
it's done if the verifier fails). Actually the above assert (for the table)
could be changed to return NULL too.

This is one of the most common abort when --compile-all is used, so I'll try
this patch on my next run (tonight) to see if it solve "all" the cases.

Index: metadata/loader.c
===================================================================
--- metadata/loader.c    (revision 148393)
+++ metadata/loader.c    (working copy)
@@ -2249,13 +2249,13 @@
     idx = mono_metadata_token_index (method->token);
     img = method->klass->image;
     rva = mono_metadata_decode_row_col (&img->tables [MONO_TABLE_METHOD], idx
- 1, MONO_METHOD_RVA);
-    loc = mono_image_rva_map (img, rva);

-    g_assert (loc);
-
     if (!mono_verifier_verify_method_header (img, rva, NULL))
         return NULL;

+    loc = mono_image_rva_map (img, rva);
+    g_assert (loc);
+
     header = mono_metadata_parse_mh_full (img,
mono_method_get_generic_container (method), loc);

     mono_loader_lock ();

-- 
Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
_______________________________________________
mono-bugs maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-bugs

Reply via email to