[Mono-bugs] [Bug 42063][Blo] New - mono asserts on ctor of unsafe delegate

bugzilla-daemon@rocky.ximian.com bugzilla-daemon@rocky.ximian.com
Mon, 28 Apr 2003 19:14:22 -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 r.h.lee@attbi.com.

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

--- shadow/42063	Mon Apr 28 19:14:22 2003
+++ shadow/42063.tmp.11679	Mon Apr 28 19:14:22 2003
@@ -0,0 +1,67 @@
+Bug#: 42063
+Product: Mono/Runtime
+Version: unspecified
+OS: 
+OS Details: 
+Status: NEW   
+Resolution: 
+Severity: 
+Priority: Blocker
+Component: misc
+AssignedTo: mono-bugs@ximian.com                            
+ReportedBy: r.h.lee@attbi.com               
+QAContact: mono-bugs@ximian.com
+TargetMilestone: ---
+URL: 
+Cc: 
+Summary: mono asserts on ctor of unsafe delegate 
+
+Steps:
+
+using System;
+
+public class Test {
+	public Test () {}
+
+	unsafe private delegate void* _test1_delegate();
+	
+	unsafe private static void* _test1_handler () {
+		return null;
+	}
+	
+	unsafe public static void Main () {
+		_test1_delegate del=null;
+		del = new _test1_delegate(_test1_handler); // <<--crash
+		del();
+	}
+} 
+
+Actual Results:
+=== Trace from mono ===
+
+ENTER: 04 System.String:.cctor (object,intptr,intptr)((nil), (nil),
+0xbffff5ec, )
+. ENTER: 00 System.String:.cctor ()()
+. . LEAVE: 00 System.String:.cctor ()
+. LEAVE: 04 System.String:.cctor (object,intptr,intptr)[OBJECT:(nil)]
+ENTER: 04 System.AppDomain:DoAssemblyLoad
+(object,intptr,intptr)([System.AppDomain:0x8069fc0], 0xbffff7f0, (nil), )
+. ENTER: 00 System.AppDomain:DoAssemblyLoad
+(System.Reflection.Assembly)(this:0x8069fc0[System.AppDomain],
+[System.Reflection.Assembly:0x80bfff0], )
+. . ENTER: 00 System.MulticastDelegate:op_Equality
+(System.MulticastDelegate,System.MulticastDelegate)((nil), (nil), )
+. . . LEAVE: 00 System.MulticastDelegate:op_Equality
+(System.MulticastDelegate,System.MulticastDelegate)TRUE:1
+. . LEAVE: 00 System.AppDomain:DoAssemblyLoad (System.Reflection.Assembly)
+. LEAVE: 04 System.AppDomain:DoAssemblyLoad
+(object,intptr,intptr)[OBJECT:(nil)]
+ENTER: 04 .Test:Main (object,intptr,intptr)((nil), 0xbf5ff9a8, (nil), )
+. ENTER: 00 .Test:Main ()()
+ 
+** (test.exe:2666): WARNING **: type 0xf not handled
+ 
+** ERROR **: file /usr/src/cvs/mono/mono/mono/metadata/marshal.c: line 1216
+(mono_mb_emit_restore_result): should not be reached
+aborting...
+Aborted