United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
JDK-6953806 : thread stuck in sun.font.SunLayoutEngine.getEngine java.util.HashMap.get

Details
Type:
Bug
Submit Date:
2010-05-19
Status:
Closed
Updated Date:
2012-06-11
Project Name:
JDK
Resolved Date:
2012-06-11
Component:
client-libs
OS:
windows_7
Sub-Component:
2d
CPU:
x86
Priority:
P4
Resolution:
Duplicate
Affected Versions:
6u10
Fixed Versions:

Related Reports
Duplicate:

Sub Tasks

Description
FULL PRODUCT VERSION :
java version "1.6.0_18"
java(TM) SE Runtime Environment (build 1.6.0_18-b07)
java HotSpot(TM) 64-Bit Server VM (build 16.0-b13, mixed mode)


ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows [Version 6.1.7600]

A DESCRIPTION OF THE PROBLEM :
Using java.awt.font.LineBreakMeasurer.nextLayout in a multithreaded environment seems to cause a hang in java.util.HashMap.get.
 
The stacktraces of two hanging threads using 100% CPU time is attached.




ERROR MESSAGES/STACK TRACES THAT OCCUR :
"GlyphLayout Thread 5" prio=6 tid=0x000000004b584000 nid=0x1230 runnable [0x000000004c09e000..0x000000004c09f890]
   java.lang.Thread.State: RUNNABLE
	at java.util.HashMap.get(Unknown Source)
	at sun.font.SunLayoutEngine.getEngine(Unknown Source)
	at sun.font.GlyphLayout$EngineRecord.init(Unknown Source)
	at sun.font.GlyphLayout.nextEngineRecord(Unknown Source)
	at sun.font.GlyphLayout.layout(Unknown Source)
	at sun.font.ExtendedTextSourceLabel.createGV(Unknown Source)
	at sun.font.ExtendedTextSourceLabel.getGV(Unknown Source)
	at sun.font.ExtendedTextSourceLabel.createCharinfo(Unknown Source)
	at sun.font.ExtendedTextSourceLabel.getCharinfo(Unknown Source)
	at sun.font.ExtendedTextSourceLabel.getLineBreakIndex(Unknown Source)
	at java.awt.font.TextMeasurer.calcLineBreak(Unknown Source)
	at java.awt.font.TextMeasurer.getLineBreakIndex(Unknown Source)
	at java.awt.font.LineBreakMeasurer.nextOffset(Unknown Source)
	at java.awt.font.LineBreakMeasurer.nextLayout(Unknown Source)
	at java.awt.font.LineBreakMeasurer.nextLayout(Unknown Source)
	at Test.run(Test.java:88)
	at java.lang.Thread.run(Unknown Source)

   Locked ownable synchronizers:
	- None

"GlyphLayout Thread 3" prio=6 tid=0x000000004aed2c00 nid=0xa30 runnable [0x000000004be9e000..0x000000004be9f910]
   java.lang.Thread.State: RUNNABLE
	at java.util.HashMap.get(Unknown Source)
	at sun.font.SunLayoutEngine.getEngine(Unknown Source)
	at sun.font.GlyphLayout$EngineRecord.init(Unknown Source)
	at sun.font.GlyphLayout.nextEngineRecord(Unknown Source)
	at sun.font.GlyphLayout.layout(Unknown Source)
	at sun.font.ExtendedTextSourceLabel.createGV(Unknown Source)
	at sun.font.ExtendedTextSourceLabel.getGV(Unknown Source)
	at sun.font.ExtendedTextSourceLabel.createCharinfo(Unknown Source)
	at sun.font.ExtendedTextSourceLabel.getCharinfo(Unknown Source)
	at sun.font.ExtendedTextSourceLabel.getLineBreakIndex(Unknown Source)
	at java.awt.font.TextMeasurer.calcLineBreak(Unknown Source)
	at java.awt.font.TextMeasurer.getLineBreakIndex(Unknown Source)
	at java.awt.font.LineBreakMeasurer.nextOffset(Unknown Source)
	at java.awt.font.LineBreakMeasurer.nextLayout(Unknown Source)
	at java.awt.font.LineBreakMeasurer.nextLayout(Unknown Source)
	at Test.run(Test.java:88)
	at java.lang.Thread.run(Unknown Source)

REPRODUCIBILITY :
This bug can be reproduced occasionally.

---------- BEGIN SOURCE ----------
Reproducible test case source code has been submitted as comments to issue #6611637:

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6611637
---------- END SOURCE ----------

                                    

Comments



Hardware and Software, Engineered to Work Together