segfault while playing mp3 files with gstreamer

Bug #3668 reported by Frank Niedermann
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
GStreamer
Fix Released
Medium
Rhythmbox
Fix Released
Medium
gstreamer0.8 (Ubuntu)
Invalid
Medium
Ubuntu Desktop Bugs
rhythmbox (Ubuntu)
Invalid
Medium
Unassigned

Bug Description

While playing some mp3 files with Rhythmbox I get segfaults:

rhythmbox /tmp/x.mp3
(rhythmbox:14933): GStreamer-WARNING **: pushing data on non-negotiated pad mad1:src, not allowed.
(rhythmbox:14933): GStreamer-WARNING **: pushing data on non-negotiated pad mad1:src, not allowed.
 ... a lot more of this message ...
(rhythmbox:14933): GStreamer-WARNING **: pushing data on non-negotiated pad mad1:src, not allowed.
(rhythmbox:14933): GStreamer-WARNING **: pushing data on non-negotiated pad mad1:src, not allowed.
Got error opening "file:///tmp/x.mp3": Could not pause playback
(rhythmbox:14933): GLib-GObject-WARNING **: invalid uninstantiatable type `<invalid>' in cast to `GstObject'
(rhythmbox:14933): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GstElement'
Segmentationfault

Some files work fine, some don't.

I can play the bad files with Totem (using xine instead of gstreamer).

Revision history for this message
Frank Niedermann (fbn) wrote :

I have the same issue on my PC at home - Rhythmbox crashes on random mp3 files ...

Revision history for this message
Frank Niedermann (fbn) wrote :

There is a bug report on Gnome's bugzilla:
http://bugzilla.gnome.org/show_bug.cgi?id=320114

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

Thanks for your bug. Could you get a backtrace of the crash by using gdb? What sinks do you use? What version of Ubuntu do you use?

Revision history for this message
Frank Niedermann (fbn) wrote :

Hi Sebastien,

I'm using Ubuntu Breezy final with the latest updates, Gnome is 2.12.1, Rhythmbox is 0.9.0, gstreamer is 0.8.

I'm using alsa - is that what you want to know about the sinks?

I tried to get a crash backtrace with gdb but gdb stops after I type 'run' into the gdb console, initial command was 'gdb rhythmbox'.

If I to the same with gedit (just for testing) I get a gedit window. I'm not sure why this does not work for rhythmbox ...

Would it help if I upload the output of rhythmbox with gstreamer debug options enabled?

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

You can follow https://wiki.ubuntu.com/DebuggingProgramCrash to get a backtrace. Maybe you didn't use "handle SIG33 pass nostop noprint"?

Changed in rhythmbox:
status: New → Rejected
Revision history for this message
Frank Niedermann (fbn) wrote :

I did not of this wiki page. Is it really necessary to build the debugging version of the application?

This is what gdb finds out with the normal rhythmbox package:

(rhythmbox:13996): GStreamer-WARNING **: pushing data on non-negotiated pad mad0:src, not allowed.
Got error opening "file:///home/deniedfr/music/Donavon%20Frankenreiter/02%20-%20Free%20(Featuring%20Jack%20Johnson).mp3": Wiedergabe konnte nicht unterbrochen werden

(rhythmbox:13996): GLib-GObject-WARNING **: invalid uninstantiatable type `<unknown>' in cast to `GstObject'

(rhythmbox:13996): GLib-GObject-WARNING **: invalid uninstantiatable type `<invalid>' in cast to `GstObject'

---Type <return> to continue, or q <return> to quit---
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1225316672 (LWP 13996)]
0xb70cbb78 in strcmp () from /lib/tls/i686/cmov/libc.so.6
(gdb) thread apply all bt

Thread 7 (Thread -1247224912 (LWP 14006)):
#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb78b13e1 in __lll_mutex_unlock_wake () from /lib/tls/i686/cmov/libpthread.so.0
#2 0xb78ae2f3 in _L_mutex_unlock_33 () from /lib/tls/i686/cmov/libpthread.so.0
#3 0x00000000 in ?? ()
#4 0xb5a8d418 in ?? ()
#5 0xb78aec3e in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#6 0xb7b13f17 in gst_thread_get_current () from /usr/lib/libgstreamer-0.8.so.1
Previous frame inner to this frame (corrupt stack?)
#0 0xb70cbb78 in strcmp () from /lib/tls/i686/cmov/libc.so.6

Is this usefull information for you? To me these messages mean not that much ... ;)

Revision history for this message
Frank Niedermann (fbn) wrote :

Sebastien,

can you reject this part also please?
rhythmbox (upstream)

Or can I do it myself?

Revision history for this message
Frank Niedermann (fbn) wrote :

Sebastien,

can you use the information I provided with gdb?

Frank

Changed in rhythmbox:
assignee: nobody → gnome
Changed in gstreamer0.8:
assignee: nobody → gnome
Revision history for this message
Jake (jaykup) wrote :

I have had this same problem.. and it seems to be an issue with corrupt MP3 files.

I was downloading some from bit torrent, and it was one of the songs said it was finished, but had the problem you had. I re-opened the torrent file and the hash check found something corrupt and started to re-download the parts, and it was fine.

MP3 is MP3 after all.

Revision history for this message
Daniel Holbach (dholbach) wrote :

It would be helpful if the both of you would provide us with debug back traces as explained on http://wiki.ubuntu.com/DebuggingProgramCrash - thanks a lot.

Revision history for this message
Frank Niedermann (fbn) wrote :

Daniel, I already did that at 2005-11-04 08:52:51 UTC (see my comment above) but then nothing more happened.

Sometimes Rhythmbox just crashes on a MP3 file and after restarting it plays the same file fine.

And if it's really because of corrupt files gstreamer should not crash it should play the files (as other players do fine) or show an error message - but just not crash :)

Revision history for this message
Daniel Holbach (dholbach) wrote :

Frank: was that a Debug Backtrace? It didn't look like it. Sorry, if I mistook you.

Revision history for this message
Lionel Dricot (ploum-deactivatedaccount) wrote :

As rhythmbox has now been ported to GStreamer0.10, I assume that this bug is fixed in current Dapper.

If you have still the bug, feel free to reopen it.

Changed in gstreamer0.8:
status: Unconfirmed → Rejected
Changed in rhythmbox:
assignee: gnome → nobody
Carlo Facci (cieffe)
Changed in rhythmbox:
status: Unconfirmed → Unknown
Changed in gstreamer:
status: Unknown → Fix Released
Changed in rhythmbox:
status: Unknown → Fix Released
Changed in gstreamer0.8:
assignee: gnome → desktop-bugs
Changed in gstreamer:
importance: Unknown → Medium
Changed in rhythmbox:
importance: Unknown → Medium
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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