FS#13662 - xorg-server 1.6 massive memleak
Attached to Project:
Arch Linux
Opened by Peter Kraus (PetoKraus) - Wednesday, 04 March 2009, 16:36 GMT
Last edited by Andrea Scarpino (BaSh) - Tuesday, 14 April 2009, 21:56 GMT
Opened by Peter Kraus (PetoKraus) - Wednesday, 04 March 2009, 16:36 GMT
Last edited by Andrea Scarpino (BaSh) - Tuesday, 14 April 2009, 21:56 GMT
|
Details
Description:
I'm running Xorg-server 1.6.0 from testing, with xf86-video-ati driver and hotplugging enabled. Since the update, the xorg gets MASSIVE memory leaks for some strange reason; since yesterday evening (that's about 18 hours) it consumed up 51.2% of my system memory, over 1189MB. This has not happened before. Additional info: xorg-server 1.6.0-1 xf86-video-ati 6.11.0-1 card: ATI Mobility Radeon X1400 xorg.conf: http://www.irc.gjh.sk/pastebin/768 (I'm using hotplugging, hence it's quite short) Xorg.0.log: http://www.irc.gjh.sk/pastebin/769 Steps to reproduce: 1) upgrade to freshest testing xorg-server 2) wait few hours 3) observe memory leak |
This task depends upon
just unpack the tarball, change into the directory, run:
./configure
make
./xrestop
It will show you what application has which memory allocated inside X. Some applications are known to cause memory leaks because they allocate pixmaps all over the place while never releasing them. This can be a bug in both xorg-server or e17 for example.
root 24338 4.6 4.7 171784 96732 tty7 Ss+ 16:38 5:07 /usr/bin/X -nolisten tcp
top output:
24338 root 20 0 488m 94m 10m S 6 4.7 5:07.49 X
This is after 2 hours of running; I'll post the values later on to get the effect. I obviously restarted the X as I filed the bug, working with 340MB "free" RAM was not fun :)
For the xrestop, gimme a while.
Top: http://www.irc.gjh.sk/pastebin/772
Xrestop: http://www.irc.gjh.sk/pastebin/770
I will get back home at about 22.00, which is in roughly 4 hours; I'll update the values then.
for me [andyrtr@laptop64 ~]$ uptime
21:06:30 up 5:36, 2 users, load average: 0.14, 0.28, 0.32
no noticable difference to last release. (Xfce here, X300m card)
xrestop: http://www.irc.gjh.sk/pastebin/774
The X is up for about 7 hours.
Shall I bug ati driver upstream with this?
top: http://www.irc.gjh.sk/pastebin/776
xrestop -b -m 1: http://www.irc.gjh.sk/pastebin/777
That's right, 667MB consumed after 9 hours with different driver, I guess it's not caused by the driver, but by xorg itself. Should I try downgrading just to be sure?
Do you use suspend/resume btw?
BTW, you might want to attach your logs instead of putting them on a pastebin. The pastebin postings expire after a while, making this bugreport worthless after a while.
I can't seem to get vesa running on the display, the thing fails with:
(EE) VESA(0): Driver can't support depth 24
(II) UnloadModule: "vesa"
(II) UnloadModule: "int10"
(II) Unloading /usr/lib/xorg/modules//libint10.so
(II) UnloadModule: "vbe"
(II) Unloading /usr/lib/xorg/modules//libvbe.so
(EE) Screen(s) found, but none have a usable configuration.
The pmap of freshly restarted X is attached, I'll post one later when I get back home.
pmap (9.6 KiB)
xrestoplog (5.8 KiB)
For the ATI driver, no memory reservations are done by the 2D driver. The 3D drivers seem to be doing this. I haven't found any references to memleaks yet, so this is much harder to track down.
Also remember that KDE itself could be leaking pixmaps here everytime. These don't show up in xrestop because they're 3D pixmaps.
I think you should look into libgl, mesa and ati-dri for your memory leaks, as all memory allocation is done by the DRI drivers with xf86-video-ati/radeonhd. This will change when everything is switched to GEM.
Tried with xf86-video-ati 6.10.0, that memleaks as well. Trying with ati-dri 7.2 as well now; will get back here later.
the problem seems to be with the xorg-server package, as the ati/mesa related things do not cause this. It's strange indeed. I'll try playing around with the compile options in the PKGBUILD, but due to the inherent nature of this problem, it's going to take loads of time.