RFR: 8342659: Test vmTestbase/nsk/jdi/ObjectReference/referringObjects/referringObjects002/referringObjects002.java failed: Class nsk.share.jdi.TestClass1 was not unloaded [v2]

Serguei Spitsyn sspitsyn at openjdk.org
Thu Oct 16 22:25:04 UTC 2025


On Thu, 16 Oct 2025 20:09:19 GMT, Albert Mingkun Yang <ayang at openjdk.org> wrote:

>> Use `Reference.refersTo` API to get more up to date liveness info of a class after OOM is thrown. The approach of relying `Cleaner` thread can incur some "asynchronous" cause various retrying logic, complicating the flow.
>> 
>> The failure rate is ~60% before the fix and no failure for 2000 runs.
>> 
>> Test: tier1-5
>
> Albert Mingkun Yang 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 four additional commits since the last revision:
> 
>  - Merge branch 'master' into test-unload
>  - copyright
>  - review
>  - test-unload

Looks okay to me but I've posted a question.

test/hotspot/jtreg/vmTestbase/nsk/share/ClassUnloader.java line 251:

> 249: 
> 250:         // force GC to unload marked class loader and its classes
> 251:         if (isClassLoaderReclaimed()) {

Q: There was a wait loop before to wait for `ClassLoader` to be reclaimed.
     How does this work now with the `isClassLoaderReclaimed()`?

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

PR Review: https://git.openjdk.org/jdk/pull/27840#pullrequestreview-3347195845
PR Review Comment: https://git.openjdk.org/jdk/pull/27840#discussion_r2437598897


More information about the serviceability-dev mailing list