Bug 579369

Summary: pulseaudio: 100% cpu usage
Product: [openSUSE] openSUSE 11.4 Reporter: Christian Boltz <suse-beta>
Component: SoundAssignee: Takashi Iwai <tiwai>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None CC: marty, shane.wims, sreeves
Version: Factory   
Target Milestone: ---   
Hardware: Other   
OS: openSUSE 11.2   
Whiteboard:
Found By: Beta-Customer Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Christian Boltz 2010-02-11 23:31:18 UTC
pulseaudio currently uses 100% CPU of my system. According to strace, it seems to do the same thing in an endless loop (about 13000 times per second while stracing it):

ppoll([{fd=4, events=POLLIN}, {fd=27, events=POLLIN}, {fd=28, events=0}, {fd=33, events=POLLIN}, {fd=9, events=POLLIN}, {fd=22, events=POLLIN}, {fd=29, events=POLLIN}, {fd=32, events=POLLIN|POLLERR|POLLHUP}, {fd=32, events=0}, {fd=31, events=POLLIN}, {fd=30, events=POLLIN}, {fd=23, events=POLLIN}, {fd=26, events=POLLIN}, {fd=16, events=POLLIN}, {fd=19, events=POLLIN}, {fd=15, events=POLLIN|POLLERR|POLLHUP}, {fd=15, events=0}, {fd=14, events=POLLIN}, {fd=13, events=POLLIN}, {fd=6, events=POLLIN}], 20, NULL, NULL, 8) = 1 ([{fd=28, revents=POLLHUP}])

I attached gdb to it, result:
(gdb) bt
#0  0x00007fae575e4f57 in ppoll () from /lib64/libc.so.6
#1  0x00007fae59d03457 in pa_mainloop_poll () from /usr/lib64/libpulse.so.0
#2  0x00007fae59d04799 in pa_mainloop_iterate () from /usr/lib64/libpulse.so.0
#3  0x00007fae59d04850 in pa_mainloop_run () from /usr/lib64/libpulse.so.0
#4  0x000000000040a19a in main ()

Unfortunately I have no idea what caused pulseaudio to take all the CPU, therefore I can't offer a reproducer. I hope the infos in this bugreport can give you some insight.

Some details about my system:
- Dell Vostro 1710 laptop
- openSUSE 11.2 64bit with all updates + nearly all test updates as of today
- KDE 4
- running programs: several KDE apps (KMail, Gwenview, Konqueror etc.) + GIMP
- I also used mplayer tonight (not sure if is related)
- pulseaudio runs with normal (nearly no) cpu usage again after killing the 
  process taking 100% cpu

# hwinfo --sound
13: PCI 1b.0: 0403 Audio device
  [Created at pci.318]
  UDI: /org/freedesktop/Hal/devices/pci_8086_284b
  Unique ID: u1Nb.6k+7+p1inn5
  SysFS ID: /devices/pci0000:00/0000:00:1b.0
  SysFS BusID: 0000:00:1b.0
  Hardware Class: sound
  Model: "Intel 82801H (ICH8 Family) HD Audio Controller"
  Vendor: pci 0x8086 "Intel Corporation"
  Device: pci 0x284b "82801H (ICH8 Family) HD Audio Controller"
  SubVendor: pci 0x1028 "Dell"
  SubDevice: pci 0x0275
  Revision: 0x03
  Driver: "HDA Intel"
  Driver Modules: "snd_hda_intel"
  Memory Range: 0xf8300000-0xf8303fff (rw,non-prefetchable)
  IRQ: 22 (31634 events)
  Module Alias: "pci:v00008086d0000284Bsv00001028sd00000275bc04sc03i00"
  Driver Info #0:
    Driver Status: snd_hda_intel is active
    Driver Activation Cmd: "modprobe snd_hda_intel"
  Config Status: cfg=no, avail=yes, need=no, active=unknown

BTW: The symptoms match bug 558119, but I don't have any "via" driver loaded.
Comment 1 Christian Boltz 2010-02-12 00:17:58 UTC
(In reply to comment #1)
> - openSUSE 11.2 64bit with all updates + nearly all test updates as of today

I just see that there's a pulseaudio update in the test updates (libpulse-browse0, patch 1952). This patch is not (yet) installed on my system.
Comment 2 Takashi Iwai 2010-02-17 10:40:06 UTC
Please test the updated pulseaudio whether the problem still exists.

If yes, try to update pulseaudio packages in OBS multimedia:libs repo.
And/or, try alsa-driver-kmp in OBS multimedia:audio:KMP repo for upgrading to the latest alsa-driver.
Comment 3 Christian Boltz 2010-02-18 20:33:51 UTC
OK, I'm just installing the update.

The problem is that I have no idea what caused pulseaudio to take 100% cpu and therefore don't have a reproducer. Additionally this issue appears quite rarely which makes it even harder to tell if it is fixed or if it just didn't enter this bug again...

I'll let this bug in needinfo for some weeks (or until it happens again).
Comment 4 Christian Boltz 2010-02-20 22:45:29 UTC
I've just seen the same problem again with the updated pulseaudio from test-updates repo.

What I did this time: (besides the usual running KDE apps)
- watch a movie in mplayer, pause it
- start another instance of mplayer, watch a short movie section there, wait 
  until it quits
- (try to) continue in the first mplayer - it aborted because device was locked 
  by another process (huh? the second one was quit before...)
- start mplayer again

Resetting needinfo for now since the details above might give you some insight.
(I'll try to upgrade to the buildservice packages in the next days and report back.)
Comment 5 Martin Barry 2010-02-26 09:49:53 UTC
I'm seeing the same issue, similar Intel chipset.

00:1b.0 Audio device: Intel Corporation 82801JD/DO (ICH10 Family) HD Audio Controller (rev 02)

100% CPU by pulseaudio.

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+ COMMAND
 9093 marty     20   0  260m 9352 7048 R  100  0.2   1115:21 pulseaudio


Strace is just the following repeated over and over.

ppoll([{fd=4, events=POLLIN}, {fd=63, events=0}, {fd=62, events=0}, {fd=61, events=0}, {fd=60, events=0}, {fd=59, events=0}, {fd=58, events=0}, {fd=57, events=0}, {fd=56, events=0}, {fd=55, events=0}, {fd=54, events=0}, {fd=53, events=0}, {fd=52, events=0}, {fd=51, events=0}, {fd=50, events=0}, {fd=49, events=0}, {fd=48, events=0}, {fd=47, events=0}, {fd=46, events=0}, {fd=45, events=0}, {fd=44, events=0}, {fd=43, events=0}, {fd=42, events=0}, {fd=41, events=0}, {fd=40, events=0}, {fd=39, events=0}, {fd=38, events=0}, {fd=37, events=0}, {fd=36, events=0}, {fd=35, events=0}, {fd=34, events=0}, {fd=27, events=0}, ...], 52, NULL, NULL, 8) = 32 ([{fd=63, revents=POLLHUP}, {fd=62, revents=POLLHUP}, {fd=61, revents=POLLHUP}, {fd=60, revents=POLLHUP}, {fd=59, revents=POLLHUP}, {fd=58, revents=POLLHUP}, {fd=57, revents=POLLHUP}, {fd=56, revents=POLLHUP}, {fd=55, revents=POLLHUP}, {fd=54, revents=POLLHUP}, {fd=53, revents=POLLHUP}, {fd=52, revents=POLLHUP}, {fd=51, revents=POLLHUP}, {fd=50, revents=POLLHUP}, {fd=49, revents=POLLHUP}, {fd=48, revents=POLLHUP}, {fd=47, revents=POLLHUP}, {fd=46, revents=POLLHUP}, {fd=45, revents=POLLHUP}, {fd=44, revents=POLLHUP}, {fd=43, revents=POLLHUP}, {fd=42, revents=POLLHUP}, {fd=41, revents=POLLHUP}, {fd=40, revents=POLLHUP}, {fd=39, revents=POLLHUP}, {fd=38, revents=POLLHUP}, {fd=37, revents=POLLHUP}, {fd=36, revents=POLLHUP}, {fd=35, revents=POLLHUP}, {fd=34, revents=POLLHUP}, {fd=27, revents=POLLHUP}, ...])
Comment 6 Martin Barry 2010-02-26 11:26:12 UTC
I installed updates from OBS multimedia:libs, problem still there.

I installed updates from OBS multimedia:audio:KMP, problem still there.
Comment 7 Christian Boltz 2011-02-06 17:55:10 UTC
I just hit this bug again - with 11.4 Factory (from 2011-02-04) :-(

Both the backtrace and the strace output are the same.
Comment 8 Takashi Iwai 2012-10-11 08:25:33 UTC
Does this still happen with 12.2 versions?
Comment 9 Christian Boltz 2012-10-11 13:11:41 UTC
(In reply to comment #8)
> Does this still happen with 12.2 versions?

I'm using Factory and didn't see this problem for a long time - but I'm not sure if my system is using pulseaudio at all (ps aux |grep pulse shows nothing while clementine plays some music).
Comment 10 Takashi Iwai 2012-10-11 13:14:55 UTC
Thanks, then let's close this bug for now.  If you see the same issue again, please reopen.