We've been experiencing periodic crashes in our software that we believe to be caused by the Wildfly OpenSSL library.
We've isolated this down to a simple test case that doesn't rely on any of our app-specific code. It starts up a separate JVM that runs the server, and then spins up N concurrent client threads that each attempt to open a connection to the server and send a couple integers back and forth.
Workaround that seems to prevent the crash
We discovered with some investigation that adding a call to SSLSocket.getHandshakeSession() in the server-side code immediately after accepting the socket connection prevents the crash from happening. Check Server.handleNextConnection for a spot where I added this line and commented it out. Uncommenting it seems to prevent the crash.
We've been experiencing periodic crashes in our software that we believe to be caused by the Wildfly OpenSSL library.
We've isolated this down to a simple test case that doesn't rely on any of our app-specific code. It starts up a separate JVM that runs the server, and then spins up N concurrent client threads that each attempt to open a connection to the server and send a couple integers back and forth.
Test app that demonstrates the problem: https://github.com/marpidone-mim/wildfly-ssl-crash
The test often causes a JVM crash in the server very quickly, and the stack always looks like this:
Workaround that seems to prevent the crash We discovered with some investigation that adding a call to
SSLSocket.getHandshakeSession()
in the server-side code immediately after accepting the socket connection prevents the crash from happening. CheckServer.handleNextConnection
for a spot where I added this line and commented it out. Uncommenting it seems to prevent the crash.