RFR: 8353341: Fuzzer tests crashing: assert(projs->fallthrough_proj != nullptr) failed: must be found

Marc Chevalier mchevalier at openjdk.org
Wed Apr 2 07:32:03 UTC 2025


If the Mod[DF]Node has no control projection when it's being removed (because its result is unused), `extract_projections` will fail an assert. So, let's skip the removal.

But that should happen only when the nodes are already unreachable (control input being transitively top). At the end of the day, the node should be dropped. because of that, so there is no rush, and let dead node deletion do the job.

On the reduced reproducer, the crash is not common (even with `-XX:RepeatCompilation=300`, it might need more than a run to reproduce). So I've tried my fix on multiple thousands repeat compilations (by 300 packs) without a crash, and without having the modulo node alive at the end.

Thanks,
Marc

-------------

Commit messages:
 - Don't remove Mod[DF]Node that don't have control output

Changes: https://git.openjdk.org/jdk/pull/24375/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=24375&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8353341
  Stats: 99 lines in 2 files changed: 97 ins; 0 del; 2 mod
  Patch: https://git.openjdk.org/jdk/pull/24375.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/24375/head:pull/24375

PR: https://git.openjdk.org/jdk/pull/24375


More information about the hotspot-compiler-dev mailing list