-
Bug
-
Resolution: Fixed
-
P4
-
11, 17
-
b12
-
Not verified
A DESCRIPTION OF THE PROBLEM :
sun.net.ext.ExtendedSocketOptions and jdk.net.ExtendedSocketOptions reference each other in their <clinit> methods. If they both get initialized at the same time by different threads a deadlock can result.
https://github.com/openjdk/jdk/blob/master/src/jdk.net/share/classes/jdk/net/ExtendedSocketOptions.java#L234
https://github.com/openjdk/jdk/blob/master/src/java.base/share/classes/sun/net/ext/ExtendedSocketOptions.java#L184
We have observed this while starting MongoDB on Windows in our CI environment as seen here: https://github.com/quarkusio/quarkus/issues/14424#issuecomment-764977031
CUSTOMER SUBMITTED WORKAROUND :
Force initialization in a single thread during app startup.
sun.net.ext.ExtendedSocketOptions and jdk.net.ExtendedSocketOptions reference each other in their <clinit> methods. If they both get initialized at the same time by different threads a deadlock can result.
https://github.com/openjdk/jdk/blob/master/src/jdk.net/share/classes/jdk/net/ExtendedSocketOptions.java#L234
https://github.com/openjdk/jdk/blob/master/src/java.base/share/classes/sun/net/ext/ExtendedSocketOptions.java#L184
We have observed this while starting MongoDB on Windows in our CI environment as seen here: https://github.com/quarkusio/quarkus/issues/14424#issuecomment-764977031
CUSTOMER SUBMITTED WORKAROUND :
Force initialization in a single thread during app startup.