[Mono-bugs] [Bug 81466][Nor] Changed - Mono fails to run binaries produced with .NET C# compiler.

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Fri Aug 17 05:39:42 EDT 2007

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 massi at ximian.com.


--- shadow/81466	2007-08-08 13:20:07.000000000 -0400
+++ shadow/81466.tmp.15543	2007-08-17 05:39:42.000000000 -0400
@@ -236,6 +236,19 @@
 While I double checked that monodis (and therefore mono) see it
 as "call instance bool class [FaultTestLib]MainSpace.IB::Test()".
 So we are likely to resolve the method token badly...
+------- Additional Comments From massi at ximian.com  2007-08-17 05:39 -------
+IMO, the cause of the bug is the following: in loader.c, there are
+two utility functions, "find_method" and "find_method_in_class".
+Inside "find_method", "find_method_in_class" is called also for each
+interface in "in_class->interfaces", but qname and fqname are not
+"adjusted" at every call (they are set once and for all at the
+beginning of "find_method").
+This makes so that "find_method" on "MainSpace.CD:Test" returns
+"MainSpace.IB:Test", which then is resolved to the "IB:Test"
+implementation inside TestImpl.
+So, we decode the metadata token correctly, but search in the
+MonoMethod arrays in the wrong way...

More information about the mono-bugs mailing list