[Mono-bugs] [Bug 78599][Maj] New - Invalid IL error at run time

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Wed Jun 7 09:42:40 EDT 2006


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 llaske at c2s.fr.

http://bugzilla.ximian.com/show_bug.cgi?id=78599

--- shadow/78599	2006-06-07 09:42:40.000000000 -0400
+++ shadow/78599.tmp.30031	2006-06-07 09:42:40.000000000 -0400
@@ -0,0 +1,90 @@
+Bug#: 78599
+Product: Mono: Runtime
+Version: 1.1
+OS: All
+OS Details: OpenSUSE 10.0 and Windows XP SP 2
+Status: NEW   
+Resolution: 
+Severity: 
+Priority: Major
+Component: JIT
+AssignedTo: lupus at ximian.com                            
+ReportedBy: llaske at c2s.fr               
+QAContact: mono-bugs at ximian.com
+TargetMilestone: ---
+URL: 
+Cc: 
+Summary: Invalid IL error at run time
+
+The following program compiles and works on .NET but don't work on Mono.
+I made the test on Mono 1.1.10 and Mono 1.1.13.8 either on OpenSUSE and 
+on Windows XP.
+
+    namespace LIOGO.Framework {
+        using System;
+    
+        public class test_dlgo {
+        
+            public static void doubleloop1() {
+    Console.WriteLine("---- 1");
+    Console.WriteLine("---- 2");
+                Int32 i_1 = 1;
+                startLabel1:
+                if (true) {
+                    if (i_1 == 3)
+                        return;
+                    i_1 = (i_1 + 1);
+                    goto startLabel1;
+                }
+                endLabel1: ;
+    Console.WriteLine("---- 3");
+        
+                Int32 i_2 = 1;
+                startLabel2: 
+                if (true) {
+                    i_2 = (i_2 + 1);
+                    goto startLabel2;
+                }
+                endLabel2: ;
+       
+                return;
+            }
+        
+            public static void Main(String[] args) {
+    Console.WriteLine("--- Before call");
+                test_dlgo.doubleloop1();
+    Console.WriteLine("--- After call");
+            }
+        }
+    }
+
+
+To reproduce the bug:
+1) Compile the including file:
+
+   mcs ilerror.cs
+
+2) Launch the resulting program:
+
+   mono ilerror.exe
+
+3) The program exit with an error code:
+
+   --- Before call
+
+   ** ERROR **: Invalid IL code at IL002b in 
+LIOGO.Framework.test_dlgo:doubleloop1() : IL_002b: nop
+
+   aborting...
+   Aborted
+
+On .NET Framework, this program exit with:
+
+    --- Before call
+    ---- 1
+    ---- 2
+    --- After call
+
+Thanks an advance for your help.
+
+            Lionel.


More information about the mono-bugs mailing list