[Mono-bugs] [Bug 79381][Blo] Changed - forcing the cfg->method->dynamic branch on ppc machines, generates SIGILL exceptions

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Thu Sep 14 10:31:22 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 joe at otee.dk.

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

--- shadow/79381	2006-09-12 15:52:54.000000000 -0400
+++ shadow/79381.tmp.18401	2006-09-14 10:31:22.000000000 -0400
@@ -83,6 +83,66 @@
 		mesh.triangles = triangles;
 		
 		return triangles.Length;
 	}
 }
 ---
+
+------- Additional Comments From joe at otee.dk  2006-09-14 10:31 -------
+I now have a test case which is independent of mcs and causes the crash during 
+appdomain creation.
+
+Here is a link to the .cs file and the resulting .exe.
+www.otee.dk/joe/reproduce_ppc_crash_2.zip
+
+1. modify mini-ppc.c by replacing all occurrences of "cfg->method->dynamic" with "1 || 
+cfg->method->dynamic" and build mono.
+
+2. mono appdomain1.exe
+
+This will create the following sigill exception:
+
+Unhandled Exception: System.ExecutionEngineException: SIGILL
+  at <0x00000> <unknown method>
+  at (wrapper managed-to-native) 
+System.Object:__icall_wrapper_mono_store_remote_field_new (object,intptr,intptr,object)
+  at (wrapper stfld-remote) 
+System.Object:__mono_store_remote_field_new_wrapper_System.Object 
+(object,intptr,intptr,object)
+  at System.AppDomain.CreateDomain (System.String friendlyName, 
+System.Security.Policy.Evidence securityInfo, System.AppDomainSetup info) [0x00000] 
+  at System.AppDomain.CreateDomain (System.String friendlyName) [0x00000] 
+  at Container.Main () [0x00000] 
+
+
+
+
+
+
+
+This is the .cs file that was used to generate appdomain1.exe.
+----
+using System;
+using System.Runtime.Remoting;
+
+class Container {
+	static int Main ()
+	{
+		Console.WriteLine ("Friendly name: " + 
+AppDomain.CurrentDomain.FriendlyName);
+		AppDomain newDomain = AppDomain.CreateDomain ("NewDomain");
+		Console.WriteLine ("Create domain: ");
+
+		if (!RemotingServices.IsTransparentProxy(newDomain))
+			return 1;
+		Console.WriteLine ("Is proxy: ");
+
+		return 0;
+	}
+}
+---
+
+
+
+
+
+


More information about the mono-bugs mailing list