ADDITIONAL SYSTEM INFORMATION :
Initially observed in OpenJDK 15, also observed in OpenJDK 16.
A DESCRIPTION OF THE PROBLEM :
I am seeing the same behaviour as in the original bug report, only the exception is thrown at java.base/sun.security.ssl.SSLEngineImpl.closeInbound(SSLEngineImpl.java:796) rather than at sun.security.ssl.SSLSocketImpl.shutdownInput(SSLSocketImpl.java:656). The two methods are very similar, so I was wondering if the exception thrown in the former should also be a non-fatal one, i.e. the fix implemented for the original bug. This is the stacktrace:
00:00:18,708 ERROR [stderr] (default task-1) javax.net.ssl|ERROR|A4|default task-1|2021-09-03 24:00:18.708 BST|TransportContext.java:361|Fatal (INTERNAL_ERROR): closing inbound before receiving peer's close_notify (
00:00:18,708 ERROR [stderr] (default task-1) "throwable" : {
00:00:18,708 ERROR [stderr] (default task-1) javax.net.ssl.SSLException: closing inbound before receiving peer's close_notify
00:00:18,708 ERROR [stderr] (default task-1) at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:133)
00:00:18,708 ERROR [stderr] (default task-1) at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:117)
00:00:18,708 ERROR [stderr] (default task-1) at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:356)
00:00:18,708 ERROR [stderr] (default task-1) at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:312)
00:00:18,708 ERROR [stderr] (default task-1) at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:303)
00:00:18,708 ERROR [stderr] (default task-1) at java.base/sun.security.ssl.SSLEngineImpl.closeInbound(SSLEngineImpl.java:796)
00:00:18,708 ERROR [stderr] (default task-1) at io.undertow.core@2.2.8.Final//io.undertow.server.protocol.http.ALPNLimitingSSLEngine.closeInbound(ALPNLimitingSSLEngine.java:169)
00:00:18,708 ERROR [stderr] (default task-1) at io.undertow.core@2.2.8.Final//io.undertow.protocols.ssl.SslConduit.notifyReadClosed(SslConduit.java:636)
00:00:18,708 ERROR [stderr] (default task-1) at io.undertow.core@2.2.8.Final//io.undertow.protocols.ssl.SslConduit.closed(SslConduit.java:1064)
00:00:18,708 ERROR [stderr] (default task-1) at io.undertow.core@2.2.8.Final//io.undertow.protocols.ssl.SslConduit.close(SslConduit.java:1196)
00:00:18,708 ERROR [stderr] (default task-1) at io.undertow.core@2.2.8.Final//io.undertow.protocols.ssl.UndertowSslConnection.closeAction(UndertowSslConnection.java:155)
00:00:18,708 ERROR [stderr] (default task-1) at org.jboss.xnio@3.8.4.Final//org.xnio.Connection.close(Connection.java:132)
00:00:18,708 ERROR [stderr] (default task-1) at io.undertow.core@2.2.8.Final//io.undertow.server.AbstractServerConnection.close(AbstractServerConnection.java:159)
00:00:18,708 ERROR [stderr] (default task-1) at org.jboss.xnio@3.8.4.Final//org.xnio.IoUtils.safeClose(IoUtils.java:152)
REGRESSION : Last worked in version 8
FREQUENCY : often