[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.
http://bugzilla.ximian.com/show_bug.cgi?id=81466
--- 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
Resolution:
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