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