The spec of JVM TI GetLocalXXX/SetLocalXXX functions is updated to require the target thread to be suspended. If not suspended then the JVMTI_ERROR_THREAD_NOT_SUSPENDED error code is returned by the implementation.
The CSR is: https://bugs.openjdk.org/browse/JDK-8294690 A few tests are impacted by this fix: test/hotspot/jtreg/serviceability/jvmti/vthread/GetSetLocalTest test/hotspot/jtreg/serviceability/jvmti/vthread/VThreadTest test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/capability/CM01/cm01t011 The following test has been removed as non-relevant any more: ` test/hotspot/jtreg/serviceability/jvmti/GetLocalVariable/GetLocalWithoutSuspendTest.java` New negative test has been added instead: ` test/hotspot/jtreg/serviceability/jvmti/GetLocalVariable/GetSetLocalUnsuspended.java` All JVM TI and JPDA tests were used locally for verification. They were also run in Loom repository with `JTREG_MAIN_WRAPPER=Virtual`. Mach5 test runs on all platforms are TBD. ------------- Commit messages: - 8288387: GetLocalXXX/SetLocalXXX spec should require suspending target thread Changes: https://git.openjdk.org/jdk/pull/10586/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=10586&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8288387 Stats: 1198 lines in 12 files changed: 453 ins; 694 del; 51 mod Patch: https://git.openjdk.org/jdk/pull/10586.diff Fetch: git fetch https://git.openjdk.org/jdk pull/10586/head:pull/10586 PR: https://git.openjdk.org/jdk/pull/10586