This discussion is archived
2 Replies Latest reply: Jul 23, 2013 9:08 PM by 52d8e652-f9f5-4e62-8bde-4cb3639c5811 RSS

Java 1.7 update 21 32-bit crashes in fontmanager.dll+0xd1a9

1004119 Newbie
Currently Being Moderated
Some of our users tell us that our application cannot start after updating Java from 7u17 to 7u21. We have already submitted a bug 2 weeks ago (#9001750) but still have no response ('bug is not available'), and no workaround. For now we cannot reproduce this error on our computers but users continue to report it. Reverting JRE to 7u17 fixes the problem. 64-bit JRE 7u21 also works but I not sure that for all users (and some users have 32-bit OS, of course).

Our app creates TextLayouts with all fonts available in system for creating font selector JComboBox with cached redrawing. We suppose some font cause crash when opening. Currently I cannot say the font(s) name. I know that the problem appears only on some computers.

I hope there is enough information to localize the error, see also a bug submitted.
From crash report (OS: Windows 7 Build 7601 Service Pack 1):

# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x679bd1a9, pid=744, tid=7440
#
# JRE version: 7.0_21-b11
# Java VM: Java HotSpot(TM) Client VM (23.21-b01 mixed mode, sharing windows-x86 )
# Problematic frame:
# C [fontmanager.dll+0xd1a9] Java_sun_font_FileFontStrike__1getGlyphImageFromWindows+0x9eee

Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [fontmanager.dll+0xd1a9] Java_sun_font_FileFontStrike__1getGlyphImageFromWindows+0x9eee

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j sun.font.SunLayoutEngine.nativeLayout(Lsun/font/Font2D;Lsun/font/FontStrike;[FII[CIIIIIIILjava/awt/geom/Point2D$Float;Lsun/font/GlyphLayout$GVData;JJ)V+0
j sun.font.SunLayoutEngine.layout(Lsun/font/FontStrikeDesc;[FIILsun/font/TextRecord;ILjava/awt/geom/Point2D$Float;Lsun/font/GlyphLayout$GVData;)V+98
j sun.font.GlyphLayout$EngineRecord.layout()V+95
j sun.font.GlyphLayout.layout(Ljava/awt/Font;Ljava/awt/font/FontRenderContext;[CIIILsun/font/StandardGlyphVector;)Lsun/font/StandardGlyphVector;+541
j sun.font.ExtendedTextSourceLabel.createGV()Lsun/font/StandardGlyphVector;+63
j sun.font.ExtendedTextSourceLabel.getGV()Lsun/font/StandardGlyphVector;+9
j sun.font.ExtendedTextSourceLabel.createLogicalBounds()Ljava/awt/geom/Rectangle2D;+1
j sun.font.ExtendedTextSourceLabel.getAdvance()F+9
j java.awt.font.TextLine.init()V+609
j java.awt.font.TextLine.<init>(Ljava/awt/font/FontRenderContext;[Lsun/font/TextLineComponent;[F[CII[I[BZ)V+79
j java.awt.font.TextLine.fastCreateTextLine(Ljava/awt/font/FontRenderContext;[CLjava/awt/Font;Lsun/font/CoreMetrics;Ljava/util/Map;)Ljava/awt/font/TextLine;+337
j java.awt.font.TextLayout.fastInit([CLjava/awt/Font;Ljava/util/Map;Ljava/awt/font/FontRenderContext;)V+83
j java.awt.font.TextLayout.<init>(Ljava/lang/String;Ljava/awt/Font;Ljava/awt/font/FontRenderContext;)V+124

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points