On Fri, 19 Dec 2025 08:45:37 GMT, SendaoYan <[email protected]> wrote:

>> Hi all,
>> 
>> This PR use `WhiteBox.getWhiteBox().fullGC()` instead of `eatMemory` to 
>> grigger full GC. The OOME trigger by `eatMemory` may cause 
>> vmTestbase/nsk/monitoring/stress/classload tests intermittent fails when run 
>> those tests simultancely on some machines. The WB.fullGC() might be use for 
>> same purpose. It also reduce test execution time.
>> 
>> Change has been verified locally by running tests 
>> vmTestbase/nsk/monitoring/stress/classload on linux-x64.
>> 
>> Additional testing:
>> 
>> - [ ] All jtreg tests by fastdebug build
>
> SendaoYan has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Increase max iteration for 
> nsk/jvmti/CompiledMethodUnload/compmethunload001/TestDescription.java

There are references to `nsk.share.gc.GCClassUnloader` in some of the test 
descriptions that need updating.  There are also comments like "Next, debugger 
forces debuggee to unload class, using memory stressing techique" that need 
updating. I think you need to review all the test description comments.

I think someone from the GC team should review the GC test changes since 
WB.fullGC() is a very different approach to ClassUnloader.

test/hotspot/jtreg/vmTestbase/gc/gctests/LargeObjects/large001/large001.java 
line 154:

> 152: 
> 153:                     // Drop all references to the class and try to 
> unload it
> 154:                     WhiteBox.getWhiteBox().fullGC();

Just to be clear, this is now no different than the `unloader.unloadClass()` 
call below in terms of how it is implemented. I wonder why the author 
originally used eatMemory() here and unloadClass() below.

test/hotspot/jtreg/vmTestbase/nsk/jdi/ClassObjectReference/reflectedType/reflectype002/TestDescription.java
 line 71:

> 69:  *      -transport.address=dynamic
> 70:  *      -debugee.vmkeys="${test.vm.opts} ${test.java.opts} 
> -Xbootclasspath/a:.
> 71:  *      -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI" ./bin

In all the JDI tests, this line should be indented to show that it is a 
continuation of `-debugee.vmkeys `started on the line before.

test/hotspot/jtreg/vmTestbase/nsk/jvmti/CompiledMethodUnload/compmethunload001.java
 line 50:

> 48:         "nsk.jvmti.CompiledMethodUnload.compmethunload001u";
> 49: 
> 50:     private final static int MAX_ITERATIONS = 50;

Can you explain the need for this change.

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

PR Review: https://git.openjdk.org/jdk/pull/28891#pullrequestreview-3599556766
PR Review Comment: https://git.openjdk.org/jdk/pull/28891#discussion_r2635960204
PR Review Comment: https://git.openjdk.org/jdk/pull/28891#discussion_r2635889453
PR Review Comment: https://git.openjdk.org/jdk/pull/28891#discussion_r2635893925

Reply via email to