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