IV48538: CRASH IN A METHOD COMPILED AT HIGH OPT LEVEL
Closed as program error.
Error Message: Under some circumstances the JIT compiler can incorrectly compile a method at high optimization level that includes profiling, resulting in the Java stack pointer being over-written with the C stack pointer. . Stack Trace: Because the problem causes corruption of the stack it is usually difficult to determine the call stack of the failing thread. . In the examples seen so far the failure occurs trying to execute non-executable code at the J9VMThread (failing rip == rbp).
The problem can be avoided by disabling the use of JIT profiling: -Xjit:disableProfiling This option will likely result in slightly less optimal code being generated for those methods that reach the very highest optimization levels and so may reduce the maximum performance of the application. The extent of any performance impact will depend on the details of each application.
The problem is caused when a call to jitInstanceOf is placed within the control flow of a call to jitProfileValue, leading incorrect stack management.
This defect will be fixed in: 6.0.0 SR15 6.0.1 SR7 7.0.0 SR6 . The JIT has been modified to handle this case correctly.
Reported component name
Reported component ID
Last modified date
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fixed component name
Fixed component ID
Applicable component levels