In some odd cases (SSL) when multiple threads reading/writing on different Socket's stream, a deadlock is formed with following JAVA call stack.
Thread '[ACTIVE] ExecuteThread: '320' for queue: 'weblogic.kernel.Default
(self-tuning)'' is waiting to acquire lock 'com.rsa.sslj.x.aP@61d391b3' that
is held by thread '[ACTIVE] ExecuteThread: '104' for queue:
'weblogic.kernel.Default (self-tuning)''
Stack trace:
------------
com.rsa.sslj.x.aP.a(Unknown Source)
com.rsa.sslj.x.bo.n(Unknown Source)
com.rsa.sslj.x.bo.a(Unknown Source)
com.rsa.sslj.x.aI.z(Unknown Source)
com.rsa.sslj.x.aI.u(Unknown Source)
com.rsa.sslj.x.aI.c(Unknown Source)
com.rsa.sslj.x.ap.n(Unknown Source)
com.rsa.sslj.x.ap.a(Unknown Source)
com.rsa.sslj.x.ap.a(Unknown Source)
com.rsa.sslj.x.ap.a(Unknown Source)
com.rsa.sslj.x.am.write(Unknown Source)
java.io.OutputStream.write(OutputStream.java:75)
Under normal flow everything works fine but under heavy load this exist. Any suggestion based on above call stack (looks like JAVA internal code) will be great help. Using Oracle JDK 8.