[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
Wed Aug 8 12:15:37 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-06 04:20:48.000000000 -0400
+++ shadow/81466.tmp.15915	2007-08-08 12:15:37.000000000 -0400
@@ -1,12 +1,12 @@
 Bug#: 81466
 Product: Mono: Runtime
 Version: 1.2
 OS: All
 OS Details: Windows XP/SUSE Linux 10.1
-Status: NEW   
+Status: ASSIGNED   
 Severity: Unknown
 Priority: Normal
 Component: JIT
 AssignedTo: massi at ximian.com                            
 ReportedBy: devel at bitprox.com               
@@ -156,6 +156,29 @@
 Please attach also the two binaries generated by csc, thanks.
 ------- Additional Comments From devel at bitprox.com  2007-05-04 13:07 -------
 Created an attachment (id=19183)
 I attached the binaries as requested by Paolo Molaro on 2007-05-03 10:57
+------- Additional Comments From massi at ximian.com  2007-08-08 12:15 -------
+Looking at the attached binary, particulary to the TestImpl.Test
+method, you can see the following:
+mcs expands "base.Test()" as
+  "call instance bool class [FaultTestLib]MainSpace.AC::Test()"
+csc expands "base.Test()" as
+  "call instance bool class [FaultTestLib]MainSpace.IB::Test()"
+Well, this according to monodis...
+So, mcs generates CIL that tries to call Test in the 1st superclass
+of  TestImpl that implements it, which is MainSpace.AC, and that
+IMHO is correct.
+On the other hand, csc tries to call Test on an *interface*
+implemented by TestImpl, which IMHO is just wrong.
+And, since TestImpl implements that interface as well, the call is
+redirected to TestImpl.Test, leading to the infinite recursion.
+So, for me the Mono runtime executes the code correctly.
+I just don't understand the MS CLR behavior.

More information about the mono-bugs mailing list