My favorites | Sign in
Project Home Downloads Wiki Issues Code Search
New issue   Search
for
  Advanced search   Search tips   Subscriptions
Issue 97394: Chrome Leaks many GDI Objects...
9 people starred this issue and may be notified of changes. Back to list
 
Reported by m...@google.com, Sep 21, 2011
My regular usage of Chrome at work leaks a few hundred GDI objects per day... Friday, I started fresh after a reboot, and left Chrome open with a Gmail app window and another window with a Calendar and a Google+ tab for the weekend. I noted the current number of GDI objects for the main browser process, and when I got to my desk Monday morning (and no, I didn't connect to my machine using remote desktop over the weekend), there was a few tens more GDI objects... With nobody interacting with the system, except for gmail/cal/+ updates...

Then, after one day of usage, I looked at the number of GDI objects for that same process and there was many hundreds more... Today, it's up to 1474...

I know of a few bugs already filed for know repro steps that leak GDI objects (e.g.,  Issue 51616 ,  Issue 96872  and  Issue 96226  which recently got fixed), but I think there are many more... We should start tracking those down... somehow...
Sep 21, 2011
#1 tkent@chromium.org
(No comment was entered for this change.)
Cc: yosin@chromium.org
Sep 29, 2011
#3 yosin@chromium.org
I guess most of GDI objects in Chrome Browser process is font cache. Because of Browser Font Cache is never flushed. However, it may be less than 150 or number of fonts, in my case it is 136, see Control Panel/Fonts for number of fonts installed in your Windows box.)

Note: Normal, Bold and Italic font files are stored in different TTF files.

There is cache invalidate method ReleaseCachedFonts. However this method isn't called at child process termination, it is only called from UtilityProcess_GetFontDataPatch in case of GetFontData failed (happened when failure of font data file loading == almost never happened.)

http://codesearch.google.com/#search/&q=ReleaseCachedFonts&exact_package=chromium&sq=&type=cs

So, there is memory leak on process_id_font_map_[process_id] (list of font family name.)

Labels: -Area-UI Area-Internals
Sep 30, 2011
#4 mad@chromium.org
My regular usage vets Chrome Browser Process to have thousands of GDI objects in Task manager after about a week of leaving it open...
Nov 1, 2011
#5 miika.ah...@gmail.com
BTW, this is probably duplicate of my poorly named  issue #89585 .
Mar 10, 2013
#6 bugdro...@chromium.org
(No comment was entered for this change.)
Labels: -Area-Internals -Stability-Memory Performance-Memory Cr-Internals
Mar 21, 2013
#7 volkerbe...@gmail.com
In issue #190221 a column was added to the task monitor for tracking gdi handles. Also see issue #222558 which is also about reclaiming the skia cache.
Apr 1, 2013
#8 bugdro...@chromium.org
(No comment was entered for this change.)
Labels: -Performance-Memory Stability-Memory
Sep 2, 2013
#9 mulloju@gmail.com
This is a critical issue that must be prioritized!

I have a web app that uses OpenLayers & Highcharts to draw lots of stuff every minute. In only a couple of hours the GDI count per process reaches the maximum of 10000. Aw, Snap.

Jumps in GDI count can be seen especially when changing tabs.
Sep 20, 2013
#10 tomhudson@chromium.org
(No comment was entered for this change.)
Labels: Cr-Internals-Skia
Sep 20, 2013
#11 tomhudson@chromium.org
(No comment was entered for this change.)
Cc: bunge...@chromium.org
Sign in to add a comment

Powered by Google Project Hosting