https://bugzilla.novell.com/show_bug.cgi?id=381928
User [EMAIL PROTECTED] added comment https://bugzilla.novell.com/show_bug.cgi?id=381928#c10 --- Comment #10 from D Bera <[EMAIL PROTECTED]> 2008-04-21 15:37:34 MST --- Great. I made some progress based on the pointer. This is stacktrace I get with the try-catch. Incidentally, the try-catch solution works for the simple test case but does not work everytime in beagle. So there could be more things happening there. Stacktrace: at (wrapper managed-to-native) GlibCrash.g_free (intptr) <0x00004> at (wrapper managed-to-native) GlibCrash.g_free (intptr) <0xffffffff> at GlibCrash.Main () <0x00020> at (wrapper runtime-invoke) GlibCrash.runtime_invoke_void (object,intptr,intptr,intptr) <0xffffffff> Native stacktrace: mono [0x816c4c7] [0xbfffe440] [0xbfffe410] /lib/i686/libc.so.6(gsignal+0x55) [0xb7cecec5] /lib/i686/libc.so.6(abort+0x101) [0xb7cee921] /lib/i686/libc.so.6 [0xb7d2383c] /lib/i686/libc.so.6(cfree+0x1bb) [0xb7d2f13b] /usr/lib/libglib-2.0.so.0(g_free+0x31) [0xb7eaa1b1] [0xb790b251] [0xb790b1be] mono(mono_runtime_exec_main+0xcd) [0x80d4b0d] Notice how it goes into abort(), which causes the software signalling method gsignal() which then moves back into mono (probably to mono's signal handler!). Even though I see that prior to abort(), mono tries to set the signal handler to SIG_DFL. I tried to use gdb to see which function 0x816c4c7 points to but failed. So I instead set the SIGABRT handler directly to SIG_DFL Stdlib.SetSignalAction (Signum.SIGABRT, SignalAction.Default); and was able to successfully crash the test program and beagle. Hint: please take a second look at the code for resetting the SIGABRT handler. Now with the default handler for SIGABRT I will definitely loose the nice stacktrace. Is there anything else that I will loose. From mini.c, it seems like SIGABRT is handled similarly as SIGSEGV. So both will now abort, which is somewhat acceptable. If this works, then I will probably set SIG_DFL for SIGABRT in beagle unless --mono-debug is set. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug. You are the assignee for the bug. _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
