[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#695757: xserver-xorg-video-radeon: Memory leak in Xorg when using oxygen-gtk as gtk2 theme



Il 12/12/12 17:42, Michel Dänzer ha scritto:
On Mit, 2012-12-12 at 15:48 +0100, bluebubble wrote:
Il 12/12/12 15:29, Michel Dänzer ha scritto:
On Mit, 2012-12-12 at 13:14 +0100, bluebubble wrote:
Il 12/12/12 12:35, Michel Dänzer ha scritto:
On Mit, 2012-12-12 at 12:22 +0100, bluebubble wrote:

as the title state i'm noticing huge memory leaks with oxygen-gtk
theme under KDE.
With xrestop i can see with a sample application like pidgin that for
example each time i move the mouse over a popup menu resource are
never freed (pixmaps and Misc counters grows indefinitely and also
their memory occupation).

Do the leaked resources persist when the application terminates?

This is most likely an oxygen-gtk / GTK+ issue.

yes sorry but i forgot to mention that very few resources are freed when
pidgin (or another gtk app) terminate.

Example:

ps aux before running pidgin:
[...]

That may be due to heap fragmentation (memory allocated from the heap
can only be returned to the system from the end of the allocated range,
not in the middle of it).

If the pixmaps no longer show up in xrestop, their memory is freed as
far as the X server is concerned, and they were most certainly allocated
by oxygen-gtk / GTK+.

I don't think this is due to heap fragmentation I could easily made Xorg
leak hundreds of MB and they where never freed.

How is that an argument against heap fragmentation?


Pixmaps always show up in xrestop when the application is running but if
I close the application how could I know if they where actually released?

As I said, if they weren't freed, they'd still show up in xrestop.



Sorry I wrongly read the memory reported by xrestop it isn't a great amount that could justify the leak.

Here some output:

After fresh X server start:
Pixmaps:    4987K total, Other:      65K total, All:    5052K total

Pidgin with oxygen-gtk just started (with no apparent leaks):
Pixmaps:    5590K total, Other:      81K total, All:    5672K total
res-base Wins GCs Fnts Pxms Misc Pxm mem Other Total PID Identifier
4600000     8   54    1  373  443      221K     12K    234K 28441 Buddy List

Pidgin with a leak of 100MB on Xorg:
Pixmaps:    6089K total, Other:     202K total, All:    6291K total
res-base Wins  GCs Fnts Pxms Misc   Pxm mem  Other   Total   PID Identifier
4600000    12   55    1 1888 5604      720K    133K    854K 28441 Buddy List

Pidgin closed:
Pixmaps:    5111K total, Other:      68K total, All:    5179K total

X before starting pidgin with QtCurve:
Pixmaps:    5477K total, Other:      69K total, All:    5547K total

Pidgin started (I've tried to do the same things that cause leak with oxygen-gtk):
Pixmaps:    5827K total, Other:      73K total, All:    5900K total
4600000    10   32    1   11   43       92K      2K     95K 28511 Buddy List

Pidgin closed:
Pixmaps:    5477K total, Other:      69K total, All:    5547K total


Reply to: