APAR status
Closed as program error.
Error description
Error Message: N/A . Stack Trace: N/A . Performance degrades after upgrading Java from version 8 through 8 SR4 FP11, to version 8 SR5 through 8 SR5 FP17. This only occurs on x86 and POWER platforms, and only when the application shares instances of StringBuffer or Random amongst threads.
Local fix
It is possible to work around the issue by passing -Xjit:disableLockReservation on the command line.
Problem summary
The JVM has a feature called lock reservation, which allows the JIT compiler to avoid expensive locked memory accesses when synchronizing on objects of particular types. The drawback is that if one thread reserves an object's monitor, and a second thread later attempts to lock the same monitor, the latter thread must cancel the reservation, which involves waiting for the former thread to pause. Furthermore, certain usage patterns can cause a monitor to undergo a cycle of repeated reservation and cancellation. Starting in Java 8 SR5, the JVM makes use of lock reservation by default for all StringBuffer and Random objects locked by calling a synchronized method.
Problem conclusion
The JVM has been modified so that on x86 it will not reserve a monitor that has already had a reservation canceled. Unfortunately, this problem can still occur on POWER as of Java 8 SR5 FP20. . This APAR will be fixed in the following Java Releases: 8 SR5 FP20 (8.0.5.20) . 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
IJ07980
Reported component name
JIT
Reported component ID
620700124
Reported release
130
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2018-07-23
Closed date
2018-07-23
Last modified date
2018-07-23
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
JIT
Fixed component ID
620700124
Applicable component levels
[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSC9HBA","label":"Just In Time (JIT) Compiler"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"130","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
23 July 2018