IV26985: JAVA.AWT.FONT.LINEBREAKMEASURER, TEXTMEASURER METHOD CALLS LEADS TO AN ENDLESS LOOP IN A MULTITHREADED APPLICATION

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

APAR status

  • Closed as program error.

Error description

  • Error Message: java.lang.NullPointerException in
    sun.font.GlyphLayout$EngineRecord.init result the hung.
    .
    Stack Trace:
    java/util/HashMap.findNonNullKeyEntry(HashMap.java:526(Compiled
    Code))
                java/util/HashMap.getEntry(HashMap.java(Compiled
    Code))
                java/util/HashMap.get(HashMap.java(Compiled Code))
    
    sun/font/SunLayoutEngine.getEngine(SunLayoutEngine.java:115(Comp
    iled Code))
    
    sun/font/GlyphLayout$EngineRecord.init(GlyphLayout.java:642(Comp
    iled Code))
    
    sun/font/GlyphLayout.nextEngineRecord(GlyphLayout.java:494(Compi
    led Code))
    
    sun/font/GlyphLayout.layout(GlyphLayout.java:417(Compiled Code))
    
    sun/font/ExtendedTextSourceLabel.createGV(ExtendedTextSourceLabe
    l.java:308(Compiled Code))
    
    sun/font/ExtendedTextSourceLabel.getGV(ExtendedTextSourceLabel.j
    ava:294(Compiled Code))
    
    sun/font/ExtendedTextSourceLabel.createCharinfo(ExtendedTextSour
    ceLabel.java:566(Compiled Code))
    
    sun/font/ExtendedTextSourceLabel.getCharinfo(ExtendedTextSourceL
    abel.java:492(Compiled Code))
    
    sun/font/ExtendedTextSourceLabel.getLineBreakIndex(ExtendedTextS
    ourceLabel.java:439(Compiled Code))
    
    java/awt/font/TextMeasurer.calcLineBreak(TextMeasurer.java:320(C
    ompiled Code))
    
    java/awt/font/TextMeasurer.getLineBreakIndex(TextMeasurer.java:5
    56)
    
    java/awt/font/LineBreakMeasurer.nextOffset(LineBreakMeasurer.jav
    a:352)
    
    java/awt/font/LineBreakMeasurer.nextLayout(LineBreakMeasurer.jav
    a:434)
    
    java/awt/font/LineBreakMeasurer.nextLayout(LineBreakMeasurer.jav
    a:407)
       ..
       ..
    .
    NA
    

Local fix

  • NA
    

Problem summary

  • java.awt.font.LineBreakMeasurer, TextMeasurer method calls leads
    to an endless loop in a multithreaded application. JDK internal
    implementation class (SunLayoutEngine) is not thread safe and
    also uses normal HashMap leading to an infinite loop and thus
    resulting hung.
    

Problem conclusion

  • This defect will be fixed in:
    6.0.0 SR12
    6.0.1 SR4
    7.0.0 SR3
    .
    JVM has been updated to use concurrent HashMap to prevent the
    infinite loop in multithread enviornment.
    

Temporary fix

  • NA
    

Comments

APAR Information

  • APAR number

    IV26985

  • Reported component name

    JAVA CLASS LIBS

  • Reported component ID

    620700130

  • Reported release

    600

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-08-24

  • Closed date

    2012-08-30

  • Last modified date

    2012-08-31

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    JAVA CLASS LIBS

  • Fixed component ID

    620700130

Applicable component levels

  • R600 PSY

       UP

  • R700 PSY

       UP



Rate this page:

(0 users)Average rating

Add comments

Document information


More support for:

Runtimes for Java Technology
Java Class Libraries

Software version:

6.0

Reference #:

IV26985

Modified date:

2012-08-31

Translate my page

Machine Translation

Content navigation