Integrated: 8249627: Degrade Thread.suspend and Thread.resume
Alan Bateman
alanb at openjdk.org
Tue Sep 27 11:47:20 UTC 2022
On Sun, 18 Sep 2022 16:32:31 GMT, Alan Bateman <alanb at openjdk.org> wrote:
> Degrade Thread.suspend/resume to throw UOE unconditionally.
>
> Another step in the removal of this deadlock prone mis-feature from the user-facing API. Thread.suspend/resume have been deprecated since JDK 1.2 (1998) and terminally deprecated since Java 14. ThreadGroup.suspend/resume were degraded to throw UOE in Java 19. As of Java 19, Thread.suspend/resume continues to work for platform threads but throws UOE for virtual threads. The next step is to degrade both methods to throw UOE for all threads. A corpus search of 19M classes in 113k JAR files found only 22 classes using these methods so this change is unlikely to be disruptive.
>
> The change requires some minor adjustments to the JVM TI and JDWP specifications, and a minor update to the JDI docs.
>
> Leonid Mesnik is working on [PR10351](https://github.com/openjdk/jdk/pull/10351) to remove/replace the last few usages of Thread.suspend/resume from the hotspot tests (most of these can use JVMTI SuspendThread/ResumeThread).
This pull request has now been integrated.
Changeset: 1abf971b
Author: Alan Bateman <alanb at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/1abf971b93222f422c0026cee944a6db214f955a
Stats: 454 lines in 16 files changed: 136 ins; 255 del; 63 mod
8249627: Degrade Thread.suspend and Thread.resume
Reviewed-by: cjplummer, sspitsyn, dholmes, jpai
-------------
PR: https://git.openjdk.org/jdk/pull/10324
More information about the core-libs-dev
mailing list