rhythmbox crashes when loading my Music Library

Bug #54841 reported by Oumar Aziz OUATTARA
4
Affects Status Importance Assigned to Milestone
gstreamer0.10-pitfdll (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

Binary package hint: rhythmbox

copy/paste

~$ rhythmbox

(rhythmbox:7730): Rhythmbox-WARNING **: Unable to start mDNS browsing
Total Unfree 0 bytes cnt 0 [(nil),0]
Erreur de segmentation

It tells nothing ...
I ran it with another user wich has no Library set and it does crash. My Library is about 5900 files. could it be the number of that that causes the problem ?

Revision history for this message
Sebastien Bacher (seb128) wrote :

Thanks for your bug. Could you install gstreamer0.10-plugins-base-dbg libgstreamer0.10-0-dbg rhythmbox-dbg and get a debug backtrace with gdb:
- gdb rhythmbox
(gdb) run
... segfault
(gdb) thread apply all bt

and copy that to a comment

Changed in rhythmbox:
assignee: nobody → desktop-bugs
status: Unconfirmed → Needs Info
Revision history for this message
Russel Winder (russel) wrote : Re: rhythmbox crashes

Rhythmbox used to work for me on my workstation but now does not. I cannot remember when the change happened but I assume it was the Breezy Badger -> Dapper Drake change.

Whenever I run rhythmbox, it starts, the frame comes up, I can play music but the loading continues, it seems forever -- actually it seems to finish and then restart as though in an infinite loop of some sort. Well until the segfault. I ran it under gdb and got:

gdb>bt
#0 0xb7c02803 in gst_push_src_get_type () from /usr/lib/libgstbase-0.10.so.0
#1 0xb7bb482f in gst_type_find_peek () from /usr/lib/libgstreamer-0.10.so.0
#2 0xb521e32a in mpeg_ts_probe_headers () from /usr/lib/gstreamer-0.10/libgsttypefindfunctions.so
#3 0xb7bb4c63 in gst_type_find_factory_call_function () from /usr/lib/libgstreamer-0.10.so.0
#4 0xb7c02c6b in gst_type_find_helper_get_range () from /usr/lib/libgstbase-0.10.so.0
#5 0xb521471b in gst_id3demux_get_type () from /usr/lib/gstreamer-0.10/libgstid3demux.so
#6 0xb7b9bad3 in gst_pad_set_active () from /usr/lib/libgstreamer-0.10.so.0
#7 0xb7b8a343 in gst_element_lost_state () from /usr/lib/libgstreamer-0.10.so.0
#8 0xb7b94db4 in gst_iterator_fold () from /usr/lib/libgstreamer-0.10.so.0
#9 0xb7b8a3e4 in gst_element_lost_state () from /usr/lib/libgstreamer-0.10.so.0
#10 0xb7b8a57b in gst_element_lost_state () from /usr/lib/libgstreamer-0.10.so.0
#11 0xb7b8a8ba in gst_element_lost_state () from /usr/lib/libgstreamer-0.10.so.0
#12 0xb5214cf0 in gst_id3demux_get_type () from /usr/lib/gstreamer-0.10/libgstid3demux.so
#13 0xb7b899a8 in gst_element_continue_state () from /usr/lib/libgstreamer-0.10.so.0
#14 0xb7b89fcd in gst_element_lost_state () from /usr/lib/libgstreamer-0.10.so.0
#15 0xb7b88ccc in gst_element_set_state () from /usr/lib/libgstreamer-0.10.so.0
#16 0xb524dfd9 in ?? () from /usr/lib/gstreamer-0.10/libgstdecodebin.so
#17 0x08292e78 in ?? ()
#18 0x00000003 in ?? ()
#19 0xb524cecf in ?? () from /usr/lib/gstreamer-0.10/libgstdecodebin.so
#20 0x086c43d0 in ?? ()
#21 0x00000000 in ?? ()
gdb>

It is perhaps worth noting that rhythmbox works fine on my laptop which has the same OS so I am guessing it must be a hardware related issue or an NFS related issue -- my workstation gets the files over NFS the laptop does not.

Revision history for this message
Sebastien Bacher (seb128) wrote :

is that backtrace the crash one? if it keeps looping, could you run it with "rhythmbox -d" and note what it is doing?

Revision history for this message
Russel Winder (russel) wrote :
Download full text (3.8 KiB)

Yes, it was. Here is the output as requested (I hope :-)

gdb>run -d
Starting program: /usr/bin/rhythmbox -d
(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)
---Type <return> to continue, or q <return> to quit---
(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)
[Thread debugging using libthread_db enabled]
[New Thread -1225885472 (LWP 26628)]
(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)
---Type <return> to continue, or q <return> to quit---
(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)
---Type <return> to continue, or q <return> to quit---
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[0x8123890] [rb_debug_init] rb-debug.c:129 (10:14:43): Debugging enabled
[0x8123890] [main] main.c:230 (10:14:43): initializing Rhythmbox 0.9.3.1
[0x8123890] [main] main.c:238 (10:14:43): going to create Bonobo object
[0x8123890] [main] main.c:249 (10:14:43): going to create DBus object
[0x8123890] [main] main.c:312 (10:14:43): Going to create a new shell
(no debugging symbols found)
(no debugging symbols found)

(rhythmbox:26628): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_file: assertion `filename != NULL' failed

...

Read more...

Revision history for this message
Sebastien Bacher (seb128) wrote :

COuld you run "ls /usr/share/rhythmbox/art" and get a strace of rhythmbox with "strace -e open rhythmbox 2>&1 | grep png"? It looks like it's not finding an icon

Revision history for this message
Russel Winder (russel) wrote :

Done, result below.

Just to add top the data, I see I forgot to say what was happening on the UI. Rhythmbox starts entirely as expected and loads all the artists/music files. The status bar right "doing something" indicator zaps left and right. Then it reaches the "done everything state". A very short time later it goes into "Loading..." state with the left-right movement indicator going, then back to "done everything". This moving between ready and loading continues until it crashes with the segfault.

501 balin:~
|> ls /usr/share/rhythmbox/art
./ about-logo.png rhythmbox-podcast.png rhythmbox-tray-icon.png
../ rhythmbox-no-star.png rhythmbox-set-star.png rhythmbox-unset-star.png
502 balin:~
|> strace -e open rhythmbox 2>&1 | grep png
open("/usr/lib/libpng12.so.0", O_RDONLY) = 3
open("/usr/share/rhythmbox/art/rhythmbox-tray-icon.png", O_RDONLY|O_LARGEFILE) = 17
open("/usr/lib/gtk-2.0/2.4.0/loaders/libpixbufloader-png.so", O_RDONLY) = 18
open("/usr/share/rhythmbox/art/rhythmbox-set-star.png", O_RDONLY|O_LARGEFILE) = 17
open("/usr/share/rhythmbox/art/rhythmbox-unset-star.png", O_RDONLY|O_LARGEFILE) = 17
open("/usr/share/rhythmbox/art/rhythmbox-podcast.png", O_RDONLY|O_LARGEFILE) = 17
open("/usr/share/rhythmbox/art/rhythmbox-no-star.png", O_RDONLY|O_LARGEFILE) = 17
open("/usr/share/pixmaps/rhythmbox.png", O_RDONLY|O_LARGEFILE) = 17
open("/usr/share/pixmaps/lpi-help.png", O_RDONLY|O_LARGEFILE) = 23
open("/usr/share/pixmaps/lpi-translate.png", O_RDONLY|O_LARGEFILE) = 23
503 balin:~

Revision history for this message
Oumar Aziz OUATTARA (wattazoum) wrote :

Sorry. I have been late. since I didn't have my external disk at my office, I couldn't test. There are the results :

(gdb) run
Starting program: /usr/bin/rhythmbox
[Thread debugging using libthread_db enabled]
[New Thread -1226217792 (LWP 6225)]
...
[Thread -1311999056 (LWP 6245) exited]
[Thread -1320391760 (LWP 6246) exited]
[New Thread -1320391760 (LWP 6249)]
[New Thread -1311999056 (LWP 6250)]
[New Thread -1303606352 (LWP 6251)]
[New Thread -1259398224 (LWP 6254)]
Total Unfree 0 bytes cnt 0 [(nil),0]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1259398224 (LWP 6254)]
0xb5696773 in DMO_AudioDecoder_ProcessOutput ()
   from /usr/lib/gstreamer-0.10/libpitfdll.so

(gdb) thread apply all bt

Thread 21 (Thread -1259398224 (LWP 6254)):
#0 0xb5696773 in DMO_AudioDecoder_ProcessOutput ()
   from /usr/lib/gstreamer-0.10/libpitfdll.so
#1 0xb56830be in dmo_venc_register ()
   from /usr/lib/gstreamer-0.10/libpitfdll.so
#2 0xb7b85804 in gst_pad_chain (pad=0x8e72258, buffer=0x8df4908)
    at gstpad.c:3221
#3 0xb7b85fa2 in gst_pad_push (pad=0x8e720d8, buffer=0x8df4908)
    at gstpad.c:3337
#4 0xb3d7a463 in gst_queue_loop (pad=0x8e720d8) at gstqueue.c:770
#5 0xb7b99d9f in gst_task_func (task=0x8df4868, tclass=0x8a19f00)
    at gsttask.c:193
#6 0xb71dc448 in g_thread_pool_free () from /usr/lib/libglib-2.0.so.0
#7 0xb71da5a2 in g_static_private_free () from /usr/lib/libglib-2.0.so.0
#8 0xb7a21341 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#9 0xb71214ee in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 20 (Thread -1303606352 (LWP 6251)):
#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb7a23eec in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib/tls/i686/cmov/libpthread.so.0
#2 0xb7a2f5dc in ?? () from /usr/lib/libgthread-2.0.so.0
---Type <return> to continue, or q <return> to quit---

Revision history for this message
Oumar Aziz OUATTARA (wattazoum) wrote :

Oh, after I hit <return> I had a lot of other things. here is an attachement of all the result.

Revision history for this message
Sebastien Bacher (seb128) wrote :

The problem is due to gstreamer0.10-pitfdll, reassigning to it

Changed in rhythmbox:
assignee: desktop-bugs → nobody
status: Needs Info → Unconfirmed
Revision history for this message
Russel Winder (russel) wrote :

It is probably worth noting that now I have upgraded from Dapper to Edgy, Rhythmbox works fine for me.

Revision history for this message
Roberto Sarrionandia (rbs-tito) wrote :

This bug is going nowhere, and has been fixed in a later version.

I will close it for now, but if anyone has any more information feel free to reopen it.

Changed in gstreamer0.10-pitfdll:
status: New → Invalid
Revision history for this message
Russel Winder (russel) wrote :

Since upgrading to Feisty, Rhythmbox fails to work for me and I have had to switch to using Muine -- which I find to be an inferior user interface -- I much prefer Rhythmbox. I guess though that this deserves a new and different bug entry?

Rhythmbox starts fine but a few moments after I start to play something I get a crash:

|> rhythmbox

(rhythmbox:19544): Rhythmbox-WARNING **: Couldn't find an x overlay
Segmentation fault (core dumped)
|>

Running under gdb I get:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1229408560 (LWP 19676)]
0xb739dcbf in ?? () from /usr/lib/libgstbase-0.10.so.0
gdb>bt
#0 0xb739dcbf in ?? () from /usr/lib/libgstbase-0.10.so.0
#1 0x00000000 in ?? ()
gdb>

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.