Red Hat Bugzilla – Bug 432711
cpu hang and ui freeze mp3/ogg playback through pulseaudio
Last modified: 2008-10-24 16:45:51 EDT
Description of problem:
During playback of an mp3 format file rhythmbox occasionally crashes,
accompanied by a 100% cpu use hang and ui freeze. There is no output I've seen
yet, but backtraces are attached.
There are two situations in which I'm seeing this type of freeze, both with the
100% cpu hang and unresponsive ui.
1- playback gets blocked by changing VTs making rhythmbox not in the active
session, rhythmbox continues trying to play the track, track time continues
- when rhythmbox gets focus again in the active session it sometimes continues
to play normally
- sometimes it freezes up with the cpu hang and the track time stops, the ui is
unresponsive, and rhythmbox must be killed
2- rhythmbox is playing the track normally in the active session, then suddenly
it stops playing, ui becomes unresponsive, track time stops
In both cases it is not just a lack of sound output. The blocked sound output
while in the inactive session is expected right now, but rhythmbox needs to
remain responsive when the X session is active again.
Version-Release number of selected component (if applicable):
Sporadic crashes, cannot trigger it very reliably
Steps to Reproduce:
1. play track in rhythmbox in active X session
2. change to a virtual terminal
3. return to X session
Backtrace #1 is from situation 2 above, no virtual terminal switching, rhythmbox
stops while the X session is active.
Created attachment 294851 [details]
Created attachment 294852 [details]
This is changing from X session to VT1 then back to X, no playback while on
VT1, crash noticed when returned to X, cpu spinning, no track time changing
Created attachment 294853 [details]
This is a crash again for situation 1 where rhythmbox was playing in active X
session, no vt change, suddenly it just stopped playing. The first backtrace
posted is the most recent. The debug symbols were not all installed for the vt
change backtrace. I'll try to trigger that again but it hasn't happened in a
few days, and Lennart Poettering gave me a couple things to look for regarding
pa device access in that VT change case.
Created attachment 294854 [details]
Sorry, comment 3 is for situation 2, and so is this one. This was again
rhythmbox crashing without change in VT, or anything else I know of effecting
the device access. This occurred right after Galeon crashed, while debugging
bug# 431162, so this is questionable (cpu was already spinning from galeon,
could have effected this crash).
Created attachment 294859 [details]
Here is another crash after killing another process. Debugging firefox in gdb,
after firefox is hanging, I backtrace firefox while rhythmbox is playing
(everything ok so far). Then, I kill firefox from within gdb, and immediately
rhythmbox hangs. This backtrace is from as soon as I could attach to it after
that. Basically, the same situation as the galeon crash above.
Created attachment 294861 [details]
Rhythmbox crash after VT switching (it worked fine 3 or 4 times, seemingly just
streaming the song while I was viewing VT1, then playing when I returned (the
position in the song did move, so not paused during that time). Then after
doing the switch again and returning rhythmbox was frozen.
The attached has the backtrace (attached after the freeze) and 'pactl list'
showing devices not suspended, and 'getfacl /dev/snd/*'.
Created attachment 294944 [details]
Occurs with ogg vorbis files as well, so this does not look like an mp3 decoder
Another interesting thing to note, these crashes are happening frequently RIGHT
AFTER some other events in the system, and so fast that they seem related. For
instance, the kill of a program being debugged in gdb, or crashing immediately
after yum finishes a set of updates/installs.
I just installed imlib, feh, gimmage, and qiv (image viewers) and as soon as the
'Complete!' message from yum showed up rhythmbox hung itself. I had just tried
to update all my packages and it failed with a yum bug, but did not crash
rhythmbox, so its very circumstantial.
More details. Banshee has its own set of problems (not rebuilt in rawhide since
fc8 build) but it is playing mp3 files through gstreamer and pulseaudio just
fine. I cannot cause banshee to hang like this either by switching consoles or
just playing for hours. With the very same configuration I can change to
rhythmbox playing and hang it very quickly.
Reassigning to gstreamer-plugins-pulse, as it should fail nicely if PulseAudio
loses its access rights on the sound device.
Changing version to '9' as part of upcoming Fedora 9 GA.
More information and reason for this action is here:
The pulse plugin from current gstreamer-plugins-good fixes this issue.