RFR: 8210373: Deadlock in libj2gss.so when loading "j2gss" and "net" libraries in parallel. [v2]

Weijun Wang weijun at openjdk.java.net
Mon Feb 22 20:56:09 UTC 2021


> `InetAddress` is loading native library `net` and at the same time `SunNativeProvider` is loading `j2gss`, and in the `OnLoad` function inside `j2gss` it is calling `FindClass(env, "java/net/InetAddress")` and thus a deadlock.
> 
> We can access `InetAddress` in `SunNativeProvider.<clinit>` before loading the jgss library. i.e. use `Class.forName` to ensure `InetAddress` is initialized. Thanks to @dholmes-ora for providing this workaround.
> 
> No new regression test, hard to reproduce.

Weijun Wang has updated the pull request incrementally with one additional commit since the last revision:

  Add comment

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/2655/files
  - new: https://git.openjdk.java.net/jdk/pull/2655/files/cf3feb4c..c63068c8

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=2655&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=2655&range=00-01

  Stats: 3 lines in 1 file changed: 3 ins; 0 del; 0 mod
  Patch: https://git.openjdk.java.net/jdk/pull/2655.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/2655/head:pull/2655

PR: https://git.openjdk.java.net/jdk/pull/2655


More information about the security-dev mailing list