RFR: 8287812: Cleanup JDWP agent GetEnv initialization

Chris Plummer cjplummer at openjdk.org
Thu Dec 8 23:31:09 UTC 2022


3 things to cleanup in this area:

(1) The JDWP agent uses `JNI GetEnv(JVMTI_VERSION_1)` to get a JVMTI environment. If `GetEnv` fails the JDWP agent prints this:

`ERROR: JDWP unable to access JVMTI Version 1 (0x30010000), is your J2SE a 1.5 or newer version? JNIEnv's GetEnv() returned -3`

The text "is your J2SE a 1.5 or newer version?" dates from JDK 5 when JVMTI was introduced and doesn't make sense now.

(2) `JVMTI_VERSION_1` suggests that the JDWP agent is looking for a JVMTI v1 environment when it really wants the latest. `GetEnv` should request `JVMTI_VERSION` so that it always requests the current version.

(3) There is some outdated compatibility checking between runtime and compile time versions of JVMTI that date back to the 1.0, 1.1, and 1.2 era, and are no longer needed.

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

Commit messages:
 - Cleanup JVMTI GenEnv() usage.

Changes: https://git.openjdk.org/jdk/pull/11602/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=11602&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8287812
  Stats: 47 lines in 2 files changed: 11 ins; 31 del; 5 mod
  Patch: https://git.openjdk.org/jdk/pull/11602.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/11602/head:pull/11602

PR: https://git.openjdk.org/jdk/pull/11602


More information about the serviceability-dev mailing list