[Mono-bugs] [Bug 74620][Maj] New - Invalid IL generated (interface implementation)
bugzilla-daemon@bugzilla.ximian.com
bugzilla-daemon@bugzilla.ximian.com
Fri, 15 Apr 2005 12:41:49 -0400 (EDT)
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 dominic_ullmann@hispeed.ch.
http://bugzilla.ximian.com/show_bug.cgi?id=74620
--- shadow/74620 2005-04-15 12:41:49.000000000 -0400
+++ shadow/74620.tmp.16016 2005-04-15 12:41:49.000000000 -0400
@@ -0,0 +1,57 @@
+Bug#: 74620
+Product: Mono: Compilers
+Version: 1.0
+OS:
+OS Details: XP
+Status: NEW
+Resolution:
+Severity:
+Priority: Major
+Component: C#
+AssignedTo: mono-bugs@ximian.com
+ReportedBy: dominic_ullmann@hispeed.ch
+QAContact: mono-bugs@ximian.com
+TargetMilestone: ---
+URL:
+Cc:
+Summary: Invalid IL generated (interface implementation)
+
+Description of Problem:
+The mcs compiler (version 1.06) generates code for interface
+implementation, which leads at runtime to a vm crash with the following
+error: ** ERROR **: Invalid IL code at IL0010 in
+Ch.Elca.Iiop.TcpServerTransport.ITransport.BeginRead(byte
+[],int,int,System.AsyncCallback,object): IL_0010: call 0x06000014
+aborting ...
+
+The generated code contains additional methods with strange
+implementation in constrast to the MS.NET IL.
+
+Steps to reproduce the problem:
+1. Compile the attached code (mcs /out:Test.exe *.cs)
+2. Start the exe with mono Test.exe
+3. Use telnet to connect to Test.exe: telnet localhost 13000
+
+Sorry for this non-trivial example. But because IL is invalid, I've not
+looked for a simpler one to run.
+
+Actual Results:
+** ERROR **: Invalid IL code at IL0010 in
+Ch.Elca.Iiop.TcpServerTransport.ITransport.BeginRead(byte
+[],int,int,System.AsyncCallback,object): IL_0010: call 0x06000014
+aborting ...
+
+
+Expected Results:
+No crash. Output like the following (MS.NET):
+Waiting for a connection... Connected!
+Waiting for a connection... read completed
+Received: abcd ...
+
+How often does this happen?
+always
+
+Additional Information:
+In contrast to MS.NET, there are some additional explicit interface
+implementation methods in Ch.Elca.Iiop.TcpServerTransport, e.g.
+ITranport.BeginRead.