[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.