-
Bug
-
Resolution: Fixed
-
P2
-
16, 17
-
b30
-
Verified
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8258844 | 17 | Vladimir Ivanov | P2 | Resolved | Fixed | b03 |
JDK-8260074 | 16.0.1 | Vladimir Ivanov | P2 | Resolved | Fixed | b03 |
A number of test cases failed with a similar pattern. All had `checkNegativeNumberExpression` as their compile task and PhaseMacroExpand::eliminate_macro_nodes at the top of the stack.
A quote from hs_err:
Current CompileTask:
C2: 33026 6290 b java.text.SimpleDateFormat::checkNegativeNumberExpression (127 bytes)
Stack: [0x0000fffe78400000,0x0000fffe78600000], sp=0x0000fffe785fb7f0, free space=2029k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x976140] PhaseMacroExpand::eliminate_macro_nodes()+0x15c
V [libjvm.so+0x5549d0] Compile::Optimize()+0xf40
V [libjvm.so+0x555914] Compile::Compile(ciEnv*, ciMethod*, int, bool, bool, bool, bool, DirectiveSet*)+0xa14
V [libjvm.so+0x4a4be8] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x108
V [libjvm.so+0x55cc08] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x788
V [libjvm.so+0x55d628] CompileBroker::compiler_thread_loop()+0x438
V [libjvm.so+0xbdf53c] JavaThread::thread_main_inner()+0xe8
V [libjvm.so+0xbe5da8] Thread::call_run()+0x104
V [libjvm.so+0xa61068] thread_native_entry(Thread*)+0xf8
C [libpthread.so.0+0x7d40] start_thread+0xb4
It seems like the combination of '-Xcomp -XX:-TieredCompilation' raises the probability (all failed tests had it).
A quote from hs_err:
Current CompileTask:
C2: 33026 6290 b java.text.SimpleDateFormat::checkNegativeNumberExpression (127 bytes)
Stack: [0x0000fffe78400000,0x0000fffe78600000], sp=0x0000fffe785fb7f0, free space=2029k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x976140] PhaseMacroExpand::eliminate_macro_nodes()+0x15c
V [libjvm.so+0x5549d0] Compile::Optimize()+0xf40
V [libjvm.so+0x555914] Compile::Compile(ciEnv*, ciMethod*, int, bool, bool, bool, bool, DirectiveSet*)+0xa14
V [libjvm.so+0x4a4be8] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x108
V [libjvm.so+0x55cc08] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x788
V [libjvm.so+0x55d628] CompileBroker::compiler_thread_loop()+0x438
V [libjvm.so+0xbdf53c] JavaThread::thread_main_inner()+0xe8
V [libjvm.so+0xbe5da8] Thread::call_run()+0x104
V [libjvm.so+0xa61068] thread_native_entry(Thread*)+0xf8
C [libpthread.so.0+0x7d40] start_thread+0xb4
It seems like the combination of '-Xcomp -XX:-TieredCompilation' raises the probability (all failed tests had it).
- backported by
-
JDK-8258844 C2: Crash on empty macro node list
- Resolved
-
JDK-8260074 C2: Crash on empty macro node list
- Resolved
- relates to
-
JDK-8257624 C2: PhaseMacroExpand::eliminate_macro_nodes() crashes on out-of-bounds access into macro node array
- Resolved