RFR: 8377729: Running jtreg tests with -agent... option causes some tests to fail due to duplicate -agent options provided to a subprocess
Leonid Mesnik
lmesnik at openjdk.org
Thu Feb 12 04:54:06 UTC 2026
On Thu, 12 Feb 2026 03:22:57 GMT, Kirill Shirokov <kshiroko at openjdk.org> wrote:
> The fix removes duplicate `-agent...` and `-javaagent:...` options from test subprocess command line, thus allowing to run jtreg tests with agents that should be specified only once.
>
> The fix tested manually:
>
>
> $ make test JTREG="VERBOSE=summary,fail,error" TEST="test/jdk/sun/tools/jstack/DeadlockDetectionTest.java test/hotspot/jtreg/compiler/jvmci/events/JvmciShutdownEventTest.java test/hotspot/jtreg/gc/g1/ihop/TestIHOPStatic.java"
>
> ==============================
> Test summary
> ==============================
> TEST TOTAL PASS FAIL ERROR SKIP
> jtreg:test/jdk/sun/tools/jstack/DeadlockDetectionTest.java
> 1 1 0 0 0
> jtreg:test/hotspot/jtreg/compiler/jvmci/events/JvmciShutdownEventTest.java
> 1 1 0 0 0
> jtreg:test/hotspot/jtreg/gc/g1/ihop/TestIHOPStatic.java
> 1 1 0 0 0
> ==============================
> TEST SUCCESS
>
> $ make test JTREG="VERBOSE=summary,fail,error;JAVA_OPTIONS=-agentpath.../async-profiler-binaries/lib/libasyncProfiler.dylib=start,event=cpu,cstack=vm,loglevel=none,flat,file=/dev/null" TEST="test/jdk/sun/tools/jstack/DeadlockDetectionTest.java test/hotspot/jtreg/compiler/jvmci/events/JvmciShutdownEventTest.java test/hotspot/jtreg/gc/g1/ihop/TestIHOPStatic.java"
>
> ==============================
> Test summary
> ==============================
> TEST TOTAL PASS FAIL ERROR SKIP
> jtreg:test/jdk/sun/tools/jstack/DeadlockDetectionTest.java
>>> 1 0 1 0 0 <<
> jtreg:test/hotspot/jtreg/compiler/jvmci/events/JvmciShutdownEventTest.java
>>> 1 0 1 0 0 <<
> jtreg:test/hotspot/jtreg/gc/g1/ihop/TestIHOPStatic.java
>>> 1 0 1 0 0 <<
> ==============================
> TEST FAILURE
>
> $ make test JTREG="VERBOSE=summary,fail,error;VM_OPTIONS=-agentpath:.../async-profiler-binaries/lib/libasyncProfiler.dylib=start,event=cpu,cstack=vm,loglevel=none,flat,file=/dev/null" TEST="test/jdk/sun/tools/jstack/DeadlockDetectionTest.java test/hotspot/jtreg/compiler/jvmci/events/JvmciShutdownEventTest.java test/hotspot/jtreg/gc/g1/ihop/TestIHOPStatic.java"
>
> (same errors)
>
> With th...
Changes requested by lmesnik (Reviewer).
test/lib/jdk/test/lib/apps/LingeredApp.java line 49:
> 47: import jdk.test.lib.Utils;
> 48: import jdk.test.lib.process.OutputBuffer;
> 49: import jdk.test.lib.process.ProcessTools;
I don't think that it is good idea to deduplicate options in ProcessTools.
Better to fix the tests that duplicate options rather then try to deduplicate all options.
-------------
PR Review: https://git.openjdk.org/jdk/pull/29684#pullrequestreview-3788723530
PR Review Comment: https://git.openjdk.org/jdk/pull/29684#discussion_r2796760237
More information about the core-libs-dev
mailing list