-
Bug
-
Resolution: Fixed
-
P4
-
17, 21, 22
-
b20
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8323358 | 21.0.3-oracle | Aleksey Shipilev | P4 | Resolved | Fixed | b01 |
JDK-8319722 | 21.0.2 | Aleksey Shipilev | P4 | Resolved | Fixed | b07 |
JDK-8326050 | 17.0.12-oracle | Tobias Hartmann | P4 | Resolved | Fixed | b01 |
JDK-8322935 | 17.0.11 | Aleksey Shipilev | P4 | Resolved | Fixed | b01 |
We then should stop any further work that may use Compile::_root. That does not always happen. The results are crashes or asserts when the node limit check hit right at the wrong spot. One example for a follow-up assertion after the node limit hit:
```
# Internal Error (/shared/projects/openjdk/jdk-jdk/source/src/hotspot/share/opto/loopnode.hpp:623), pid=761308, tid=761322
# assert(_head != nullptr) failed: precond
```
at
```
Stack: [0x00007fa068281000,0x00007fa068382000], sp=0x00007fa06837cd40, free space=1007k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x114ad1c] IdealLoopTree::IdealLoopTree(PhaseIdealLoop*, Node*, Node*)+0x14c (loopnode.hpp:623)
V [libjvm.so+0x11412bf] PhaseIdealLoop::build_and_optimize()+0x237 (loopnode.cpp:4325)
V [libjvm.so+0x96e7ac] PhaseIdealLoop::PhaseIdealLoop(PhaseIterGVN&, LoopOptsMode)+0x144 (loopnode.hpp:1112)
V [libjvm.so+0x96e9fa] PhaseIdealLoop::optimize(PhaseIterGVN&, LoopOptsMode)+0x4a (loopnode.hpp:1191)
V [libjvm.so+0x960394] Compile::Optimize()+0x98c (compile.cpp:2357)
```
I saw this during the development of
- backported by
-
JDK-8319722 C2: VM may crash after hitting node limit
- Resolved
-
JDK-8322935 C2: VM may crash after hitting node limit
- Resolved
-
JDK-8323358 C2: VM may crash after hitting node limit
- Resolved
-
JDK-8326050 C2: VM may crash after hitting node limit
- Resolved
- duplicates
-
JDK-8318176 C2: dont assert in ~GraphKit if compilation had been interrupted
- Closed
- relates to
-
JDK-8318445 More broken bailout chains in C2
- Resolved
-
JDK-8318444 Write details about compilation bailouts into crash reports
- Resolved
-
JDK-8318016 Per-compilation memory ceiling
- Resolved
- links to
-
Commit openjdk/jdk17u-dev/2a0d0acb
-
Commit openjdk/jdk21u/b93d884b
-
Commit openjdk/jdk/31ef400f
-
Review openjdk/jdk17u-dev/2044
-
Review openjdk/jdk21u/314
-
Review openjdk/jdk/16205