-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi list,
I have been trying to solve this on my own for about three month now, but I have failed. I know that it is my own "fault" to be on a hardened system, but maybe someone else knows this error and can help me out. I have checked through the list, forums and the web without finding anything useful. I am running a Gentoo-box which is hardened. This means that libc, gcc and some other packages are compiled with SSP (stack-smashing-protection) and PIE (position-independent-executable). Also the kernel has patches for GRSEC and PAX applied. This is known to cause some trouble with several applications, however with the exception of MonoDevelop I was able to solve them all. Let me get to the point: When I try to run MonoDevelop I get a SIGSEV. The results are the same whether I run the monodevelop-script or directly start the assembly. This is my error and stacktrace: - ------------------------------------------------------------------------------------------- [EMAIL PROTECTED] /usr/lib/monodevelop/bin $ mono --debug MonoDevelop.exe (MonoDevelop:10598): Gtk-WARNING **: gtk_widget_size_allocate(): attempt to allocate widget with width 432 and height -23 (MonoDevelop:10598): Gtk-WARNING **: gtk_widget_size_allocate(): attempt to allocate widget with width 432 and height -23 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. ================================================================= Stacktrace: in (wrapper managed-to-native) Gtk.Application:gtk_main_iteration_do (bool) <0x4> in (wrapper managed-to-native) Gtk.Application:gtk_main_iteration_do (bool) <0xffffffe4> in Gtk.Application:RunIteration (bool) <0xc> in MonoDevelop.Ide.Gui.Dialogs.SplashScreenForm:RunMainLoop () <0xe> in MonoDevelop.Ide.Gui.Dialogs.SplashScreenForm:SetProgress (double) <0x22> in MonoDevelop.Ide.Gui.Dialogs.SplashScreenForm:MonoDevelop.Core.IProgressMonitor.EndTask () <0x32> in MonoDevelop.Ide.Gui.IdeApp:Initialize (MonoDevelop.Core.IProgressMonitor) <0x660> in MonoDevelop.Ide.Gui.IdeStartup:Run (string[]) <0x8ad> in MonoDevelop.Core.AddIns.AddInService:StartApplication (string,string[]) <0x169> in MonoDevelop.Startup.SharpDevelopMain:Main (string[]) <0x39> in (wrapper runtime-invoke) System.Object:runtime_invoke_int_string[] (object,intptr,intptr,intptr) <0xc8c62ac2> Native stacktrace: mono(mono_handle_native_sigsegv+0xf6) [0x801401d6] mono [0x8012857a] /lib/tls/libpthread.so.0 [0xb7e92970] /usr/lib/mozilla/components/libwidget_gtk2.so [0xb18897e5] /usr/lib/mozilla/components/libwidget_gtk2.so [0xb188b9fb] /usr/lib/libgtk-x11-2.0.so.0 [0xb62152cd] /usr/lib/libgobject-2.0.so.0(g_closure_invoke+0x14b) [0xb5dbf6bb] /usr/lib/libgobject-2.0.so.0 [0xb5dd9239] /usr/lib/libgobject-2.0.so.0(g_signal_emit_valist+0x65a) [0xb5dda41a] /usr/lib/libgobject-2.0.so.0(g_signal_emit+0x42) [0xb5ddaa02] /usr/lib/libgtk-x11-2.0.so.0 [0xb63435d4] /usr/lib/libgtk-x11-2.0.so.0(gtk_widget_send_expose+0xe1) [0xb6343871] /usr/lib/libgtk-x11-2.0.so.0(gtk_main_do_event+0x3bf) [0xb621362f] /usr/lib/libgdk-x11-2.0.so.0 [0xb6056660] /usr/lib/libgdk-x11-2.0.so.0(gdk_window_process_all_updates+0x98) [0xb6056748] /usr/lib/libgtk-x11-2.0.so.0 [0xb615fb87] /usr/lib/libglib-2.0.so.0 [0xb7eded3c] /usr/lib/libglib-2.0.so.0(g_main_context_dispatch+0x20b) [0xb7edafeb] /usr/lib/libglib-2.0.so.0 [0xb7edcd05] /usr/lib/libglib-2.0.so.0(g_main_context_iteration+0x78) [0xb7edd1d8] /usr/lib/libgtk-x11-2.0.so.0(gtk_main_iteration_do+0x3c) [0xb621175c] [0xb67636a4] [0xb6763655] [0xb6763587] [0xb6766b1b] [0xb676691b] [0xb4794c91] [0xb6c2d5e6] [0xb6e09082] [0xb74c5932] [0xb74c5874] mono [0x8012830b] mono(mono_runtime_invoke+0x46) [0x800a0b56] mono(mono_runtime_exec_main+0x16f) [0x800a54df] mono(mono_runtime_run_main+0x1cf) [0x800a572f] mono(mono_jit_exec+0xbb) [0x8001e74b] mono(mono_main+0x1199) [0x8001f989] mono(main+0x3a) [0x8001e17a] /lib/tls/libc.so.6(__libc_start_main+0xd4) [0xb7d4ff34] mono [0x8001e061] - --------------------------------------------------------------------------------------------------- Getting weird results with PAX is casual. However this is what I get AFTER disabling all protections so it shouldn't interfere with PAX or GRSEC. (To make sure I tried running it with a vanilla-kernel. Same results there. Also I downloaded the official binary from the web to make sure that there was no problem with the way my modified GCC treats the sourcecode. It however produced the same results as above. Therefore I do not think that it is a problem in the kernel, the binary or the assembly. The only thing that remained for me was my libc so I replaced it with a vanilla one. This didn't change anything though. I tested this on two different computers. Even though I disabled all protections I still believe it has something to do with enhanced security-mechanisms since MonoDevelop runs just fine on my plain fedora-box. Also interesting is the fact that the mono-runtime itself runs just fine with every other mono-application I have. The only thing that gives me a SIGSEV is MonoDevelop. Maybe someone else has had this problem before or is better in reading stacktraces then I am. Any help on what is actually causing the problem and ideas on how it could be solved would be greatly appreciated. Many thanks in advance, Paul -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFE3dCNaHrXRd80sY8RArAyAKCUt8mtvaPRqa/voqO78aGoz+KCEACg0APK VsmEoEpr656H7ZjpBFIH4oU= =JehC -----END PGP SIGNATURE----- _______________________________________________ Mono-list maillist - Mono-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-list