[jdk21u-dev] RFR: 8323782: Race: Thread::interrupt vs. AbstractInterruptibleChannel.begin

Richard Reingruber rrich at openjdk.org
Fri Apr 5 14:41:39 UTC 2024


Hi,

this PR contains a backport of commit https://github.com/openjdk/jdk/commit/4018b2b19629ddb8cd7a56e064dfef371f23e5fa.

I'd like to do the backport because jdk 21 is affected by the issue. The included test hangs without the change.
Besides it will reduce the noise in jck tests we're doing regularily (the test api/java_net/ServerSocket/AcceptInterruptibleTests_PlatformThreads fails sometimes because of the issue).

The original fix does not apply due to renamig of a local variable. Also the context differs because there's no `postInterrupt` method to be called.
Nevertheless I'd consider the risk low because of the small size of the fix.

Tested with the included test.

The fix passed our CI testing: JTReg tests: tier1-4 of hotspot and jdk. All of Langtools and jaxp. JCK, SPECjvm2008, SPECjbb2015, Renaissance Suite, and SAP specific tests (also with ParallelGC).
Testing was done with fastdebug builds on the main platforms and also on Linux/PPC64le.

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

Commit messages:
 - 8323782: Race: Thread::interrupt vs. AbstractInterruptibleChannel.begin

Changes: https://git.openjdk.org/jdk21u-dev/pull/451/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk21u-dev&pr=451&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8323782
  Stats: 103 lines in 2 files changed: 97 ins; 5 del; 1 mod
  Patch: https://git.openjdk.org/jdk21u-dev/pull/451.diff
  Fetch: git fetch https://git.openjdk.org/jdk21u-dev.git pull/451/head:pull/451

PR: https://git.openjdk.org/jdk21u-dev/pull/451


More information about the jdk-updates-dev mailing list