FS#32484 - [gtk3] memory leak Gnome 3.6.1
Attached to Project:
Arch Linux
Opened by Anthony Ruhier (Anthony25) - Monday, 05 November 2012, 21:49 GMT
Last edited by Dave Reisner (falconindy) - Thursday, 03 October 2013, 13:45 GMT
Opened by Anthony Ruhier (Anthony25) - Monday, 05 November 2012, 21:49 GMT
Last edited by Dave Reisner (falconindy) - Thursday, 03 October 2013, 13:45 GMT
|
Details
Description:
The gnome-shell process ask for more than 400mo of RAM after a while (it asked 150mo max with gnome 3.4). I have seen that memory consumption increases when I click on anything in the top bar (like date, username, etc...) but doesn't decrease. Additional info: * gnome-shell 3.6.1 * Linux 3.6.5 Steps to reproduce: Click quickly and many times on an element in the top bar (like the username or the date) and see the memory consumption increases very fast. |
This task depends upon
Closed by Dave Reisner (falconindy)
Thursday, 03 October 2013, 13:45 GMT
Reason for closing: Fixed
Additional comments about closing: Fixed in 3.8.x
Thursday, 03 October 2013, 13:45 GMT
Reason for closing: Fixed
Additional comments about closing: Fixed in 3.8.x
And I have the same problem for the Activites menu.
Edit:
Also Sandy-Bridge Intel-Graphics.
I will try to find the sources to compile it.
Edit : I asked someone who just passed to gnome 3.6 to test if he had the same problem as us (to test with an other graphic card), and with a Nvidia 260GTX it's the same thing.
(gnome-shell:482): Clutter-CRITICAL **: clutter_text_get_editable: assertion `CLUTTER_IS_TEXT (self)' failed
(gnome-shell:482): Clutter-CRITICAL **: clutter_text_get_text: assertion `CLUTTER_IS_TEXT (self)' failed
(gnome-shell:482): Clutter-CRITICAL **: clutter_text_set_text: assertion `CLUTTER_IS_TEXT (self)' failed
It may be related or not but it is the only error I can see. These messages are repeated a lot of times. In my last session I have around 16 MiB of messages and gnome-shell got 500 MiB.
Seeing the release dates of clutter-gtk 1.4.0 and clutter 1.12.2 I have the theory that gnome-shell 3.6 has not taken into account something that changed in clutter.
Thanks ! ;)
I set the Adwaita theme without animations and no more problems! (at the moment) :)
This makes me think in the "animations" bug, because the screen locker does have animations. Could it be related?
http://git.gnome.org/browse/gtk+/log/?h=gtk-3-6
NOTE: The messages I noticed in "~/.cache/gdm/session.log" about clutter was related to a malfunctioning extension, but they only appeared when the extension was disabled (what now happens now when the screen is locked). I've fixed the extension and they do not appear anymore.
Actually the memory leak is minimized, but still there for me...
Edit : changelog for the last gtk3 update : https://projects.archlinux.org/svntogit/packages.git/commit/trunk?h=packages/gtk3&id=9c5752c073b2d74708daba76d7daa5bb95bd1984
It seems this update might fix the bug, but it's not working totally for me.
(xorg 1.12, catalyst 12.6-2 driver)
I will report this bug to the gnome team (if anybody have not already done it).
Edit : few memory leak reports have already been done on the gnome bugzilla, I've just added a comment to explain how to see quicker the bug (click many times on an element in the top bar).
Hoping it will help solving the problem !
Maybe we have to open a new bug report on the gnome bugzilla to make things clear ?
I will try in few hours and I will tell you if it fix the problem for me ;)
If someone more experimented could make a PKGBUILD to include those patches, it would be very nice :D !
Edit : The 2 patches are actually for gnome 3.7, : the first one is for the gfs package, the second one for gnome-shell.
For gfs you can apply the patch, it is the same for gfs 3.6 and gfs 3.7.
For gnome-shell it's not so easy because some files do not exist on 3.6, and for the others they have been edited during the 3.7 development so you can not apply directly the patch, you have to patch sources manually. Jasper St. Pierre, the patches author, said that we have to add "cr.$dispose();" at the end of each function where the "cr" variable is declared.
He modified some other things but I do not know how to adapt it to 3.6.2, so I just "disposed" cr variables.
For me it doesn't fix completely the memory leak, but at least it reduces it, and maybe it is because I missed something during the "manual patching" that is necessary to fix entirely the bug.
If I have some free time I will create a clean patch for gnome 3.6.2 and upload it.
Edit n°2 :
I asked to the patch author if extension developers have to dispose the variable in their extension (because it is what does the patch, dispose the variable for each gnome-shell menu), and this is his answer :
"Jasper St. Pierre [gnome-shell developer] 2013-01-10 01:05:04 UTC
Extension developers may have to dispose, which is unfortunate, but this is
hopefully a temporary hack that will be fixed in future versions of
gjs/gnome-shell."
start with ~50mb , and go to ~700mb ( i restart it in there )...
This will be fixed cleanly in Gnome 3.8, for now it is just a hack.
But I noticed a huge leak, without doing anything special.
After a day uptime gnome-shell using 1.2G and my notebook starts swapping like hell.