Java Discovery Protocol (perhaps a hidden feature, but maybe should be more widely known!) and -XX:-UsePerfData together cause a failure to startup.
PerfData is the mechanism for communicating the URL and other properties for remote management, so disabling PerfData clearly breaks this. But there should be a clearer message, and not a fatal error. e.g. $ java -XX:-UsePerfData -Dcom.sun.management.jmxremote.autodiscovery=true -Dcom.sun.management.jmxremote.port=0 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false --version Warning: Exception thrown by the agent : JDP not starting, PerfData not available: Empty PerfData buffer java 21-internal 2023-09-19 LTS ...etc... The use of PerfData is superior to the previous hard-coding of knowledge of the URL protocol and structure, and is required to communicate a dynamically assigned port (JDK-8167337). ------------- Commit messages: - 8306806: JMX agent with JDP enabled won't start when PerfData is disabled Changes: https://git.openjdk.org/jdk/pull/13928/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=13928&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8306806 Stats: 16 lines in 2 files changed: 8 ins; 0 del; 8 mod Patch: https://git.openjdk.org/jdk/pull/13928.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/13928/head:pull/13928 PR: https://git.openjdk.org/jdk/pull/13928
