GNOME Bugzilla – Bug 597203
Occasional hangs during playback
Last modified: 2009-11-07 08:25:56 UTC
I am experiencing occasional hangs during playback with RB 0.12.0 (Ubuntu 9.04 x86_64) This is not reproducable at will. It does not seem to be relatd to a specific audio type. Only playback gets frozen at some point, the UI continues to work. However playback won't resume at that point whatever I intend, and trying to quit RB does not work. There is nothing unusual in the system log files to be seen. nazgul@rivendell:/space/svn/gnome/gnome-pilot/po$ dpkg -l gst* | grep ii ii gstreamer-tools 0.10.22-1 Tools for use with GStreamer ii gstreamer0.10-alsa 0.10.22-5 GStreamer plugin for ALSA ii gstreamer0.10-esd 0.10.14-1ubuntu0.1 GStreamer plugin for ESD ii gstreamer0.10-ffmpeg 0.10.6.2-1ubuntu2 FFmpeg plugin for GStreamer ii gstreamer0.10-fluendo-mp3 0.10.7.debian-1 Fluendo mp3 decoder GStreamer plugin ii gstreamer0.10-gnomevfs 0.10.22-5 GStreamer plugin for GnomeVFS ii gstreamer0.10-plugins-bad 0.10.11-2ubuntu1 GStreamer plugins from the "bad" set ii gstreamer0.10-plugins-bad-multiverse 0.10.11-0ubuntu1 GStreamer plugins from the "bad" set (Multiv ii gstreamer0.10-plugins-base 0.10.22-5 GStreamer plugins from the "base" set ii gstreamer0.10-plugins-base-apps 0.10.22-5 GStreamer helper programs from the "base" se ii gstreamer0.10-plugins-base-dbg 0.10.22-5 GStreamer plugins from the "base" set ii gstreamer0.10-plugins-good 0.10.14-1ubuntu0.1 GStreamer plugins from the "good" set ii gstreamer0.10-plugins-good-dbg 0.10.14-1ubuntu0.1 GStreamer plugins from the "good" set ii gstreamer0.10-plugins-ugly 0.10.10.2-1build1 GStreamer plugins from the "ugly" set ii gstreamer0.10-plugins-ugly-dbg 0.10.10.2-1build1 GStreamer plugins from the "ugly" set ii gstreamer0.10-plugins-ugly-multiverse 0.10.7-2 GStreamer plugins from the "ugly" set (Multi ii gstreamer0.10-pulseaudio 0.10.14-1ubuntu0.1 GStreamer plugin for PulseAudio ii gstreamer0.10-schroedinger 1.0.5-1 GStreamer plugin for encoding/decoding of Di ii gstreamer0.10-tools 0.10.22-1 Tools for use with GStreamer ii gstreamer0.10-x 0.10.22-5 GStreamer plugins for X11 and Pango nazgul@rivendell:/space/svn/gnome/gnome-pilot/po$ dpkg -l pulse* | grep ii ii pulseaudio 1:0.9.14-0ubuntu20.2 PulseAudio sound server ii pulseaudio-dbg 1:0.9.14-0ubuntu20.2 PulseAudio sound server detached debugging s ii pulseaudio-esound-compat 1:0.9.14-0ubuntu20.2 PulseAudio ESD compatibility layer ii pulseaudio-module-gconf 1:0.9.14-0ubuntu20.2 GConf module for PulseAudio sound server ii pulseaudio-module-hal 1:0.9.14-0ubuntu20.2 HAL device detection module for PulseAudio s ii pulseaudio-module-x11 1:0.9.14-0ubuntu20.2 X11 module for PulseAudio sound server ii pulseaudio-utils 1:0.9.14-0ubuntu20.2 Command line tools for the PulseAudio sound I've attached to the process and made a detailed trace I am going to attach to the case. (gdb) bt
+ Trace 218021
Created attachment 144662 [details] detailed stack trace in the hung state
Hmm so this looks like gstreamer to me, post_activate() is waiting for a mutex lock forever ...
It might be worth seeing if you can reproduce this with the updated rhythmbox packages you can find here: https://launchpad.net/~jmatthew/+archive/ppa Otherwise, if you can identify the files (or type of file) this happens with, that'd probably help too. It's happening when shutting down the playback pipeline for a track that has just finished, not when starting a new one.
Does this code use decodebin2 or playbin2? There is a known issue with decodebin2 and container formats which have an additional ID3 or APE tag (e.g. ID3 tag + quicktime/ogg/asf). I think those hung slightly differently though, and at startup, not on shutdown. Could you try and find one of the files you're having this problem with?
Rhythmbox was still using decodebin in 0.12.0.
It might be worth noting that crossfading is enabled. As it only happens, say, every few hours it is rather difficult to reproduce. I'll attempt to find out media file types causing it, and eventually try the PPA. Then again the next distro release upgrade is at hand...
OK I tried very hard and triggered it two times, it hung each time a song ended, as you predicted. In both cases the file is of type Audio file with ID3 version 2.3, MP3 encoding but it cannot be triggered every time with those files. This looks like some internal gstreamer race condition or so to me. Will switch to the PPA now.
OK I also see it with rhythmbox 0.12.4 this time the file was of type MPEG ADTS, layer III, v1, 160 kbps, 44.1 kHz, Stereo will attach the trace
Created attachment 144690 [details] playback hang stack trace
Is this reproducible without the crossfading stuff too?Is it reproducible with totem or gst-launch-0.10 playbin2 uri=file:///path/to/file ?
It is reproducible with the crossfading turned off. I have just triggered 50 song changes in totem in a row (by fast-forwarding to a few seconds before the song end) without any problem. It looks to me like totem is not affected, but I will continue observing the behaviour of totem as I think it is rather premature to draw any conclusions.
I'm affected by this as well. If it helps, I'm seeing the issue during *transitions* from mp3 to ogg or vice versa. I filed a report in launchpad here: https://bugs.launchpad.net/ubuntu/+source/gst-plugins-good0.10/+bug/456273 Playback in Rhythmbox stops just before switching from mp3 to ogg. I can press Next and Prev and the songs starts playing without issue. However, at the end of the ogg file, the next song (usually an mp3) also won't play and I have to do that Next/Prev thing again. Going from mp3 to mp3 seems to work fine. I'm not sure, but it could be during transitions from one type to another, because I mostly just have mp3 and ogg files.
I was not able to trigger this behaviour when using totem. Also, I am running Ubuntu 9.10 since about 10 days. I have not experienced a single hang again, and I am confident to claim that whatever cause I suffered from, it is no longer existing in the updated packages. ii gstreamer-tool 0.10.25-2 Tools for use with GStreamer ... ii rhythmbox 0.12.5-0ubuntu music player and organizer for GNOME
Ok, then let's close it for now :)