APAR status
Closed as program error.
Error description
Error Message: SIGSEGV in libj9vm29.so . Stack Trace: N/A . The problem could appear in many different ways but the most likely symptoms include a crash in libj9vm29.so, libj9jit29.so or a crash inside JIT compiled code. A crash in the GC and incorrect behaviour is also possible. The issue is only possible on PPC platforms (power Linux or AIX) and only when running on POWER9 CPUs. When running on POWER8 or older CPUs this problem is not possible! Only Java 8 (8.0.5.0 through 8.0.5.26) can encounter this problem as 8.0.5.0 is the first version of Java to make use of POWER9 instructions.
Local fix
The problem can be avoided by preventing the JIT got using the "move register peep holes" optimization. This can be done by setting the following environment variable before starting the JVM. export TR_DisableMRPeepholes=1 You can confirm that this option is set correctly and has taken effect by looking for the following message in the stderr output of the JVM: "JIT: env var TR_DisableMRPeepholes is set to 1" The performance effect of using this options will be minor.
Problem summary
The JIT attempts to remove "move register (mr)" instructions by rewriting instructions that make use of the mr target to use the mr source instead. The new 3-source type instructions in POWER9 were not being correctly handled by this optimization allowing for these instruction to continue using the mr target register when they should have been rewritten to use the mr source register instead.
Problem conclusion
The JIT was modified such that the move register peephole optimization now correctly handles POWER9 type 3-source instructions. . This APAR will be fixed in the following Java Releases: 8 SR5 FP30 (8.0.5.30) . 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
IJ12293
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-12-21
Closed date
2019-01-08
Last modified date
2019-01-08
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:
08 January 2019