Saturday, December 27, 2008

If at first you don't succeed, fail again

In my first taste of Mono on openSUSE 11.1 I was left with a flat taste in my mouth (so to speak). So I blogged about those experiences, and then I got this response from Micheal Hutchinson:
I'm sorry your MonoDevelop experience hasn't been great so far. I'm not aware of any reported crashers on 11.1, but if you get stack traces, could you please file bugs so that we can fix them?

It's been a long time since MD 1.0 was released and in many ways the 2.0 alphas are more stable. I'm building MD trunk builds on the openSUSE Build Sevice, which should be relatively stable until 2.0 is formally released. There's even a 1-click install.

You maybe also find that some problems are fixed by upgrading GTK# to 2.12.6 from the Mono repository.

FWIW, the particular errors you've pasted in your post can safely be ignored. Various Mono debug files (.mdb) seem to be missing, but they aren't strictly needed for MD. Maybe the stock oS 11.1 has these in separate packages.
First of all, thank you for the helpful response. While you're certainly not the first (Adam Williamson, among many others, often give good helpful responses), it's always good to show the positive side of the Linux community. Now back to Micheal's comments.

If I get consistent stack traces I will. But since the first run of MonoDevelop I haven't had the same problem I reported earlier, and frankly, shame on me for not posting a bug report. I am concerned, however, that errors being emitted by any application "can be safely ignored." Call me old-fashioned, but warnings and errors need to be tracked and fixed, either via corrected code or, if deemed not relevant, then removed. It's been my hard lesson to learn over and over that you ignore any such messages at your peril.

In the interests of "fair and balanced" reporting, I've decided to remove all the mono packages I installed (see below) and re-install starting with the one-click repo link Micheal mentions above.


It's interesting to note that all but Mono are at some 2.x variant. And the picture is also for all those who are paranoid about Mono and want some ideas about what may need to be removed. Frankly I think you're nuts; removal based on merit is one thing, but removal based on paranoia is something else entirely.

And here's what it looks like with everything re-installed using the two links in Micheal's message. The list of installed packages is shorter this time.


Success (Of a Sort)

Well, I got another another crash due to a fatal error, this time with MonoDevelop 2 alpha. I caused it by toggling back and forth between the Files. Solution, and Classes tabs, again with no project created or opened, just like I did before with MonoDevelop 1. And it's repeatable. The trace follows, and I will post a bug report.

wbeebe@europa:~> monodevelop
WARNING: Cannot find Mozilla directory containing libgtkembedmoz.so.
Some Addins may not be able to function. Please set MOZILLA_FIVE_HOME
to your Mozilla directory.
Stacktrace:

at (wrapper managed-to-native) Gtk.Application.gtk_main () <0x00004>
at (wrapper managed-to-native) Gtk.Application.gtk_main () <0xffffffff>
at Gtk.Application.Run () <0x00007>
at MonoDevelop.Ide.Gui.IdeApp.Run () <0x00007>
at MonoDevelop.Ide.Gui.IdeStartup.Run (string[]) <0x00d10>
at MonoDevelop.Startup.SharpDevelopMain.Main (string[]) <0x0005e>
at (wrapper runtime-invoke) MonoDevelop.Startup.SharpDevelopMain.runtime_invoke_int_string[]
(object,intptr,intptr,intptr) <0xffffffff>

Native stacktrace:

monodevelop [0x806d9d4]
monodevelop [0x808620b]
[0xffffe410]
/usr/lib/gtk-2.0/2.10.0/engines/libqtcurve.so [0xb5fa9481]
/usr/lib/libgtk-x11-2.0.so.0 [0xb6821c56]
/usr/lib/libgobject-2.0.so.0(g_closure_invoke+0x1ab) [0xb619ad8b]
/usr/lib/libgobject-2.0.so.0 [0xb61b112d]
/usr/lib/libgobject-2.0.so.0(g_signal_emit_valist+0x65b) [0xb61b26bb]
/usr/lib/libgobject-2.0.so.0(g_signal_emit+0x26) [0xb61b2cb6]
/usr/lib/libgtk-x11-2.0.so.0 [0xb6936f76]
/usr/lib/libgtk-x11-2.0.so.0(gtk_propagate_event+0xec) [0xb681a76c]
/usr/lib/libgtk-x11-2.0.so.0(gtk_main_do_event+0x2e7) [0xb681bb17]
/usr/lib/libgdk-x11-2.0.so.0 [0xb66a56ca]
/usr/lib/libglib-2.0.so.0(g_main_context_dispatch+0x1e8) [0xb7f3b9a8]
/usr/lib/libglib-2.0.so.0 [0xb7f3f063]
/usr/lib/libglib-2.0.so.0(g_main_loop_run+0x1d2) [0xb7f3f582]
/usr/lib/libgtk-x11-2.0.so.0(gtk_main+0xb9) [0xb681bfc9]
[0xb2c5109e]
[0xb2c51068]
[0xb2c51050]
[0xb6d06231]
[0xb795f2bf]
[0xb795f1b4]
monodevelop(mono_runtime_exec_main+0x16e) [0x80bae9e]
monodevelop(mono_runtime_run_main+0x16b) [0x80bb58b]
monodevelop(mono_main+0x1737) [0x805c9a7]
monodevelop [0x805ace2]
/lib/libc.so.6(__libc_start_main+0xe5) [0xb7d69705]
monodevelop [0x805ac21]

Debug info from gdb:

(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread 0xb2e62b90 (LWP 11555)]
[New Thread 0xb6cf9b90 (LWP 11554)]
[New Thread 0xb349eb90 (LWP 11549)]
[New Thread 0xb4fc9b90 (LWP 11534)]
[New Thread 0xb7561b90 (LWP 11489)]
[New Thread 0xb7fd7b90 (LWP 11487)]
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
0xffffe430 in __kernel_vsyscall ()
7 Thread 0xb7fd7b90 (LWP 11487) 0xffffe430 in __kernel_vsyscall ()
6 Thread 0xb7561b90 (LWP 11489) 0xffffe430 in __kernel_vsyscall ()
5 Thread 0xb4fc9b90 (LWP 11534) 0xffffe430 in __kernel_vsyscall ()
4 Thread 0xb349eb90 (LWP 11549) 0xffffe430 in __kernel_vsyscall ()
3 Thread 0xb6cf9b90 (LWP 11554) 0xffffe430 in __kernel_vsyscall ()
2 Thread 0xb2e62b90 (LWP 11555) 0xffffe430 in __kernel_vsyscall ()
* 1 Thread 0xb7d1f960 (LWP 11486) 0xffffe430 in __kernel_vsyscall ()

Thread 7 (Thread 0xb7fd7b90 (LWP 11487)):
#0 0xffffe430 in __kernel_vsyscall ()
#1 0xb7ee63f6 in nanosleep () from /lib/libpthread.so.0
#2 0x08149fe8 in ?? ()
#3 0xb7edf1b5 in start_thread () from /lib/libpthread.so.0
#4 0xb7e2438e in clone () from /lib/libc.so.6

Thread 6 (Thread 0xb7561b90 (LWP 11489)):
#0 0xffffe430 in __kernel_vsyscall ()
#1 0xb7ee2c35 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2 0x0814d307 in ?? ()
#3 0x0814fef4 in ?? ()
#4 0x0814ff5c in ?? ()
#5 0x0816a832 in ?? ()
#6 0x080d576a in ?? ()
#7 0x080f7749 in ?? ()
#8 0x08166096 in ?? ()
#9 0x08184115 in ?? ()
#10 0xb7edf1b5 in start_thread () from /lib/libpthread.so.0
#11 0xb7e2438e in clone () from /lib/libc.so.6

Thread 5 (Thread 0xb4fc9b90 (LWP 11534)):
#0 0xffffe430 in __kernel_vsyscall ()
#1 0xb7ee63f6 in nanosleep () from /lib/libpthread.so.0
#2 0x08165310 in ?? ()
#3 0x080f6beb in ?? ()
#4 0xb4fd276e in ?? ()
#5 0xb4fd270e in ?? ()
#6 0xb4fd2633 in ?? ()
#7 0xb6d71a09 in ?? ()
#8 0x080b8a04 in mono_runtime_delegate_invoke ()
#9 0x080f77cf in ?? ()
#10 0x08166096 in ?? ()
#11 0x08184115 in ?? ()
#12 0xb7edf1b5 in start_thread () from /lib/libpthread.so.0
#13 0xb7e2438e in clone () from /lib/libc.so.6

Thread 4 (Thread 0xb349eb90 (LWP 11549)):
#0 0xffffe430 in __kernel_vsyscall ()
#1 0xb7ee2f62 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2 0x0814d2b8 in ?? ()
#3 0x0814fef4 in ?? ()
#4 0x0816a70c in ?? ()
#5 0x080f46f3 in ?? ()
#6 0xb35111b2 in ?? ()
#7 0xb3510eac in ?? ()
#8 0xb3510d7c in ?? ()
#9 0xb6d71a09 in ?? ()
#10 0x080b8a04 in mono_runtime_delegate_invoke ()
#11 0x080f77cf in ?? ()
#12 0x08166096 in ?? ()
#13 0x08184115 in ?? ()
#14 0xb7edf1b5 in start_thread () from /lib/libpthread.so.0
#15 0xb7e2438e in clone () from /lib/libc.so.6

Thread 3 (Thread 0xb6cf9b90 (LWP 11554)):
#0 0xffffe430 in __kernel_vsyscall ()
#1 0xb7e14b2b in read () from /lib/libc.so.6
#2 0xb385db95 in ?? ()
#3 0xb385dab4 in ?? ()
#4 0xb6d71a09 in ?? ()
#5 0x080b8a04 in mono_runtime_delegate_invoke ()
#6 0x080f77cf in ?? ()
#7 0x08166096 in ?? ()
#8 0x08184115 in ?? ()
#9 0xb7edf1b5 in start_thread () from /lib/libpthread.so.0
#10 0xb7e2438e in clone () from /lib/libc.so.6

Thread 2 (Thread 0xb2e62b90 (LWP 11555)):
#0 0xffffe430 in __kernel_vsyscall ()
#1 0xb7e24c26 in epoll_wait () from /lib/libc.so.6
#2 0x080fa472 in ?? ()
#3 0x080f7749 in ?? ()
#4 0x08166096 in ?? ()
#5 0x08184115 in ?? ()
#6 0xb7edf1b5 in start_thread () from /lib/libpthread.so.0
#7 0xb7e2438e in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb7d1f960 (LWP 11486)):
#0 0xffffe430 in __kernel_vsyscall ()
#1 0xb7ee5bbb in read () from /lib/libpthread.so.0
#2 0x0806daee in ?? ()
#3 0x0808620b in ?? ()
#4
#5 0xb5fa9481 in ?? () from /usr/lib/gtk-2.0/2.10.0/engines/libqtcurve.so
#6 0xb6821c56 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#7 0xb619ad8b in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#8 0xb61b112d in ?? () from /usr/lib/libgobject-2.0.so.0
#9 0xb61b26bb in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#10 0xb61b2cb6 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#11 0xb6936f76 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#12 0xb681a76c in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0
#13 0xb681bb17 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
#14 0xb66a56ca in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#15 0xb7f3b9a8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#16 0xb7f3f063 in ?? () from /usr/lib/libglib-2.0.so.0
#17 0xb7f3f582 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#18 0xb681bfc9 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#19 0xb2c5109e in ?? ()
#20 0xb2c51068 in ?? ()
#21 0xb2c51050 in ?? ()
#22 0xb6d06231 in ?? ()
#23 0xb795f2bf in ?? ()
#24 0xb795f1b4 in ?? ()
#25 0x080bae9e in mono_runtime_exec_main ()
#26 0x080bb58b in mono_runtime_run_main ()
#27 0x0805c9a7 in mono_main ()
#28 0x0805ace2 in ?? ()
#29 0xb7d69705 in __libc_start_main () from /lib/libc.so.6
#30 0x0805ac21 in ?? ()

=================================================================
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.
=================================================================

3 comments:

  1. This trace is an unmanaged crash, and from the line "/usr/lib/gtk-2.0/2.10.0/engines/libqtcurve.so" it looks like it's in happening within a function from the QTCurve GTK theme engine. It's possible this theme engine is buggy, as I can't reproduce the bug with Gilouche (on oS 11.0), and nonstandard theme engines are a notorious cause of strange bugs in GTK apps. Or it might be due to subtle changes in the GTK version shipped in oS 11.1, since MD's docking library depends on some not-so-mainstream GTK features.

    Oh, and I know the mdb-related error's safe to ignore because I know what the consequences are. We should probably downgrade it to a warning :-)

    ReplyDelete
  2. <SARCASM>Yea. You see, the problem isn't with Mono Develop. It's your fault because you chose a different theme and then tried to open the application. The nerve of you trying to open the application </SARCASM>

    ReplyDelete
  3. Net Codger: did you even read my post? How can MonoDevelop be expected to handle buggy third party unmanaged code that's inserted into a core part of the GTK rendering stack?

    I hoped my diagnosis would provide users with a way to run MonoDevelop stably.

    ReplyDelete

All comments are checked. Comment SPAM will be blocked and deleted.

Note: Only a member of this blog may post a comment.