[prev in list] [next in list] [prev in thread] [next in thread]
List: openjdk-serviceability-dev
Subject: Re: RFR: 8306471: Add virtual threads support to JDWP ThreadReference.Stop and JDI ThreadReference.s
From: Chris Plummer <cjplummer () openjdk ! org>
Date: 2023-04-28 21:30:23
Message-ID: sXlXEuPdHnV4V-eMD-Uyn6KaKYpwtTcIJpUuGjF4vv0=.9409447d-0ca5-42a4-9e3e-5cf53681a7e1 () github ! com
[Download RAW message or body]
> Note this PR depends on the #13546 PR for the following:
>
> [JDK-8306434](https://bugs.openjdk.org/browse/JDK-8306434): add support of virtual \
> threads to JVMTI StopThread
> So it can't be finalized and push until after JDK-8306434 is pushed. There will \
> also be GHA failures until then. If JDK-8306434 results in any additional spec \
> changes, they will likely impact this CR also.
>
> [JDK-8306034](https://bugs.openjdk.org/browse/JDK-8306034) is adding some virtual \
> thread support to JVMTI StopThread. This will allow JDWP ThreadReference.Stop and \
> JDI ThreadReference.stop() to have the same level support for virtual threads.
> Mostly this is a spec update for JDWP and JDI, but there are also some minor \
> changes needed to the ThreadReference.stop() handling of JDWP errors, and throwing \
> the appropriate exceptions. Also some minor cleanup in jdb. The debug agent doesn't \
> need changes since JVMTI errors are just passed through as the corresponding JDWP \
> errors, and the code for this is already in place. These errors are not new nor \
> need any special handling.
> Our existing testing for ThreadReference.stop() is fairly weak:
>
> - nsk/jdb/kill/kill001, which tests stop() when the thread is suspended at a \
> breakpoint. It will get problem listed by \
> [JDK-8306034](https://bugs.openjdk.org/browse/JDK-8306034). I have fixes for it \
> already working and will push it separately.
> - nsk/jdi/stop/stop001, which is problem listed and only tests when the thread is \
> blocked in Object.wait()
> - nsk/jdi/stop/stop002, which only tests that throwing an invalid exception fails \
> properly
> I decided to take stop002 and make it a more thorough test of \
> ThreadReference.stop(). See the comment at the top for a list of what is tested. As \
> for reviewing this test, it's probably best to look at it as a completely new test \
> rather than looking at diffs since so much has been changed and added.
Chris Plummer has updated the pull request incrementally with one additional commit \
since the last revision:
Some test logging improvements.
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/13548/files
- new: https://git.openjdk.org/jdk/pull/13548/files/745ff33d..801362e5
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=13548&range=03
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=13548&range=02-03
Stats: 19 lines in 2 files changed: 7 ins; 1 del; 11 mod
Patch: https://git.openjdk.org/jdk/pull/13548.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/13548/head:pull/13548
PR: https://git.openjdk.org/jdk/pull/13548
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic