JDK-8281811 : assert(_base == Tuple) failed: Not a Tuple after JDK-8280799
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 11,17,18,19
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2022-02-15
  • Updated: 2022-05-05
  • Resolved: 2022-03-01
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 17 JDK 18 JDK 19
11.0.16Fixed 17.0.4-oracleFixed 18.0.2Fixed 19 b12Fixed
Related Reports
Relates :  
Description
Reproduce:
 - test compiler/c2/TestCMoveHasTopInput.java with -XX:+UseShenandoahGC

```
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/home/jvm/jdk/src/hotspot/share/opto/type.hpp:1782), pid=95812, tid=95826
#  assert(_base == Tuple) failed: Not a Tuple
#

Current CompileTask:
C2:   1264   12    b        TestCMoveHasTopInput::vMeth (97 bytes)

Stack: [0x00007fef5ea1d000,0x00007fef5eb1e000],  sp=0x00007fef5eb184c0,  free space=1005k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x13b01ad]  ProjNode::proj_type(Type const*) const [clone .part.31]+0x3d
V  [libjvm.so+0x14dab9e]  PhaseIterGVN::transform_old(Node*)+0x2be
V  [libjvm.so+0x14d538d]  PhaseIterGVN::optimize()+0x7d
V  [libjvm.so+0x9ec49a]  PhaseIdealLoop::optimize(PhaseIterGVN&, LoopOptsMode)+0x2da
V  [libjvm.so+0x16e09fc]  ShenandoahBarrierC2Support::expand(Compile*, PhaseIterGVN&)+0x6c
V  [libjvm.so+0x1618f4f]  ShenandoahBarrierSetC2::expand_barriers(Compile*, PhaseIterGVN&) const+0xf
V  [libjvm.so+0x9e9a1e]  Compile::Optimize()+0x10ae
V  [libjvm.so+0x9eb5dc]  Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x193c
V  [libjvm.so+0x83e707]  C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x407
V  [libjvm.so+0x9f8849]  CompileBroker::invoke_compiler_on_method(CompileTask*)+0xbf9
V  [libjvm.so+0x9f9418]  CompileBroker::compiler_thread_loop()+0x508
V  [libjvm.so+0x183f7de]  JavaThread::thread_main_inner()+0x2fe
V  [libjvm.so+0x183fa71]  JavaThread::run()+0x231
V  [libjvm.so+0x1845ed6]  Thread::call_run()+0xf6
V  [libjvm.so+0x1458e99]  thread_native_entry(Thread*)+0x109
```
Comments
Fix Request (11): Fixes a crash in c2 that we've encountered during testing. The patch doesn't apply cleanly and was reviewed here: https://git.openjdk.java.net/jdk11u-dev/pull/1049 Tested with tier1 and the test of the patch.
27-04-2022

A pull request was submitted for review. URL: https://git.openjdk.java.net/jdk11u-dev/pull/1049 Date: 2022-04-26 08:38:03 +0000
26-04-2022

Thanks for the clarification.
20-04-2022

It's not only the assertion failure, it's also a crash in non-debug build. In JetBrainsRuntime17 we had only JDK-8280799 and not JDK-8281811 And Idea was crashing if ShenandoahGC used. backporting JDK-8281811 fixes the issue. Thanks for fixing this
19-04-2022

A pull request was submitted for review. URL: https://git.openjdk.java.net/jdk18u/pull/90 Date: 2022-04-04 07:23:53 +0000
04-04-2022

Fix Request (JDK 18u) Fixes an assert in C2. The fix is low risk and applies cleanly (except a minor conflict due to changes to surrounding code). The fix was already backported to JDK 17u. Tier 1-3 testing is running for JDK 18u.
04-04-2022

Fix Request (17u) Follow-up fix for JDK-8280799. Not in 17.0.4-oracle because it affects Shenandoah. Applies cleanly. Included test has passed.
31-03-2022

A pull request was submitted for review. URL: https://git.openjdk.java.net/jdk17u-dev/pull/320 Date: 2022-03-31 13:55:08 +0000
31-03-2022

Changeset: fcce24c5 Author: Roland Westrelin <roland@openjdk.org> Date: 2022-03-01 14:09:15 +0000 URL: https://git.openjdk.java.net/jdk/commit/fcce24c5b3cd1dab755fd9b6779af71f4dd78773
01-03-2022

A pull request was submitted for review. URL: https://git.openjdk.java.net/jdk/pull/7494 Date: 2022-02-16 13:28:48 +0000
16-02-2022

ILW = C2 assertion failure in IGVN, single test with Shenandoah GC only, use other GC = HLM = P3
15-02-2022