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