Bug 537692 - Memory leak in pulseaudio
Summary: Memory leak in pulseaudio
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: pulseaudio
Version: 12
Hardware: x86_64
OS: Linux
low
medium
Target Milestone: ---
Assignee: Lennart Poettering
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-11-15 19:20 UTC by Alex Smirnoff
Modified: 2009-12-31 03:28 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-11-16 22:46:40 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Alex Smirnoff 2009-11-15 19:20:38 UTC
Description of problem:

Memory leak in pulseaudio

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

pulseaudio-0.9.15-17.fc11.i586

How reproducible:

always

Steps to Reproduce:
1. configure pulseaudio as default sound system in gnome
2. run smplayer, firefox+flash and other programs that use audio output
  
Actual results:

ark       2126  2.9  1.0 178692 21284 ?        Ssl  Nov14  50:19 /usr/bin/pulseaudio --start --log-target=syslog

after 1.5 days uptime and keeps growing

Expected results:

ark       2507  2.2  0.2 100932  4360 ?        Ssl  22:17   0:00 /usr/bin/pulseaudio --start --log-target=syslog

Additional info:

00:1e.2 Multimedia audio controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (rev 03)
	Subsystem: Hewlett-Packard Company Compaq nw8240/nx8220
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 21
	Region 0: I/O ports at 3100 [size=256]
	Region 1: I/O ports at 3200 [size=64]
	Region 2: Memory at c8c01000 (32-bit, non-prefetchable) [size=512]
	Region 3: Memory at c8c02000 (32-bit, non-prefetchable) [size=256]
	Capabilities: [50] Power Management version 2
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
	Kernel driver in use: Intel ICH
	Kernel modules: snd-intel8x0

Comment 1 Lennart Poettering 2009-11-16 22:46:40 UTC
Uh. That's not how you detect a memory leak. Use valgrind for that.

"ps"/"top" are really not suitable at all for figuring out the memory consumptions of processes. This LWN article has a few hints how to better measure memory consumption: http://lwn.net/Articles/230975/ 

The biggest part of the memory PA allocates is probably taken up buy the event sound cache. You can use "pacmd list-samples" to figure out how many that takes up.

Also, "pacmd stat" will tell you how much audio data blocks PA has allocated. And you can use "pacmd vacuum" to make sure PA gives memory back to the OS that it has alocated previously.

Comment 2 alvin 2009-12-31 03:28:43 UTC
Ok so this is not a memory leak.
Lets call it resource exhaustion.
On my laptop when I leave it running over night a pulseaudio process will suck back all free memory and run the system into swap.
killing pulseaudio frees up the ram.

take a look at ubuntu bug 424655.


Note You need to log in before you can comment on or make changes to this bug.