RFR: JDK-8325530: Vague error message when com.sun.tools.attach.VirtualMachine fails to load agent library
Alex Menkov
amenkov at openjdk.org
Wed Feb 21 21:34:19 UTC 2024
VirtualMachine.loadAgentPath/loadAgentLibrary can fail with AgentLoadException in 2 cases:
- attach listener returns error; in the case the exception is thrown from HotSpotVirtualMachine.processCompletionStatus (called from HotSpotVirtualMachine.execute);
- attach listener returns success, but reply does not contain Agent_onAttach return code ("return code: %d" message).
before jdk21 if attach listener fails to load required library, it returned error (case 1)
from jdk21 attach listener always returns success (case 2)
Both cases are ok, but for 2nd case HotSpotVirtualMachine.loadAgentLibrary read only single line of the response message, so exception message didn't contain error details.
The fix updates HotSpotVirtualMachine.loadAgentLibrary to read the whole response message.
Walking through the code, fixed some other minor things in attach listener and attach API implementation (commented in the code)
Testing:
- test/jdk/com/sun/tools;
- tier1,tier2,tier5-svc
-------------
Commit messages:
- fix
Changes: https://git.openjdk.org/jdk/pull/17954/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=17954&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8325530
Stats: 146 lines in 6 files changed: 106 ins; 16 del; 24 mod
Patch: https://git.openjdk.org/jdk/pull/17954.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/17954/head:pull/17954
PR: https://git.openjdk.org/jdk/pull/17954
More information about the core-libs-dev
mailing list