Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6953806

thread stuck in sun.font.SunLayoutEngine.getEngine java.util.HashMap.get

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P4 P4
    • None
    • 6u10
    • client-libs
    • 2d
    • x86
    • windows_7

      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 ----------

            srl Steven Loomis
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: