Audacious

3.3.2 memory leak on OpenSuSE 12.2

Hi. A couple weeks ago, I noticed that the kernel out-of-memory killer was invoked against a long-running Audacious process on my 64-bit OpenSuSE 12.2 system (Audacious v3.2.4 installed from the 'Packman' 3rd-party multimedia repository). It had been running for a few weeks playing the same MP3 in a loop. So I wrote a simple script to poll the RSS value once per minute and noted that RSS grew steadily even when idle.

I then grabbed the source code for v3.3.2 from here, including the plugins, and built from scratch and re-ran the test. The memory leak appears to exist in this version also.

To test, I started Audacious but let it idle. No music, no scrolling, no mouse clicks, etc. RSS value was polled once per minute.

22152224162268022944232082347223736240002636826368263682662826892

So, with a couple exceptions, it appears that even when idle, Audacious' memory footprint is growing at a pretty steady rate of 264KB/minute.

After noticing that the majority of the leakage was associated with calls to the Cairo font library, I installed a backlevel Cairo package that does not perform subpixel rendering and re-ran the test. As you can see, there's still a slight memory leak but it's 100 times smaller with the subpixel stuff removed.

I suppose there's a slight possibility that Audacious is not invoking the Pango/Cairo/fontconfig API correctly and that's causing the leak but it's probably much more likely that the leak is in Cairo's subpixel rendering code.