JDK-6577944 : Regression: handles and GDI objects leak in 6u4 b01
  • Type: Bug
  • Component: deploy
  • Sub-Component: plugin
  • Affected Version: 6u3,6u4
  • Priority: P4
  • Status: Closed
  • Resolution: Fixed
  • OS: windows,windows_xp
  • CPU: x86
  • Submitted: 2007-07-07
  • Updated: 2013-01-10
  • Resolved: 2008-05-30
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
6u10 b02Fixed 7Fixed
Related Reports
Duplicate :  
Duplicate :  
Relates :  
Handles and GDI objects leak was introduced in the JCG nightly build dated 5/31.
All JCG 6u3 nightly builds can be accessed from:

To reproduce - use a windows XP machine with IE browser:
- install JRE 6u3 build dated 5/31 or newer
- unzip the attached testcase (TC04-01.zip)
- load the TC04-01_Top.html into the browser
- set the interval to like 1s (1000)
- click on the launch button
- using taskmgr, you can observe that the handles and GDI objects counts are increasing

The leaked handles are mostly key (ZoneMap) see attached key-leak.txt.
The leaked GDI objects are mostly brushes.

Based on the following page, there was some java2d bug fixes for the 5/31 nightly build.

EVALUATION This isn't reproducible with a recent 6u10 PIT build (b21) with the new plugin. Attached is a iexplore.csv file showing both handles and GDI objects not increasing much during a 24-hour run. Since this has been fixed in the new plugin, I'm lowering this priority to p4.

EVALUATION This is introduced by fix for 6550906. In that fix, we increased the ref count of the IDispatchWrapper COM object and ended up not releasing all of them. A more correct fix is to not using smart point for the IDispatch COM object in ObjectTypeConverter::JobjectToVariant.