IBM Support

IV62988: DEADLOCK WITH JAVA.NIO.CHARSET.CHARSET.AVAILABLECHARSETS()

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Error Message: When multiple threads call
    Charset.availableCharsets() method concurrently, customer's
    application encountered a deadlock.
    .
    Stack Trace: Stacktrace of the threads involved in the
    deadlock:"Thread-1" #10 prio=5 os_prio=0 tid=0x000000000a8b2800
    nid=0x1024 waiting for monitor entry
    <OSB>0x0000000009d2d000<CSB>java.lang.Thread.State: BLOCKED (on
    object monitor)at
    sun.nio.cs.AbstractCharsetProvider.aliases(AbstractCharsetProvid
    er.java:195)- waiting to lock <0x00000000eb378d48> (a
    sun.nio.cs.ext.ExtendedCharsets)at
    sun.nio.cs.ext.ExtendedCharsets.aliasesFor(ExtendedCharsets.java
    :1297)at
    sun.nio.cs.ext.JIS_X_0208_MS5022X.<init>(JIS_X_0208_MS5022X.java
    :41)at sun.nio.cs.ext.MS50220.<clinit>(MS50220.java:61)at
    java.lang.Class.forName0(Native Method)at
    java.lang.Class.forName(Class.java:266)at
    sun.nio.cs.AbstractCharsetProvider.lookup(AbstractCharsetProvide
    r.java:142)at
    sun.nio.cs.AbstractCharsetProvider.access$000(AbstractCharsetPro
    vider.java:45)at
    sun.nio.cs.AbstractCharsetProvider$1.next(AbstractCharsetProvide
    r.java:183)- locked <0x00000000eb3bfe70> (a
    sun.nio.cs.ext.ExtendedCharsets)at
    sun.nio.cs.AbstractCharsetProvider$1.next(AbstractCharsetProvide
    r.java:173)at java.nio.charset.Charset.put(Charset.java:552)at
    java.nio.charset.Charset.access$300(Charset.java:275)at
    java.nio.charset.Charset$4.run(Charset.java:594)at
    java.nio.charset.Charset$4.run(Charset.java:586)at
    java.security.AccessController.doPrivileged(Native Method)at
    java.nio.charset.Charset.availableCharsets(Charset.java:585)"Thr
    ead-0" #9 prio=5 os_prio=0 tid=0x0000000009071800 nid=0x898 in
    Object.wait()
    <OSB>0x000000000ae0e000<CSB>java.lang.Thread.State: RUNNABLEat
    java.lang.Class.forName0(Native Method)at
    java.lang.Class.forName(Class.java:266)at
    sun.nio.cs.AbstractCharsetProvider.lookup(AbstractCharsetProvide
    r.java:142)at
    sun.nio.cs.AbstractCharsetProvider.access$000(AbstractCharsetPro
    vider.java:45)at
    sun.nio.cs.AbstractCharsetProvider$1.next(AbstractCharsetProvide
    r.java:183)- locked <0x00000000eb378d48> (a
    sun.nio.cs.ext.ExtendedCharsets)at
    sun.nio.cs.AbstractCharsetProvider$1.next(AbstractCharsetProvide
    r.java:173)at java.nio.charset.Charset.put(Charset.java:552)at
    java.nio.charset.Charset.access$300(Charset.java:275)at
    java.nio.charset.Charset$4.run(Charset.java:594)at
    java.nio.charset.Charset$4.run(Charset.java:586)at
    java.security.AccessController.doPrivileged(Native Method)at
    java.nio.charset.Charset.availableCharsets(Charset.java:585)
    .
    

Local fix

Problem summary

  • Problem is caused due to lock ordering when multiple threads try
    to retrieve available charsets.
    

Problem conclusion

  • JDK has been updated to avoid the deadlock by correcting the
    lock sequence.
    .
    This APAR will be fixed in the following Java Releases:
       7    SR7 FP1   (7.0.7.1)
       7 R1 SR1 FP1   (7.1.1.1)
    .
    Contact your IBM Product's Service Team for these Service
    Refreshes and Fix Packs.
    For those running stand-alone, information about the available
    Service Refreshes and Fix Packs can be found at:
               https://www.ibm.com/developerworks/java/jdk/
    

Temporary fix

Comments

APAR Information

  • APAR number

    IV62988

  • Reported component name

    JAVA CLASS LIBS

  • Reported component ID

    620700130

  • Reported release

    700

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2014-07-28

  • Closed date

    2016-07-12

  • Last modified date

    2016-07-12

  • 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

  • R700 PSY

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSNVBF","label":"Runtimes for Java Technology"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.0","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
22 February 2022