[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