-
Bug
-
Resolution: Duplicate
-
P2
-
14
-
Fails on Windows and Linux (both x64).
We installed a week ago the latest build of JDK 14 (build 27, previous build installed was 24). Since that time almost every test run of Apache Lucene Core (the base library) fails with SEGV.
How to reproduce:
- Clone from Github https://github.com/apache/lucene-solr.git
- "ant bootstrap" (to install IVY)
- "cd lucene/core"
- "ant test"
Stack: [0x00007f6bf65fe000,0x00007f6bf66ff000], sp=0x00007f6bf66f9c18, free space=1007k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0xaf2d20] Node::uncast(bool) const+0x0
V [libjvm.so+0xb6cd93] PhaseIterGVN::transform_old(Node*)+0x93
V [libjvm.so+0xb6999c] PhaseIterGVN::optimize()+0x10c
V [libjvm.so+0x9df904] PhaseIdealLoop::build_and_optimize(LoopOptsMode)+0xa84
V [libjvm.so+0x552cf5] PhaseIdealLoop::optimize(PhaseIterGVN&, LoopOptsMode)+0x1d5
V [libjvm.so+0x550e5e] Compile::Optimize()+0x60e
V [libjvm.so+0x55257c] Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, int, bool, bool, bool, DirectiveSet*)+0xdfc
V [libjvm.so+0x4a2d31] C2Compiler::compile_method(ciEnv*, ciMethod*, int, DirectiveSet*)+0xc1
V [libjvm.so+0x55bc8c] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x32c
V [libjvm.so+0x55d068] CompileBroker::compiler_thread_loop()+0x4e8
V [libjvm.so+0xcc40e2] JavaThread::thread_main_inner()+0xe2
V [libjvm.so+0xcc88fd] Thread::call_run()+0x10d
V [libjvm.so+0xb26057] thread_native_entry(Thread*)+0xe7
Windows (no location info):
Stack: [0x0000009af1100000,0x0000009af1200000], sp=0x0000009af11fa3e0, free space=1000k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [jvm.dll+0x50f8f5]
V [jvm.dll+0x50f7e4]
V [jvm.dll+0x503551]
V [jvm.dll+0x505c3c]
V [jvm.dll+0x50592d]
V [jvm.dll+0x505984]
V [jvm.dll+0x505984]
V [jvm.dll+0x505984]
V [jvm.dll+0x505810]
V [jvm.dll+0x505984]
V [jvm.dll+0x505984]
V [jvm.dll+0x50cf35]
V [jvm.dll+0x1edf7a]
V [jvm.dll+0x1e7a9b]
V [jvm.dll+0x1e4d58]
V [jvm.dll+0x17787c]
V [jvm.dll+0x1f3ea5]
V [jvm.dll+0x1f208b]
V [jvm.dll+0x70664d]
V [jvm.dll+0x6ff46a]
V [jvm.dll+0x5f6fb6]
C [ucrtbase.dll+0x20e72]
C [KERNEL32.DLL+0x17bd4]
C [ntdll.dll+0x6ced1]
This seems serious as it makes Lucene unuseable with JDK 14.
Also the following stack trace (which is already tracked byJDK-8235870):
Stacktraces seen (all very similar):
Stack: [0x00007fad33261000,0x00007fad33362000], sp=0x00007fad3335c9d0, free space=1006k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x9d85a8] IdealLoopTree::est_loop_flow_merge_sz() const+0x158
V [libjvm.so+0x9d8782] IdealLoopTree::est_loop_clone_sz(unsigned int) const+0x12
V [libjvm.so+0x9bee31] IdealLoopTree::estimate_peeling(PhaseIdealLoop*) [clone .part.131]+0x21
V [libjvm.so+0x9cc587] IdealLoopTree::iteration_split_impl(PhaseIdealLoop*, Node_List&)+0x1f7
V [libjvm.so+0x9cd9bf] IdealLoopTree::iteration_split(PhaseIdealLoop*, Node_List&)+0x17f
V [libjvm.so+0x9cd870] IdealLoopTree::iteration_split(PhaseIdealLoop*, Node_List&)+0x30
V [libjvm.so+0x9cd870] IdealLoopTree::iteration_split(PhaseIdealLoop*, Node_List&)+0x30
V [libjvm.so+0x9cd870] IdealLoopTree::iteration_split(PhaseIdealLoop*, Node_List&)+0x30
V [libjvm.so+0x9dfa55] PhaseIdealLoop::build_and_optimize(LoopOptsMode)+0xbd5
V [libjvm.so+0x552cf5] PhaseIdealLoop::optimize(PhaseIterGVN&, LoopOptsMode)+0x1d5
V [libjvm.so+0x550e5e] Compile::Optimize()+0x60e
V [libjvm.so+0x55257c] Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, int, bool, bool, bool, DirectiveSet*)+0xdfc
V [libjvm.so+0x4a2d31] C2Compiler::compile_method(ciEnv*, ciMethod*, int, DirectiveSet*)+0xc1
V [libjvm.so+0x55bc8c] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x32c
V [libjvm.so+0x55d068] CompileBroker::compiler_thread_loop()+0x4e8
V [libjvm.so+0xcc40e2] JavaThread::thread_main_inner()+0xe2
V [libjvm.so+0xcc88fd] Thread::call_run()+0x10d
V [libjvm.so+0xb26057] thread_native_entry(Thread*)+0xe7
How to reproduce:
- Clone from Github https://github.com/apache/lucene-solr.git
- "ant bootstrap" (to install IVY)
- "cd lucene/core"
- "ant test"
Stack: [0x00007f6bf65fe000,0x00007f6bf66ff000], sp=0x00007f6bf66f9c18, free space=1007k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0xaf2d20] Node::uncast(bool) const+0x0
V [libjvm.so+0xb6cd93] PhaseIterGVN::transform_old(Node*)+0x93
V [libjvm.so+0xb6999c] PhaseIterGVN::optimize()+0x10c
V [libjvm.so+0x9df904] PhaseIdealLoop::build_and_optimize(LoopOptsMode)+0xa84
V [libjvm.so+0x552cf5] PhaseIdealLoop::optimize(PhaseIterGVN&, LoopOptsMode)+0x1d5
V [libjvm.so+0x550e5e] Compile::Optimize()+0x60e
V [libjvm.so+0x55257c] Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, int, bool, bool, bool, DirectiveSet*)+0xdfc
V [libjvm.so+0x4a2d31] C2Compiler::compile_method(ciEnv*, ciMethod*, int, DirectiveSet*)+0xc1
V [libjvm.so+0x55bc8c] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x32c
V [libjvm.so+0x55d068] CompileBroker::compiler_thread_loop()+0x4e8
V [libjvm.so+0xcc40e2] JavaThread::thread_main_inner()+0xe2
V [libjvm.so+0xcc88fd] Thread::call_run()+0x10d
V [libjvm.so+0xb26057] thread_native_entry(Thread*)+0xe7
Windows (no location info):
Stack: [0x0000009af1100000,0x0000009af1200000], sp=0x0000009af11fa3e0, free space=1000k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [jvm.dll+0x50f8f5]
V [jvm.dll+0x50f7e4]
V [jvm.dll+0x503551]
V [jvm.dll+0x505c3c]
V [jvm.dll+0x50592d]
V [jvm.dll+0x505984]
V [jvm.dll+0x505984]
V [jvm.dll+0x505984]
V [jvm.dll+0x505810]
V [jvm.dll+0x505984]
V [jvm.dll+0x505984]
V [jvm.dll+0x50cf35]
V [jvm.dll+0x1edf7a]
V [jvm.dll+0x1e7a9b]
V [jvm.dll+0x1e4d58]
V [jvm.dll+0x17787c]
V [jvm.dll+0x1f3ea5]
V [jvm.dll+0x1f208b]
V [jvm.dll+0x70664d]
V [jvm.dll+0x6ff46a]
V [jvm.dll+0x5f6fb6]
C [ucrtbase.dll+0x20e72]
C [KERNEL32.DLL+0x17bd4]
C [ntdll.dll+0x6ced1]
This seems serious as it makes Lucene unuseable with JDK 14.
Also the following stack trace (which is already tracked by
Stacktraces seen (all very similar):
Stack: [0x00007fad33261000,0x00007fad33362000], sp=0x00007fad3335c9d0, free space=1006k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x9d85a8] IdealLoopTree::est_loop_flow_merge_sz() const+0x158
V [libjvm.so+0x9d8782] IdealLoopTree::est_loop_clone_sz(unsigned int) const+0x12
V [libjvm.so+0x9bee31] IdealLoopTree::estimate_peeling(PhaseIdealLoop*) [clone .part.131]+0x21
V [libjvm.so+0x9cc587] IdealLoopTree::iteration_split_impl(PhaseIdealLoop*, Node_List&)+0x1f7
V [libjvm.so+0x9cd9bf] IdealLoopTree::iteration_split(PhaseIdealLoop*, Node_List&)+0x17f
V [libjvm.so+0x9cd870] IdealLoopTree::iteration_split(PhaseIdealLoop*, Node_List&)+0x30
V [libjvm.so+0x9cd870] IdealLoopTree::iteration_split(PhaseIdealLoop*, Node_List&)+0x30
V [libjvm.so+0x9cd870] IdealLoopTree::iteration_split(PhaseIdealLoop*, Node_List&)+0x30
V [libjvm.so+0x9dfa55] PhaseIdealLoop::build_and_optimize(LoopOptsMode)+0xbd5
V [libjvm.so+0x552cf5] PhaseIdealLoop::optimize(PhaseIterGVN&, LoopOptsMode)+0x1d5
V [libjvm.so+0x550e5e] Compile::Optimize()+0x60e
V [libjvm.so+0x55257c] Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, int, bool, bool, bool, DirectiveSet*)+0xdfc
V [libjvm.so+0x4a2d31] C2Compiler::compile_method(ciEnv*, ciMethod*, int, DirectiveSet*)+0xc1
V [libjvm.so+0x55bc8c] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x32c
V [libjvm.so+0x55d068] CompileBroker::compiler_thread_loop()+0x4e8
V [libjvm.so+0xcc40e2] JavaThread::thread_main_inner()+0xe2
V [libjvm.so+0xcc88fd] Thread::call_run()+0x10d
V [libjvm.so+0xb26057] thread_native_entry(Thread*)+0xe7
- duplicates
-
JDK-8235870 C2 crashes in IdealLoopTree::est_loop_flow_merge_sz()
- Closed
-
JDK-8235984 C2: assert(out->in(PhiNode::Region) == head || out->in(PhiNode::Region) == slow_head) failed: phi must be either part of the slow or the fast loop
- Closed