Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-12996

StackOverflowError during Hot Rod connection shutdown

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 13.0.0.Dev01
    • 12.1.1.Final
    • Hot Rod, Server
    • None

      Very similar to ISPN-12558, which affected the REST server, an exception during the closing of the connection leads to a StackOverflowError:

      10:20:10,600 DEBUG (HotRod-Test-ServerIO-505-1:[]) [AbstractChannelHandlerContext] An exception java.lang.StackOverflowError
      	at io.netty.util.internal.ThrowableUtil.stackTraceToString(ThrowableUtil.java:43)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:309)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:752)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:765)
      	at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:790)
      	at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:758)
      	at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:808)
      	at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:1025)
      	at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:306)
      	at org.infinispan.server.hotrod.BaseRequestProcessor.writeException(BaseRequestProcessor.java:97)
      	at org.infinispan.server.hotrod.BaseDecoder.exceptionCaught(BaseDecoder.java:86)
      	at org.infinispan.server.hotrod.HotRodDecoder.exceptionCaught(HotRodDecoder.java:20)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:302)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:281)
      	at io.netty.channel.AbstractChannelHandlerContext.fireExceptionCaught(AbstractChannelHandlerContext.java:273)
      	at io.netty.handler.ssl.SslHandler.exceptionCaught(SslHandler.java:1122)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:302)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:752)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:742)
      	at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:728)
      	at io.netty.channel.ChannelDuplexHandler.flush(ChannelDuplexHandler.java:127)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:750)
      	at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:765)
      	at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:790)
      	at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:758)
      	at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:808)
      	at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:1025)
      	at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:306)
      	at org.infinispan.server.hotrod.BaseRequestProcessor.writeException(BaseRequestProcessor.java:97)
      	at org.infinispan.server.hotrod.BaseDecoder.exceptionCaught(BaseDecoder.java:86)
      	at org.infinispan.server.hotrod.HotRodDecoder.exceptionCaught(HotRodDecoder.java:20)
              ...
      

      The initial error is

      10:20:01,517 DEBUG (HotRod-Test-ServerIO-505-1:[]) [OpenSSLEngine] WFOPENSSL0042 Setting pre-TLS 1.3 cipher suites to ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-CCM:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-CCM:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES256-CCM:AES128-GCM-SHA256:AES128-CCM:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES256-CCM:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-CCM:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:PSK-AES256-GCM-SHA384:PSK-CHACHA20-POLY1305:PSK-AES256-CCM:PSK-AES128-GCM-SHA256:PSK-AES128-CCM:PSK-AES256-CBC-SHA:PSK-AES128-CBC-SHA256:PSK-AES128-CBC-SHA:DHE-PSK-AES256-GCM-SHA384:DHE-PSK-CHACHA20-POLY1305:DHE-PSK-AES256-CCM:DHE-PSK-AES128-GCM-SHA256:DHE-PSK-AES128-CCM:DHE-PSK-AES256-CBC-SHA:DHE-PSK-AES128-CBC-SHA256:DHE-PSK-AES128-CBC-SHA:ECDHE-PSK-CHACHA20-POLY1305:ECDHE-PSK-AES256-CBC-SHA:ECDHE-PSK-AES128-CBC-SHA256:ECDHE-PSK-AES128-CBC-SHA
      10:20:01,517 DEBUG (HotRod-Test-ServerIO-505-1:[]) [OpenSSLEngine] WFOPENSSL0043 Setting TLS 1.3 cipher suites to TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:TLS_AES_128_CCM_SHA256
      10:20:01,583 DEBUG (HotRod-Test-ServerIO-505-1:[]) [OpenSSLEngine] WFOPENSSL0008 Read from SSL failed error: (337100999) read result:(-1) error string: error:1417C0C7:SSL routines:tls_process_client_certificate:peer did not return a certificate
      10:20:01,584 WARN  (Test-Client-Async-120-1:[]) [HOTROD] ISPN004098: Closing connection [id: 0x359f59b2, L:/127.0.0.1:39134 ! R:127.0.0.1/127.0.0.1:12411] due to transport error
      org.infinispan.client.hotrod.exceptions.TransportException: ISPN004077: Closing channel [id: 0x359f59b2, L:/127.0.0.1:39134 ! R:127.0.0.1/127.0.0.1:12411] due to error in unknown operation.
      	at org.infinispan.client.hotrod.impl.transport.netty.HeaderDecoder.exceptionCaught(HeaderDecoder.java:208) [classes/:?]
      	at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:302) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
      	at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:281) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
      	at io.netty.channel.AbstractChannelHandlerContext.fireExceptionCaught(AbstractChannelHandlerContext.java:273) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
      	at org.infinispan.client.hotrod.impl.transport.netty.SslHandshakeExceptionHandler.userEventTriggered(SslHandshakeExceptionHandler.java:17) [classes/:?]
      	at io.netty.channel.AbstractChannelHandlerContext.invokeUserEventTriggered(AbstractChannelHandlerContext.java:346) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
      	at io.netty.channel.AbstractChannelHandlerContext.invokeUserEventTriggered(AbstractChannelHandlerContext.java:332) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
      	at io.netty.channel.AbstractChannelHandlerContext.fireUserEventTriggered(AbstractChannelHandlerContext.java:324) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
      	at io.netty.handler.ssl.SslUtils.handleHandshakeFailure(SslUtils.java:423) [netty-handler-4.1.63.Final.jar:4.1.63.Final]
      	at io.netty.handler.ssl.SslHandler.setHandshakeFailure(SslHandler.java:1831) [netty-handler-4.1.63.Final.jar:4.1.63.Final]
      	at io.netty.handler.ssl.SslHandler.channelInactive(SslHandler.java:1086) [netty-handler-4.1.63.Final.jar:4.1.63.Final]
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:262) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:248) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
      	at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:241) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
      	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelInactive(DefaultChannelPipeline.java:1405) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:262) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:248) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
      	at io.netty.channel.DefaultChannelPipeline.fireChannelInactive(DefaultChannelPipeline.java:901) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
      	at io.netty.channel.AbstractChannel$AbstractUnsafe$8.run(AbstractChannel.java:831) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
      	at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164) [netty-common-4.1.63.Final.jar:4.1.63.Final]
      	at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472) [netty-common-4.1.63.Final.jar:4.1.63.Final]
      	at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:384) [netty-transport-native-epoll-4.1.63.Final-linux-x86_64.jar:4.1.63.Final]
      	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) [netty-common-4.1.63.Final.jar:4.1.63.Final]
      	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.63.Final.jar:4.1.63.Final]
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
      	at java.lang.Thread.run(Thread.java:834) [?:?]
      Caused by: java.nio.channels.ClosedChannelException
      	at io.netty.handler.ssl.SslHandler.channelInactive(SslHandler.java:1083) ~[netty-handler-4.1.63.Final.jar:4.1.63.Final]
      	... 16 more
      10:20:01,583 DEBUG (HotRod-Test-ServerIO-505-1:[]) [BaseDecoder] Exception caught
      io.netty.handler.codec.DecoderException: java.lang.IllegalStateException: ssl is null
      	at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:478) ~[netty-codec-4.1.63.Final.jar:4.1.63.Final]
      	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:276) ~[netty-codec-4.1.63.Final.jar:4.1.63.Final]
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
      	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
      	at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
      	at org.infinispan.server.core.transport.StatsChannelHandler.channelRead(StatsChannelHandler.java:28) [infinispan-server-core-13.0.0-SNAPSHOT.jar:13.0.0-SNAPSHOT]
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
      	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
      	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
      	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
      	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
      	at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:795) [netty-transport-native-epoll-4.1.63.Final-linux-x86_64.jar:4.1.63.Final]
      	at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:480) [netty-transport-native-epoll-4.1.63.Final-linux-x86_64.jar:4.1.63.Final]
      	at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:378) [netty-transport-native-epoll-4.1.63.Final-linux-x86_64.jar:4.1.63.Final]
      	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) [netty-common-4.1.63.Final.jar:4.1.63.Final]
      	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.63.Final.jar:4.1.63.Final]
      	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.63.Final.jar:4.1.63.Final]
      	at java.lang.Thread.run(Thread.java:834) [?:?]
      Caused by: java.lang.IllegalStateException: ssl is null
      	at org.wildfly.openssl.SSLImpl.getTime0(Native Method) ~[wildfly-openssl-2.1.3.Final.jar:2.1.3.Final]
      	at org.wildfly.openssl.SSLImpl.getTime(SSLImpl.java:355) ~[wildfly-openssl-2.1.3.Final.jar:2.1.3.Final]
      	at org.wildfly.openssl.OpenSSlSession.initCreationTime(OpenSSlSession.java:332) ~[wildfly-openssl-2.1.3.Final.jar:2.1.3.Final]
      	at org.wildfly.openssl.OpenSSlSession.initialised(OpenSSlSession.java:307) ~[wildfly-openssl-2.1.3.Final.jar:2.1.3.Final]
      	at org.wildfly.openssl.OpenSSLEngine.getSession(OpenSSLEngine.java:1031) ~[wildfly-openssl-2.1.3.Final.jar:2.1.3.Final]
      	at io.netty.handler.ssl.SslHandler$SslEngineType$3.allocateWrapBuffer(SslHandler.java:314) ~[netty-handler-4.1.63.Final.jar:4.1.63.Final]
      	at io.netty.handler.ssl.SslHandler.allocateOutNetBuf(SslHandler.java:2205) ~[netty-handler-4.1.63.Final.jar:4.1.63.Final]
      	at io.netty.handler.ssl.SslHandler.wrap(SslHandler.java:839) ~[netty-handler-4.1.63.Final.jar:4.1.63.Final]
      	at io.netty.handler.ssl.SslHandler.wrapAndFlush(SslHandler.java:813) ~[netty-handler-4.1.63.Final.jar:4.1.63.Final]
      	at io.netty.handler.ssl.SslHandler.handleUnwrapThrowable(SslHandler.java:1283) ~[netty-handler-4.1.63.Final.jar:4.1.63.Final]
      	at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1259) ~[netty-handler-4.1.63.Final.jar:4.1.63.Final]
      	at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1300) ~[netty-handler-4.1.63.Final.jar:4.1.63.Final]
      	at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:508) ~[netty-codec-4.1.63.Final.jar:4.1.63.Final]
      	at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:447) ~[netty-codec-4.1.63.Final.jar:4.1.63.Final]
      	... 20 more
      

            dberinde@redhat.com Dan Berindei (Inactive)
            dberinde@redhat.com Dan Berindei (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: