Uploaded image for project: 'Undertow'
  1. Undertow
  2. UNDERTOW-1303

Intermittent NPE during failover scenario using Undertow as mod_cluster proxy with secured comunication over SSL using elytron ssl context

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 2.0.2.Final, 1.4.24.Final
    • None
    • None
    • None

    Description

      I can see intermittently NPE [1] during failover scenario with EAP undertow used for load balancing using mod_cluster filter. The NPE occurs on the load balancer side.

      The failover is caused by having one of workers killed using force kill signal on JVM.

      It is intermittent and rather rarely occurring issue.

      [1]
      2018-02-19 07:35:56,524 ERROR [io.undertow.client] (default I/O-8) UT005001: An exception occurred processing the request: java.lang.NullPointerException
      at io.undertow.client.http.HttpClientConnection$ClientReadListener.handleEvent(HttpClientConnection.java:554)
      at io.undertow.client.http.HttpClientConnection$ClientReadListener.handleEvent(HttpClientConnection.java:511)
      at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
      at org.xnio.conduits.ReadReadyHandler$ChannelListenerHandler.readReady(ReadReadyHandler.java:66)
      at io.undertow.protocols.ssl.SslConduit$SslReadReadyHandler.readReady(SslConduit.java:1131)
      at org.xnio.nio.NioSocketConduit.handleReady(NioSocketConduit.java:89)
      at org.xnio.nio.WorkerThread.run(WorkerThread.java:591)

      2018-02-19 07:35:56,526 ERROR [org.xnio.listener] (default I/O-8) XNIO001007: A channel event listener threw an exception: java.lang.NullPointerException
      at io.undertow.client.http.HttpClientConnection$ClientReadListener.handleEvent(HttpClientConnection.java:661)
      at io.undertow.client.http.HttpClientConnection$ClientReadListener.handleEvent(HttpClientConnection.java:511)
      at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
      at org.xnio.conduits.ReadReadyHandler$ChannelListenerHandler.readReady(ReadReadyHandler.java:66)
      at io.undertow.protocols.ssl.SslConduit$SslReadReadyHandler.readReady(SslConduit.java:1131)
      at org.xnio.nio.NioSocketConduit.handleReady(NioSocketConduit.java:89)
      at org.xnio.nio.WorkerThread.run(WorkerThread.java:591)

      2018-02-19 07:37:46,510 ERROR [org.xnio.listener] (default I/O-8) XNIO001007: A channel event listener threw an exception: java.lang.NullPointerException
      at io.undertow.client.http.HttpRequestConduit.processWrite(HttpRequestConduit.java:102)
      at io.undertow.client.http.HttpRequestConduit.flush(HttpRequestConduit.java:660)
      at io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.flush(AbstractFixedLengthStreamSinkConduit.java:229)
      at org.xnio.conduits.ConduitStreamSinkChannel.flush(ConduitStreamSinkChannel.java:162)
      at org.xnio.ChannelListeners$14.handleEvent(ChannelListeners.java:413)
      at org.xnio.ChannelListeners$14.handleEvent(ChannelListeners.java:409)
      at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
      at org.xnio.conduits.WriteReadyHandler$ChannelListenerHandler.writeReady(WriteReadyHandler.java:65)
      at io.undertow.protocols.ssl.SslConduit$SslWriteReadyHandler.writeReady(SslConduit.java:1227)
      at io.undertow.protocols.ssl.SslConduit$3.run(SslConduit.java:275)
      at org.xnio.nio.WorkerThread.safeRun(WorkerThread.java:612)
      at org.xnio.nio.WorkerThread.run(WorkerThread.java:479)

      2018-02-19 07:37:46,511 ERROR [org.xnio.listener] (default I/O-8) XNIO001007: A channel event listener threw an exception: java.lang.NullPointerException
      at io.undertow.client.http.HttpRequestConduit.processWrite(HttpRequestConduit.java:102)
      at io.undertow.client.http.HttpRequestConduit.flush(HttpRequestConduit.java:660)
      at io.undertow.conduits.AbstractFixedLengthStreamSinkConduit.flush(AbstractFixedLengthStreamSinkConduit.java:229)
      at org.xnio.conduits.ConduitStreamSinkChannel.flush(ConduitStreamSinkChannel.java:162)
      at org.xnio.ChannelListeners$14.handleEvent(ChannelListeners.java:413)
      at org.xnio.ChannelListeners$14.handleEvent(ChannelListeners.java:409)
      at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
      at org.xnio.conduits.WriteReadyHandler$ChannelListenerHandler.writeReady(WriteReadyHandler.java:65)
      at io.undertow.protocols.ssl.SslConduit$SslWriteReadyHandler.writeReady(SslConduit.java:1227)
      at io.undertow.protocols.ssl.SslConduit$3.run(SslConduit.java:275)
      at org.xnio.nio.WorkerThread.safeRun(WorkerThread.java:612)
      at org.xnio.nio.WorkerThread.run(WorkerThread.java:479)

      Attachments

        Issue Links

          Activity

            People

              sdouglas1@redhat.com Stuart Douglas
              sdouglas1@redhat.com Stuart Douglas
              Jan Kašík Jan Kašík
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: