RFR: 8370198: Test gc/arguments/TestShrinkHeapInSteps.java crashed: assert(left >= right) failed: avoid underflow
Albert Mingkun Yang
ayang at openjdk.org
Wed Nov 19 15:51:47 UTC 2025
Add an early-return for outside-heap address in `CollectedHeap::is_in` API.
While investigating this failure (JDK-8370198), I realized that some java-threads (compiler-threads) in `native` state can invoke `CollectedHeap` APIs. Since heap-resizing occurs inside safepoint but java-threads in `native` state just ignore safepoint, I have added some assert to catch such dangerous uses, where the return value might not be stable.
Test: tie1-5; can't reproduce the JDK-8370198 with or without this patch for >8000 runs.
-------------
Commit messages:
- sgc-is-in-early-return
Changes: https://git.openjdk.org/jdk/pull/28393/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=28393&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8370198
Stats: 17 lines in 1 file changed: 17 ins; 0 del; 0 mod
Patch: https://git.openjdk.org/jdk/pull/28393.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/28393/head:pull/28393
PR: https://git.openjdk.org/jdk/pull/28393
More information about the hotspot-gc-dev
mailing list