APAR status
Closed as program error.
Error description
Error Message: A SIGSEGV/GPF when running the IBM JVM version 8.0 . Stack Trace: {libj9vm28.so}{javaLookupMethodImpl} {libj9vm28.so}{resolveSpecialMethodRefInto {libj9jit28.so}{jitResolveSpecialMethodRef} {libj9jit28.so}{getResolvedSpecialMethod__19TR_ResolvedJ9Method FP14TR_CompilationiPb} {libj9jit28.so}{realEstimateCodeSize__21TR_J9EstimateCodeSizeFP 13TR_CallTargetP12TR_CallStackb} {libj9jit28.so}{estimateCodeSize__21TR_J9EstimateCodeSizeFP13TR _CallTargetP12TR_CallStackb} {libj9jit28.so}{calculateCodeSize__19TR_EstimateCodeSizeFP13TR_ CallTargetP12TR_CallStackb} {libj9jit28.so}{applyPolicyToTargets__14TR_InlinerBaseFP12TR_Ca llStackP11TR_CallSite} {libj9jit28.so}{getSymbolAndFindInlineTargets__14TR_InlinerBase FP12TR_CallStackP11TR_CallSiteb} ... The top methods may very slightly but realEstimateCodeSize(), and ether getResolvedSpecialMethod() or getResolvedStaticMethod() must be on the stack . The problem can only occur on Java8, but it can occur on any platform (x86, POWER, zSeries).
Local fix
The problem can only be avoided by preventing the JIT compiler from inlining effected methods. Excluding the compilation of the method being compiled when the crash occurs for example, or disabling inlining entirely (but that would have a significant performance penalty). -Xjit:disableInlining
Problem summary
The JVM has some special handling for a class constant pool entry that is used for both invokespecial and invokestatic bytecodes. When the JIT is asking the VM to resolve such constant pool entries it must pass a flag to the VM to insure it properly handles the constant pool entry. In the case where the JIT was inlining methods that are using such constant pool entries it failed to use the correct flag causing the JVM to fail when resolving the special constant pool entry.
Problem conclusion
The JIT was modified to pass the correct flag during resolving special constant pool entries during inlining. . This APAR will be fixed in the following Java Releases: 8 SR4 (8.0.4.0) . 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
IV90998
Reported component name
JIT
Reported component ID
620700124
Reported release
130
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2016-11-23
Closed date
2016-12-05
Last modified date
2016-12-05
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
R130 PSY
UP
[{"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:
05 December 2016