RFR: 8370732: vmTestbase/nsk/jvmti/AttachOnDemand/attach020/TestDescription.java intermittent fails [v5]
Leonid Mesnik
lmesnik at openjdk.org
Wed Oct 29 04:12:09 UTC 2025
On Wed, 29 Oct 2025 03:55:41 GMT, SendaoYan <syan at openjdk.org> wrote:
>> Hi all,
>>
>> We observed the test vmTestbase/nsk/jvmti/AttachOnDemand/attach020/TestDescription.java intermittent fails. since the target application intermittent OOM. The target application will try to exhaust the heap memory and then trigger garbage collection by `ClassUnloader.eatMemory()` in file test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach020/attach020Target.java.
>>
>> So I think it's better to limited the max heap usage of target application. Before this PR, the physical memory usage is about 30.7GB(this depends the total free memory on the test machine), and the jtreg main action take about 11 seconds to finish; After this PR, the physical memory usage is about 126MB, and the jtreg main action take about 0.7 senonds to finish. I use below command to get the usage of physical memory.
>>
>> Change has been verified locally, test-fix only, no risk.
>>
>>
>> grep VmRSS /proc/`ps -ef | grep -w java | grep vmsqe.aod.AppId | awk '{print $2}'`/status
>
> SendaoYan has updated the pull request incrementally with one additional commit since the last revision:
>
> Update the test description
Changes requested by lmesnik (Reviewer).
test/hotspot/jtreg/vmTestbase/gc/gctests/SoftReference/soft003/soft003.java line 2:
> 1: /*
> 2: * Copyright (c) 2007, 2025, Oracle and/or its affiliates. All rights reserved.
Only copyright changes in this file.
test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach020/TestDescription.java line 57:
> 55: * -jdk ${test.jdk}
> 56: * -target nsk.jvmti.AttachOnDemand.attach020.attach020Target
> 57: * -javaOpts="-XX:+UsePerfData -Xmx128M ${test.vm.opts} ${test.java.opts} -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI"
Please remove Xmx128M in all tests, it is not needed now.
test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach021/TestDescription.java line 53:
> 51: * -jdk ${test.jdk}
> 52: * -target nsk.jvmti.AttachOnDemand.attach021.attach021Target
> 53: * -javaOpts="-XX:+UsePerfData -Xmx128M ${test.vm.opts} ${test.java.opts} -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI"
Please remove Xmx128M, it is not needed now.
test/hotspot/jtreg/vmTestbase/nsk/jvmti/GarbageCollectionStart/gcstart001.java line 68:
> 66: private int runThis(String argv[], PrintStream out) {
> 67: try {
> 68: for (int i=0; i<ITERATIONS; i++)
The loop and try//catch are not needed anymore.
test/hotspot/jtreg/vmTestbase/nsk/jvmti/GarbageCollectionStart/gcstart002.java line 66:
> 64: try {
> 65: for (int i=0; i<ITERATIONS; i++)
> 66: ClassUnloader.eatMemory(); // provoke garbage collecting
The loop and try//catch are not needed anymore.
test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/allocation/AP12/ap12t001.java line 75:
> 73: // Provoke OutOfMemoryError in order to clear all soft references
> 74: for (int i= 0; i < GC_TRYS; i++)
> 75: ClassUnloader.eatMemory();
loop is not needed, I think
-------------
PR Review: https://git.openjdk.org/jdk/pull/28011#pullrequestreview-3391592901
PR Review Comment: https://git.openjdk.org/jdk/pull/28011#discussion_r2471667879
PR Review Comment: https://git.openjdk.org/jdk/pull/28011#discussion_r2471667402
PR Review Comment: https://git.openjdk.org/jdk/pull/28011#discussion_r2471668298
PR Review Comment: https://git.openjdk.org/jdk/pull/28011#discussion_r2471669523
PR Review Comment: https://git.openjdk.org/jdk/pull/28011#discussion_r2471670038
PR Review Comment: https://git.openjdk.org/jdk/pull/28011#discussion_r2471670896
More information about the hotspot-gc-dev
mailing list