Disallowing the dynamic loading of agents by default

Ron Pressler ron.pressler at oracle.com
Thu Mar 16 18:48:13 UTC 2023


Hi.

In JDK 21 we intend to disallow the dynamic loading of agents by default. This
will affect tools that use the Attach API to load an agent into a JVM some time
after the JVM has started [1]. There is no change to any of the mechanisms that
load an agent at JVM startup (-javaagent/-agentlib on the command line or the
Launcher-Agent-Class attribute in the main JAR's manifest).

This change in default behavior was proposed in 2017 as part of JEP 261 [2][3]. 
At that time the consensus was to switch to this default not in JDK 9 but in a 
later release to give tool maintainers sufficient time to inform their users. 
To allow the dynamic loading of agents, users will need to specify 
-XX:+EnableDynamicAgentLoading on the command line.

I'll post a draft JEP for review shortly.

-- Ron

[1]: https://docs.oracle.com/en/java/javase/19/docs/api/jdk.attach/com/sun/tools/attach/package-summary.html
[2]: https://openjdk.org/jeps/261
[3]: https://mail.openjdk.org/pipermail/jigsaw-dev/2017-April/012040.html


More information about the serviceability-dev mailing list