StructuredTaskScope.shutdown can sometimes not interrupt the thread for a newly forked subtask, leading to join blocking until subtask completes. The "hang" can be duplicated with a stress test that shuts down the scope while a long running subtask is being forked. The bug is in the underlying thread flock code where it filters the threads to just the live threads and so filters out new/unstarted threads, that filtering was left over from some refactoring in the loom repo a long time ago and should have been removed.
------------- Commit messages: - Initial commit Changes: https://git.openjdk.org/jdk/pull/14833/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=14833&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8311867 Stats: 99 lines in 3 files changed: 95 ins; 0 del; 4 mod Patch: https://git.openjdk.org/jdk/pull/14833.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/14833/head:pull/14833 PR: https://git.openjdk.org/jdk/pull/14833