http://bugzilla.novell.com/show_bug.cgi?id=564843
http://bugzilla.novell.com/show_bug.cgi?id=564843#c0 Summary: Passing a delegate pointing to null to native causes an abort Classification: Mono Product: Mono: Runtime Version: SVN Platform: Other OS/Version: Other Status: NEW Severity: Normal Priority: P5 - None Component: JIT AssignedTo: [email protected] ReportedBy: [email protected] QAContact: [email protected] Found By: --- Blocker: --- I found this while working on moonlight. Essentially if you create a delegate like this and pass it to native, it causes a crash as seen below. A better error message would be nice: public delegate void Test (int param); [DllImport ("FakeLib.dll")] static extern void TestMethod (Test func); PassToNative () { Test d = null; d = new Test (d); TestMethod (d); } ERROR:marshal.c:8330:mono_marshal_emit_managed_wrapper: code should not be reached Program received signal SIGABRT, Aborted. 0x00007ffff6f1f645 in raise () from /lib64/libc.so.6 (gdb) bt #0 0x00007ffff6f1f645 in raise () from /lib64/libc.so.6 #1 0x00007ffff6f20c33 in abort () from /lib64/libc.so.6 #2 0x00007ffff2bd4203 in g_assertion_message () from /usr/lib64/libglib-2.0.so.0 #3 0x00007fffddbc29dd in mono_marshal_emit_managed_wrapper (mb=0x20da150, invoke_sig=0x1e9d308, mspecs=0x20da1a0, m=0x7fffffff8970, method=0x210cd98, this_loc=0x0) at marshal.c:8330 #4 0x00007fffddbc55d9 in mono_marshal_get_managed_wrapper (method=0x210cd98, delegate_klass=0x1e9bc50, this_loc=0x0) at marshal.c:8562 #5 0x00007fffddbca046 in mono_delegate_to_ftnptr (delegate=0x7fffdbbbb7e0) at marshal.c:349 #6 0x000000004001f709 in ?? () #7 0x00007fffffff8ad0 in ?? () #8 0x00000000019693c0 in ?? () #9 0x0000000000000000 in ?? () -- Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug. _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
