Project: chromium Issues People Development process History Sign in
New issue
Advanced search Search tips
Issue 97394 Chrome Leaks many GDI Objects...
Starred by 14 users Reported by, Sep 21 2011 Back to list
Status: Available
Owner: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug

Sign in to add a comment
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...
Comment 1 by, Sep 22 2011
Comment 2 Deleted
Comment 3 by, Sep 30 2011
Labels: -Area-UI Area-Internals
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.)

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

Comment 4 by, Sep 30 2011
My regular usage vets Chrome Browser Process to have thousands of GDI objects in Task manager after about a week of leaving it open...
BTW, this is probably duplicate of my poorly named issue #89585.
Project Member Comment 6 by, Mar 10 2013
Labels: -Area-Internals -Stability-Memory Performance-Memory Cr-Internals
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.
Project Member Comment 8 by, Apr 1 2013
Labels: -Performance-Memory Stability-Memory
Comment 9 by, Sep 2 2013
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.
Labels: Cr-Internals-Skia
Issue 507381 has been merged into this issue.
Comment 13 by, Dec 7 2015
Labels: Hotlist-Fixit
Project Member Comment 14 by, Jun 19
Labels: Hotlist-Google
Sign in to add a comment