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

Brent Christian bchristi at openjdk.org
Tue Apr 29 21:56:10 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.

Brent Christian has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains six additional commits since the last revision:

 - Merge branch 'master' into 8298783
 - Merge branch 'master' into 8298783
 - convert to WeakRefs, use a RefQ, print ForceGC results
 - 'return' not needed in lambda
 - rename counter variables to use 'Count'
 - test reliability improvements

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/24143/files
  - new: https://git.openjdk.org/jdk/pull/24143/files/cfbb4230..3a7d12bf

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=24143&range=05
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=24143&range=04-05

  Stats: 8982 lines in 270 files changed: 6532 ins; 784 del; 1666 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