JDK-8223389 : Shenandoah optimizations fail with assert(!phase->exceeding_node_budget())
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 13
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • Submitted: 2019-05-06
  • Updated: 2022-03-14
  • Resolved: 2019-05-07
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 13
11.0.16Fixed 13 b20Fixed
Related Reports
Relates :  
Relates :  
Description
This seems to be perfectly reproducible with tier1_gc_shenandoah:

# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/home/buildbot/worker/jdkX-linux/build/src/hotspot/share/opto/loopUnswitch.cpp:66), pid=2443, tid=2512
#  assert(!phase->exceeding_node_budget()) failed: sanity
#
# JRE version: OpenJDK Runtime Environment (13.0) (fastdebug build 13-testing+0-builds.shipilev.net-openjdk-jdk-b850-20190506-jdk-1319)
# Java VM: OpenJDK 64-Bit Server VM (fastdebug 13-testing+0-builds.shipilev.net-openjdk-jdk-b850-20190506-jdk-1319, compiled mode, sharing, tiered, compressed oops, shenandoah gc, linux-amd64)
# Problematic frame:
# V  [libjvm.so+0x117d45c]  IdealLoopTree::policy_unswitching(PhaseIdealLoop*) const+0x1cc

Bisection shows it started after JDK-8216137, and it probably means Shenandoah transform miscalculated the needs for nodes?
Comments
Fix Request (11u): This trivial fix should get backported to 11.0.16 because the related issues were also backported (JDK-8223502 and JDK-8216137). Skara recognizes the backport as clean.
11-03-2022

A pull request was submitted for review. URL: https://git.openjdk.java.net/jdk11u-dev/pull/884 Date: 2022-03-11 15:51:38 +0000
11-03-2022

Please note, for now made FixVersion as 13. Please modify if required. Thanks.
07-05-2019

URL: http://hg.openjdk.java.net/jdk/jdk/rev/0d35df96db33 User: roland Date: 2019-05-07 12:40:49 +0000
07-05-2019

Initially assigning to Roland, please reassign as you see fit.
06-05-2019