Integrated: 8306034: add support of virtual threads to JVMTI StopThread
Serguei Spitsyn
sspitsyn at openjdk.org
Thu May 11 17:51:52 UTC 2023
On Wed, 19 Apr 2023 22:54:35 GMT, Serguei Spitsyn <sspitsyn at openjdk.org> wrote:
> This enhancement adds support of virtual threads to the JVMTI `StopThread` function.
> In preview releases before this enhancement the StopThread returned the JVMTI_ERROR_UNSUPPORTED_OPERATION error code for virtual threads.
>
> The `StopThread` supports sending an asynchronous exception to a virtual thread only if it is current or suspended at mounted state. For instance, a virtual thread can be suspended at a JVMTI event. If the virtual thread is not suspended and is not current then the `JVMTI_ERROR_THREAD_NOT_SUSPENDED` error code is returned. If the virtual thread was suspended at unmounted state then the `JVMTI_ERROR_OPAQUE_FRAME` error code is returned.
>
> The `StopThread` has the following description for `JVMTI_ERROR_OPAQUE_FRAME` error code:
>> The thread is a suspended virtual thread and the implementation
>> was unable to throw an asynchronous exception from this frame.
>
> A couple of the `serviceability/jvmti/vthread` tests has been updated to adopt to new `StopThread` behavior.
>
> The CSR is: https://bugs.openjdk.org/browse/JDK-8306434
>
> Testing:
> The mach5 tears 1-6 are in progress.
> Preliminary test runs were good in general.
> The JDB test `vmTestbase/nsk/jdb/kill/kill001/kill001.java` has been problem-listed and will be fixed by the corresponding debugger enhancement which is going to adopt JDWP/JDI specs to new behavior of the JVMTI `StopThread` related to virtual threads.
>
> Also, two JCK JVMTI tests are failing in the tier-6 :
>> vm/jvmti/StopThread/stop001/stop00103/stop00103.html
>> vm/jvmti/StopThread/stop001/stop00103/stop00103a.html
>
> These two tests will be excluded from the test runs by the JCK team and then adjusted to new `StopThread` behavior.
This pull request has now been integrated.
Changeset: 51b8f3cf
Author: Serguei Spitsyn <sspitsyn at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/51b8f3cfb9df3444b6226a5d5cb7f01a9ab6db6c
Stats: 525 lines in 11 files changed: 501 ins; 8 del; 16 mod
8306034: add support of virtual threads to JVMTI StopThread
Reviewed-by: cjplummer
-------------
PR: https://git.openjdk.org/jdk/pull/13546
More information about the hotspot-dev
mailing list