Bug 516939

Summary: rhythmbox stops playing and uses too much CPU
Product: [Fedora] Fedora Reporter: Andre Costa <andre.ocosta>
Component: rhythmboxAssignee: Bastien Nocera <bnocera>
Status: CLOSED UPSTREAM QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: low    
Version: 11CC: bnocera
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-10-05 11:46:21 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Andre Costa 2009-08-11 23:13:09 UTC
Description of problem: Rhythmbox doesn't play any song, and uses 80-100% CPU. Songs are MP3 files, and the progress slider just stays put. The UI is responsive, the application is not frozen, it just doesn't play anything. I can skip songs using Next/Prev, but none of them plays either.


Version-Release number of selected component (if applicable): 0.12.3-1


How reproducible: sometimes


Steps to Reproduce:
1. try to play MP3 songs with rhythmbox
2.
3.
  
Actual results: song doesn't play, rhythmbox seems to do nothing but uses a lot of CPU


Expected results: song would play, CPU usage should be low


Additional info: While rhythmbox is stuck, the "Applications" tab on the Sound Preferences dialog shows two applications (rhythmbox and another icon that resembles a movie player), and the slider for the other app keeps flickering. PulseAudio also uses a lot of CPU when rhythmbox is stuck.

I ran strace -p PID -c for both rhyhtmbox and pulseaudio, and this is what I got:

rhythmbox
====
% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
100.00    0.162358          53      3091       294 futex
  0.00    0.000000           0         8           madvise
------ ----------- ----------- --------- --------- ----------------
100.00    0.162358                  3099       294 total

pulseaudio
====
% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
 45.75    0.012656           1     17137           poll
 30.72    0.008498           0     37030           sendto
 13.92    0.003852           0     16491           write
  8.87    0.002454           0     22363           recvmsg
  0.32    0.000088           0       491           open
  0.22    0.000062           0       491           mmap
  0.08    0.000023           0       491           fstat
  0.08    0.000022           0       808           read
  0.04    0.000010           0       491           close
  0.00    0.000000           0       479           munmap
  0.00    0.000000           0       243       102 futex
  0.00    0.000000           0         1           restart_syscall
------ ----------- ----------- --------- --------- ----------------
100.00    0.027665                 96516       102 total

Also, I was using rhythmbox just fine, and last time this occurred was after I played a MOV file from Apple trailers site using gecko-mediaplayer (not sure it's related, but...).

Applications running: Firefox, pidgin, skype

Comment 1 Bastien Nocera 2009-08-12 10:01:13 UTC
Looks like any of the other apps could be the culprit. Questions are:
- Which version of pulseaudio do you have installed?
- Is alsa-plugins-pulseaudio installed (and which version)
- Do you get any error messages related to pulseaudio in /var/log/messages?
- Does the problem happen if pidgin/skype aren't running, or if firefox isn't running the "gecko-mediaplayer"?

Comment 2 Andre Costa 2009-08-13 16:10:03 UTC
Hi Bastien,

things are more weird now: rhythmbox stopped playing at all. But only for my account (I created a new local account for testing and rhythmbox works there just fine).

PulseAudio versions are:

pulseaudio-module-bluetooth-0.9.15-14.fc11.x86_64
pulseaudio-module-gconf-0.9.15-14.fc11.x86_64
pulseaudio-utils-0.9.15-14.fc11.x86_64
pulseaudio-libs-0.9.15-14.fc11.x86_64
pulseaudio-libs-glib2-0.9.15-14.fc11.x86_64
pulseaudio-module-x11-0.9.15-14.fc11.x86_64
alsa-plugins-pulseaudio-1.0.20-2.fc11.x86_64
pulseaudio-0.9.15-14.fc11.x86_64

There's nothing on /var/log/messages AFAICS. I removed Skype and Pidgin from my startup programs list, but problem still persists (even when Firefox is not running at all).

One thing that looks suspicious is the fact that on my account the "Output" tab on the sound preferences dialog shows two devices ("Internal Audio" and "Simultaneous output to internal audio"), and sound doesn't work with neither of them. The other local account (where rhythmbox is working) only shows "Internal Audio".

I am still trying to figure out what's different between these two accounts. My session starts these additional apps:

- workrave
- compiz
- dropbox

Could any of these be messing with pulseaudio/rhythmbox?

Comment 3 Andre Costa 2009-08-13 18:18:50 UTC
Found it: it is rhythmbox indeed (or, at least, one of its plugins). The culprit was crossfade backend (I had enabled it recently). Turning it off brought rhythmbox back again on the game; turning it on makes it dumb again.

So, should I open a new bug report?

Comment 4 Bastien Nocera 2009-10-05 11:46:21 UTC
File a bug upstream quoting the type of file you're trying to play when the problem occurs.

If it's a WMA file, then the problem is known upstream, the ASF demuxer is a bit broken, and rhythmbox's cross-fading backend doesn't like it.