Project: chromium Issues People Development process History Sign in
New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.
Starred by 14 users
Status: Fixed
Owner: ----
Closed: Jun 20
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug

Sign in to add a comment
Chrome Leaks many GDI Objects...
Reported by, Sep 21 2011 Back to list
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 2016
Labels: Hotlist-Google
Project Member Comment 15 by, Jun 20
Labels: Hotlist-Recharge-Cold
Status: Untriaged
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue.

Sorry for the inconvenience if the bug really should have been left as Available. If you change it back, also remove the "Hotlist-Recharge-Cold" label.

For more details visit - Your friendly Sheriffbot
Status: Fixed
Chrome no longer uses GDI.
Sign in to add a comment