[jdk21u-dev] RFR: 8342905: Thread.setContextClassloader from thread in FJP commonPool task no longer works after JDK-8327501 redux [v2]

Francisco Ferrari Bihurriet fferrari at openjdk.org
Tue Dec 3 15:34:26 UTC 2024


> Hi,
> 
> I would like to propose a [JDK-8342905](https://bugs.openjdk.org/browse/JDK-8342905 "Thread.setContextClassloader from thread in FJP commonPool task no longer works after JDK-8327501 redux") (openjdk/jdk23u at 872ae1347198408ffd62559ca8c1a7420c4a8108) backport from 23u to 21u.
> 
> The backport is not clean, for the following reasons:
> 
> * The `jdk.internal.access.JavaLangAccess` import context in `ForkJoinPool.java` has changed from 21u to 23u, due to [JDK-8288899](https://bugs.openjdk.org/browse/JDK-8288899 "java/util/concurrent/ExecutorService/CloseTest.java failed with "InterruptedException: sleep interrupted"") (openjdk/jdk at 667cca9d7aef1ff4abe630cefaac34c0b1646925)
> * The `jdk.internal.access.JavaLangAccess::allowSecurityManager` method didn't exist in 21u, so I picked it from [JDK-8296244](https://bugs.openjdk.org/browse/JDK-8296244 "Alternate implementation of user-based authorization Subject APIs that doesn’t depend on Security Manager APIs") (openjdk/jdk at d32746ef4a0ce6fec558274244321991be141698)
>     * We don't need [JDK-8296244](https://bugs.openjdk.org/browse/JDK-8296244 "Alternate implementation of user-based authorization Subject APIs that doesn’t depend on Security Manager APIs"), just the access to the `System::allowSecurityManager` private method
>     * I don't see [JDK-8296244](https://bugs.openjdk.org/browse/JDK-8296244 "Alternate implementation of user-based authorization Subject APIs that doesn’t depend on Security Manager APIs") as a possible dependency candidate, given it is a much broader change with its own CSR affecting the Java SE API and only approved for 23
> 
> This pull request depends on @martinuy's #1181.
> 
> #### Testing
> 
> As part of our testing, we observed all the tests pass in the following categories:
> 
> * `jdk:tier1` (see [GitHub Actions run](https://github.com/franferrax/jdk21u-dev/actions/runs/12126257318))
> * `jdk/java/util/concurrent/forkjoin`
> * `jdk/java/util/concurrent/tck`
> 
> Additionally, an internal test for [JDK-8237117](https://bugs.openjdk.org/browse/JDK-8237117 "Better ForkJoinPool behavior") was executed without issues.

Francisco Ferrari Bihurriet has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase.

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

Changes:
  - all: https://git.openjdk.org/jdk21u-dev/pull/1192/files
  - new: https://git.openjdk.org/jdk21u-dev/pull/1192/files/f02d74fb..f02d74fb

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk21u-dev&pr=1192&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk21u-dev&pr=1192&range=00-01

  Stats: 0 lines in 0 files changed: 0 ins; 0 del; 0 mod
  Patch: https://git.openjdk.org/jdk21u-dev/pull/1192.diff
  Fetch: git fetch https://git.openjdk.org/jdk21u-dev.git pull/1192/head:pull/1192

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


More information about the jdk-updates-dev mailing list