JDK-8235870 : C2 crashes in IdealLoopTree::est_loop_flow_merge_sz()
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 11,14,15
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • Submitted: 2019-12-13
  • Updated: 2022-07-25
  • Resolved: 2020-01-13
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 11 JDK 14 JDK 15
11.0.17-oracleFixed 14 b32Fixed 15Fixed
Related Reports
Duplicate :  
Duplicate :  
Relates :  
Description
Current thread (0x00007fe8200d2000):  JavaThread "C2 CompilerThread1" daemon [_thread_in_native, id=8968, stack(0x00007fe845d5e000,0x00007fe845e5f000)]


Current CompileTask:
C2:   2156 2041 %     4       org.apache.lucene.util.MSBRadixSorter::radixSort @ 164 (222 bytes)

Stack: [0x00007fe845d5e000,0x00007fe845e5f000],  sp=0x00007fe845e59a90,  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+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
Comments
Fix request [11u] I backport this for parity with 11.0.17-oracle. A small C2 fix with typical risk. Clean backport. SAP nightly testing passed.
23-07-2022

A pull request was submitted for review. URL: https://git.openjdk.org/jdk11u-dev/pull/1256 Date: 2022-07-21 17:57:28 +0000
21-07-2022

Git URL: https://github.com/openjdk/jdk/commit/9549cd28779934f3f4846a82031f7afa17edde0d
21-07-2022

URL: https://hg.openjdk.java.net/jdk/jdk14/rev/b42b794ac348 User: phedlin Date: 2020-01-13 15:04:09 +0000
13-01-2020

Now also reported by the Lucene team (JDK-8236412).
20-12-2019

Patric, please have a look.
13-12-2019

ILW = Crash during C2 compilation (regression in JDK 14), with lucene, no workaround (other than to disable compilation of affected method or loop opts) = HMM = P2
13-12-2019

Code has been introduced by JDK-8229499 in JDK 14 b17.
13-12-2019