RFR: 8298783: java/lang/ref/FinalizerHistogramTest.java failed with "RuntimeException: MyObject is not found in test output"

Brent Christian bchristi at openjdk.org
Thu Mar 20 22:40:39 UTC 2025


I propose some cleanups to `FinalizerHistogramTest.java` to hopefully clear up the intermittent failures:

* run with `othervm`: this test blocks the (global) finalizer thread, and also requires the (global) finalizer thread to enter the test's `finalize()` method
* The test uses `volatile` ints, but sets them based on their current value, which is not reliable; convert to `AtomicInteger`
* use `PhantomReference`s to ensure that at least two `MyObject`s have become unreachable. If one is stuck in `finalize()`, at least one is still waiting to be finalized and should show up in the histogram.

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

Commit messages:
 - test reliability improvements

Changes: https://git.openjdk.org/jdk/pull/24143/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=24143&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8298783
  Stats: 23 lines in 1 file changed: 10 ins; 0 del; 13 mod
  Patch: https://git.openjdk.org/jdk/pull/24143.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/24143/head:pull/24143

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


More information about the core-libs-dev mailing list