On Fri, 23 Sep 2022 06:17:34 GMT, David Holmes <dhol...@openjdk.org> wrote:

> Now that Thread.stop has been degraded to throw 
> `UnsupportedOperationException` (JDK-8299610) the only direct source of async 
> exceptions is from JVMTI `StopThread`. We can remove the `JVM_StopThread` 
> code, remove the `stillborn` field from `java.lang.Thread` and its associated 
> accesses from the VM, and we can stop special-casing `ThreadDeath` handling 
> (as was done for the JDK code as part of JDK-8299610).
> 
> Note that JVMTI `StopThread` can only act on a thread that is alive, so it is 
> no longer possible to stop a thread before it has been started.
> 
> Also note that there is a change in behaviour for JNI `ExceptionDescribe` as 
> it no longer ignores `ThreadDeath` exceptions (not that it was ever specified 
> to ignore them, it simply mirrored the behaviour of the default 
> `UncaughtExceptionHandler` in `java.lang.ThreadGroup` - which also no longer 
> ignores them so the mirroring behaviour remains the same).
> 
> Testing: tiers 1-3

src/jdk.jdi/share/classes/com/sun/tools/jdi/VirtualMachineManagerImpl.java line 
102:

> 100:             try {
> 101:                 connector = connectors.next();
> 102:             } catch (Exception | Error x) {

Maybe this should just catch `Throwable`, although it is unclear to me why we 
would want to catch any exception here.

src/jdk.jdi/share/classes/com/sun/tools/jdi/VirtualMachineManagerImpl.java line 
126:

> 124:             try {
> 125:                 transportService = transportServices.next();
> 126:             } catch (Exception | Error x) {

Another that could be just catch `Throwable`

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

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

Reply via email to