GNOME Bugzilla – Bug 337378
Rhythmbox crashed while viewing file on playlist
Last modified: 2006-07-29 09:22:35 UTC
That bug has been opened on https://launchpad.net/distros/ubuntu/+source/rhythmbox/+bug/38177 "Rhythmbox crashed good when I was adding a file from Media Library to custom playlist. After I selected newly added file from that playlist, rhythmbox went down. I compiled a debug build and reproduced the bug using same steps, but this time RB or or gdb froze X almost completely. I was able to move mouse pointer, but none of the desktop panels were responsive and ALT+TAB task switching wasn't responsive either. I had to run gdm from /dev/tty1 using DISPLAY=:0.0 directive to get the backtrace out. (Could be related to https://launchpad.net/distros/ubuntu/+source/rhythmbox/+bug/33872) I'll attach backtrace log with debug symbols on. ... GNU gdb 6.4-debian Copyright 2005 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i486-linux-gnu"...Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1". (gdb) handle SIG33 pass nostop noprint Signal Stop Print Pass to program Description SIG33 No No Yes Real-time event 33 (gdb) run Starting program: /usr/bin/rhythmbox [Thread debugging using libthread_db enabled] [New Thread -1226623296 (LWP 5968)] Bonobo accessibility support initialized GTK Accessibility Module initialized (rhythmbox:5968): Rhythmbox-WARNING **: couldn't connect to session bus: Unable to determine the address of the message bus [New Thread -1239139408 (LWP 5971)] [New Thread -1247532112 (LWP 5972)] (rhythmbox:5968): Rhythmbox-WARNING **: Unable to start mDNS browsing [New Thread -1248109648 (LWP 5973)] [New Thread -1256502352 (LWP 5974)] [New Thread -1264895056 (LWP 5976)] [Thread -1264895056 (LWP 5976) exited] [Thread -1248109648 (LWP 5973) exited] [Thread -1256502352 (LWP 5974) exited] [New Thread -1248109648 (LWP 5978)] [New Thread -1256502352 (LWP 5980)] [New Thread -1264895056 (LWP 5981)] [New Thread -1275069520 (LWP 5982)] [New Thread -1283462224 (LWP 5983)] [New Thread -1291854928 (LWP 5984)] [New Thread -1300247632 (LWP 5985)] [New Thread -1308640336 (LWP 5986)] [New Thread -1317033040 (LWP 5987)] [New Thread -1325425744 (LWP 5988)] [New Thread -1333818448 (LWP 5989)] [New Thread -1342211152 (LWP 5990)] [New Thread -1350603856 (LWP 5991)] [Thread -1248109648 (LWP 5978) exited] [Thread -1256502352 (LWP 5980) exited] [Thread -1264895056 (LWP 5981) exited] [Thread -1275069520 (LWP 5982) exited] [Thread -1283462224 (LWP 5983) exited] [Thread -1291854928 (LWP 5984) exited] [Thread -1300247632 (LWP 5985) exited] [Thread -1308640336 (LWP 5986) exited] [Thread -1317033040 (LWP 5987) exited] [Thread -1325425744 (LWP 5988) exited] [Thread -1333818448 (LWP 5989) exited] [Thread -1342211152 (LWP 5990) exited] [Thread -1350603856 (LWP 5991) exited] [New Thread -1350603856 (LWP 5992)] [Thread -1350603856 (LWP 5992) exited] (rhythmbox:5968): GLib-GObject-WARNING **: invalid unclassed pointer in cast to `GObject' (rhythmbox:5968): GLib-GObject-WARNING **: instance with invalid (NULL) class pointer (rhythmbox:5968): GLib-GObject-CRITICAL **: g_signal_handlers_disconnect_matched: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed (rhythmbox:5968): GLib-GObject-WARNING **: invalid unclassed pointer in cast to `GObject' (rhythmbox:5968): GLib-GObject-WARNING **: instance with invalid (NULL) class pointer (rhythmbox:5968): GLib-GObject-CRITICAL **: g_signal_handlers_disconnect_matched: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed (rhythmbox:5968): GLib-GObject-WARNING **: invalid unclassed pointer in cast to `GObject' (rhythmbox:5968): GLib-GObject-WARNING **: instance with invalid (NULL) class pointer (rhythmbox:5968): GLib-GObject-CRITICAL **: g_signal_handlers_disconnect_matched: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed (rhythmbox:5968): GLib-GObject-WARNING **: invalid unclassed pointer in cast to `GObject' (rhythmbox:5968): GLib-GObject-WARNING **: instance with invalid (NULL) class pointer (rhythmbox:5968): GLib-GObject-CRITICAL **: g_signal_handlers_disconnect_matched: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed (rhythmbox:5968): GLib-GObject-WARNING **: invalid unclassed pointer in cast to `GObject' (rhythmbox:5968): GLib-GObject-WARNING **: instance with invalid (NULL) class pointer (rhythmbox:5968): GLib-GObject-CRITICAL **: g_signal_handlers_disconnect_matched: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed (rhythmbox:5968): GLib-GObject-WARNING **: invalid unclassed pointer in cast to `GObject' (rhythmbox:5968): GLib-GObject-WARNING **: instance with invalid (NULL) class pointer (rhythmbox:5968): GLib-GObject-CRITICAL **: g_signal_handlers_disconnect_matched: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed [New Thread -1350603856 (LWP 5993)] [Thread -1350603856 (LWP 5993) exited] [New Thread -1350603856 (LWP 5994)] [Thread -1350603856 (LWP 5994) exited] [New Thread -1350603856 (LWP 5995)] [Thread -1350603856 (LWP 5995) exited] [New Thread -1350603856 (LWP 5996)] [Thread -1350603856 (LWP 5996) exited] [New Thread -1350603856 (LWP 5997)] [New Thread -1342211152 (LWP 5998)] [New Thread -1333818448 (LWP 5999)] [New Thread -1317033040 (LWP 6000)] [New Thread -1251959888 (LWP 6001)] [New Thread -1260352592 (LWP 6002)] [Thread -1251959888 (LWP 6001) exited] [Thread -1317033040 (LWP 6000) exited] [New Thread -1317033040 (LWP 6003)] [New Thread -1251959888 (LWP 6004)] [Thread -1251959888 (LWP 6004) exited] [Thread -1317033040 (LWP 6003) exited] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1226623296 (LWP 5968)] 0x080b9b7c in rhythmdb_query_model_has_pending_changes (model=0x2) at rhythmdb-query-model.c:707 707 result = g_atomic_int_get (&model->priv->pending_update_count) > 0; (gdb) thread apply all bt
+ Trace 67479
Thread 1 (Thread -1226623296 (LWP 5968))
The program is running. Exit anyway? (y or n) ... crash backtrace produced by gdb. RB: Gnome rhythmbox 0.9.3.1 Package: rhythmbox_0.9.3.1-0ubuntu3_i386.deb Gstreamer: gstreamer0.10-x (0.10.5-0ubuntu2) Alsa-base: 1.0.10-4ubuntu3 Sorry, I meant to say I had to run gdb from /dev/tty1, not gdm.."
Can you play the file from the library itself? From the backtrace, it looks like a gstreamer issue. Also please retest using CVS if possible.
The gstreamer threads appear to be innocent in this case. It looks like a query model's base model pointer has become corrupted - the chain appears to go 0x8a1a0e0 -> 0x8a0eb60 -> 0x2 .. 0x2 being obviously bad. I'm guessing the model at 0x8a0eb60 was destroyed due to a reference counting problem, then overwritten with something else. There was some fairly weird stuff going on when adding songs to static playlists until recently, so this may be related.
I reported the original bug to Ubuntu malone. The file plays fine if it's played straight from the Library. Behaviour isn't consistent and bug can be reproduced 30% of the time, and this includes playing from static playlist. I'll see if I manage to test with CVS build.
*** Bug 345087 has been marked as a duplicate of this bug. ***
(In reply to comment #4) > *** Bug 345087 has been marked as a duplicate of this bug. *** This was my bug, and in my case, I wasn't even playing anything. Rhythmbox was slow on startup, and never "came back" to be snappy. When it crashed, I had still only been watching it load (and freeze) the library.
Comment from the distribution bug submitter: "This issue seems to be fixed with 0.9.5 version, at least for me." closing it as fixed then