On Fri, 19 May 2023 17:11:36 GMT, Alan Bateman <al...@openjdk.org> wrote:

>> This is the implementation for JEP 451. There are two parts to this:
>> 
>> 1. A multi-line warning is printed when a JVM TI or Java agent is loaded 
>> into a running VM. For JVM TI, the message is printed to stderr from 
>> JvmtiAgent::load. For Java agents, it is printed to System.err (as that may 
>> be redirected) in the JPLIS (j.l.instrumentation) implementation. This part 
>> includes an update to the JVM TI spec and API docs to require the warning.
>> 
>> 2. If running with -Djdk.instrument.traceUsage or 
>> -Djdk.instrument.traceUsage=true, the calls to the Instrumentation API print 
>> a trace message and stack trace.
>
> Alan Bateman 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 10 additional 
> commits since the last revision:
> 
>  - Merge
>  - Refresh package description
>  - Merge
>  - Tweak docs
>  - Merge
>  - Draft docs changes
>  - Merge
>  - Rename/cleanup
>  - Merge
>  - Initial commit

test/jdk/com/sun/tools/attach/warnings/DynamicLoadWarningTest.java line 90:

> 88:         } else {
> 89:             libname = "lib" + JVMTI_AGENT_LIB + ".so";
> 90:         }

We have some test library support for this with Platform.sharedLibraryExt(). 
Unfortunately there is no "prefix" API, or better yet, one that builds out the 
whole file name, but the following is a bit shorter:

`libname = (Platform.isWindows() ? "" : "lib") + JVMTI_AGENT_LIB + "." + 
Platform.sharedLibraryExt();`

Up to you if you want to make this change

test/jdk/com/sun/tools/attach/warnings/DynamicLoadWarningTest.java line 108:

> 106:         // no warning should be printed
> 107:         test((pid, vm) -> vm.loadAgentLibrary(JVMTI_AGENT_LIB), 
> "-XX:+EnableDynamicAgentLoading")
> 108:                 .shouldNotContain(message);

How about adding a test case for `-XX:-EnableDynamicAgentLoading`. Same thing 
in `testJCmdJvmtiAgentLoad()` and `testLoadJavaAgent()` below.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/13899#discussion_r1201475362
PR Review Comment: https://git.openjdk.org/jdk/pull/13899#discussion_r1201485800

Reply via email to