JDK-2189051 : Deadlock in SunGraphicsEnvironment / FontManager
  • Type: Backport
  • Backport of: JDK-6892485
  • Component: client-libs
  • Sub-Component: 2d
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2010-02-25
  • Updated: 2010-05-05
  • Resolved: 2010-05-05
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.
JDK 7 Other
7Fixed OpenJDK6Fixed
Comments
SUGGESTED FIX # HG changeset patch # User rkennke # Date 1273023147 25200 # Node ID 697caff58d3f41b09101cf1b86f0148451e77f4d # Parent a78afce5980929c2bcd1910a57606b72dada9bcb 6892485: Deadlock in SunGraphicsEnvironment / FontManager Summary: Synchronize on correct monitor in SunFontManager. Reviewed-by: igor, prr, martin --- a/src/share/classes/sun/java2d/SunGraphicsEnvironment.java Mon May 03 18:17:08 2010 +0200 +++ b/src/share/classes/sun/java2d/SunGraphicsEnvironment.java Tue May 04 18:32:27 2010 -0700 @@ -459,7 +459,7 @@ public abstract class SunGraphicsEnviron return; } /* Use lock specific to the font system */ - synchronized (lucidaFontName) { + synchronized (FontManager.class) { if (debugFonts) { Thread.dumpStack(); logger.info("SunGraphicsEnvironment.loadFonts() called"); @@ -499,7 +499,7 @@ public abstract class SunGraphicsEnviron return; } /* Use lock specific to the font system */ - synchronized (lucidaFontName) { + synchronized (FontManager.class) { if (debugFonts) { Thread.dumpStack(); logger.info("loadAllFontFiles() called");
05-05-2010

EVALUATION A fine backport.
05-05-2010

PUBLIC COMMENTS See http://hg.openjdk.java.net/jdk6/jdk6/jdk/rev/697caff58d3f
05-05-2010