RFR: 8377729: Running jtreg tests with -agent... option causes some tests to fail due to duplicate -agent options provided to a subprocess [v2]

Kirill Shirokov kshiroko at openjdk.org
Sat Feb 14 02:37:25 UTC 2026


> 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...

Kirill Shirokov has updated the pull request incrementally with two additional commits since the last revision:

 - Remove trailing whitespace
 - Removed duplicate VM options from test/hotspot/jtreg/gc/g1/ihop/TestIHOPStatic.java, test/jdk/sun/tools/jstack/DeadlockDetectionTest.java, test/lib/jdk/test/lib/apps/LingeredApp.java, test/lib/jdk/test/lib/cli/CommandLineOptionTest.java. Added duplicate agent options warning to ProcessTools-spawned subprocesses and LingeredApp

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/29684/files
  - new: https://git.openjdk.org/jdk/pull/29684/files/d45c4fa4..f6835f93

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=29684&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=29684&range=00-01

  Stats: 26 lines in 5 files changed: 6 ins; 4 del; 16 mod
  Patch: https://git.openjdk.org/jdk/pull/29684.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/29684/head:pull/29684

PR: https://git.openjdk.org/jdk/pull/29684


More information about the core-libs-dev mailing list