GNOME Bugzilla – Bug 503126
Starts using 100% of CPU time when pulseaudio gets killed
Last modified: 2008-10-23 00:03:38 UTC
Please describe the problem: When I am setting GNOME/GStreamer to send audio to Pulseaudio (0.9.8), and Rhythmbox is playing while pulseaudio gets killed, rhythmbox will hang completely and start using 100% of cpu time. Restarting pulseaudio does not fix the problem: Rhythmbox has to be killed. strace of what it is doing in a loop: {fd=19, events=POLLIN}, {fd=22, events=POLLIN}, {fd=23, events=POLLIN}, {fd=10, events=POLLIN|POLLPRI}, {fd=14, events=POLLIN}, {fd=26, events=POLLIN}, {fd=20, events=POLLIN}, {fd=21, events=POLLIN}], 14, 0) = 0 ioctl(3, FIONREAD, [0]) = 0 gettimeofday({1197406920, 546847}, NULL) = 0 poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=8, events=POLLIN|POLLPRI}, {fd=11, events=POLLIN|POLLPRI}, {fd=12, events=POLLIN|POLLPRI}, {fd=13, events=POLLIN|POLLPRI}, {fd=19, events=POLLIN}, {fd=22, events=POLLIN}, {fd=23, events=POLLIN}, {fd=10, events=POLLIN|POLLPRI}, {fd=14, events=POLLIN}, {fd=26, events=POLLIN}, {fd=20, events=POLLIN}, {fd=21, events=POLLIN}], 14, 0) = 0 ioctl(3, FIONREAD, [0]) = 0 gettimeofday({1197406920, 546955}, NULL) = 0 poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=8, events=POLLIN|POLLPRI}, {fd=11, events=POLLIN|POLLPRI}, {fd=12, events=POLLIN|POLLPRI}, {fd=13, events=POLLIN|POLLPRI}, {fd=19, events=POLLIN}, {fd=22, events=POLLIN}, {fd=23, events=POLLIN}, {fd=10, events=POLLIN|POLLPRI}, {fd=14, events=POLLIN}, {fd=26, events=POLLIN}, {fd=20, events=POLLIN}, {fd=21, events=POLLIN}], 14, 0) = 0 ioctl(3, FIONREAD, [0]) = 0 gettimeofday({1197406920, 547062}, NULL) = 0 poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=8, events=POLLIN|POLLPRI}, {fd=11, events=POLLIN|POLLPRI}, {fd=12, events=POLLIN|POLLPRI}, {fd=13, events=POLLIN|POLLPRI}, {fd=19, events=POLLIN}, {fd=22, events=POLLIN}, {fd=23, events=POLLIN}, {fd=10, events=POLLIN|POLLPRI}, {fd=14, events=POLLIN}, {fd=26, events=POLLIN}, {fd=20, events=POLLIN}, {fd=21, events=POLLIN}], 14, 0) = 0 Steps to reproduce: 1. In gnome-sound-properties set everything to use PulseAudio 2. Let Rhythmbox play some music 3. killall pulseaudio Actual results: Rhythmbox uses 100% of CPU time and memory usage increases slowly until the machine runs out of memory. It has to be killed to close it. Expected results: Rhythmbox simply stops playing Does this happen every time? yes Other information: gst-launch handles this fine, so it seems like a Rhythmbox problem. [frederik@Anastacia Heroes & Thieves]$ gst-launch-0.10 filesrc location=04.\ My\ Best.ogg ! oggdemux ! vorbisdec ! audioconvert ! audioresample ! pulsesink Setting pipeline to PAUSED ... Pipeline is PREROLLING ... Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstAudioSinkClock ERROR: from element /pipeline0/pulsesink0: Disconnected: Connection terminated Additional debug info: pulsesink.c(455): gst_pulsesink_write (): /pipeline0/pulsesink0 Execution ended after 16366041000 ns. Setting pipeline to PAUSED ... And then it simply stops, without using any CPU time.
That's a PulseAudio sink bug, and it lives in PulseAudio.