[Mono-bugs] [Bug 76996][Maj] New - Inconsistent behaviour on PPC and x86 when throwing an exception in a finally block

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Wed Dec 14 13:16:46 EST 2005


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 slomo at ubuntu.com.

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

--- shadow/76996	2005-12-14 13:16:46.000000000 -0500
+++ shadow/76996.tmp.32241	2005-12-14 13:16:46.000000000 -0500
@@ -0,0 +1,79 @@
+Bug#: 76996
+Product: Mono: Runtime
+Version: 1.1
+OS: 
+OS Details: Ubuntu
+Status: NEW   
+Resolution: 
+Severity: 
+Priority: Major
+Component: misc
+AssignedTo: mono-bugs at ximian.com                            
+ReportedBy: slomo at ubuntu.com               
+QAContact: mono-bugs at ximian.com
+TargetMilestone: ---
+URL: 
+Cc: 
+Summary: Inconsistent behaviour on PPC and x86 when throwing an exception in a finally block
+
+Hi,
+the following testcase produces two different results on PPC and x86 when
+using the same mono version (1.1.10.1), etc. On PPC it crashes because of
+an unhandled Exception (the bar one, the other isn't reported at all), on
+x86 it writes the bar-Exception on the console and continues to work but
+doesn't report the other exception.
+
+
+
+using System;
+
+public class Test2 {
+	public Test2()
+	{
+		try {
+			throw new Exception("foo");
+		} finally {
+			throw new Exception("bar");
+		}		
+	}
+}
+	
+
+public class Test {
+
+	public static void Main(string[] args) {
+		try {
+			new Test2();
+		} catch(Exception e) {
+			System.Console.WriteLine(e);
+		}
+		System.Console.WriteLine("ok");
+	}
+
+}
+
+
+
+The second testcase does exactly the same on both architectures, it writes
+the bar Exception on the console, doesn't report the other one and
+continues to work.
+
+
+using System;
+
+public class Test {
+
+	public static void Main(string[] args) {
+		try {
+			try {
+				throw new Exception("foo");
+			} finally {
+				throw new Exception("bar");
+			}		
+		} catch(Exception e) {
+			System.Console.WriteLine(e);
+		}
+		System.Console.WriteLine("ok");
+	}
+
+}


More information about the mono-bugs mailing list