APAR status
Closed as program error.
Error description
Error Message: A SIG_SEGV is received inside a compiled method when running Java 7.1 or Java 8.0 on a Power8 CPU. . Stack Trace: N/A . The problem can only occur when using transaction memory instructions on Power8. Only Java 7.1 and Java 8.0 make use of these instructions. The problem only happens on synchronized blocks where the variable being locked is a NULL reference. Typically attempting to synchronize against a null reference would be considered a programming error in the source java code.
Local fix
The issue can be avoided with a negligible impact on performance by using the following Java command line option: -Xjit:disableTLE
Problem summary
The JIT would fail to generate a null-check on the variable used as the object in a synchronized block that is being converted into a transactional memory lock region. This would allow for the possibility of a store attempt to a NULL pointer which results in a SIG_SEGV.
Problem conclusion
The JIT was modified so that a Null-check would be generated before entering the transactional memory lock region. With this fix in place the java code will correctly throw a NullPointerException rather then crash. . This APAR will be fixed in the following Java Releases: 7 R1 SR4 FP25 (7.1.4.25) 8 SR5 FP15 (8.0.5.15) . 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
IJ05155
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-03-22
Closed date
2018-04-24
Last modified date
2018-04-24
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:
24 April 2018