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

NPE in io.undertow.client

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 2.0.0.Beta1, 1.4.17.Final
    • 1.4.16.Final
    • None
    • None

    Description

      There is an NPE is SSL failover scenario

      2017-06-19 06:45:01,621 ERROR [io.undertow.client] (default I/O-1) UT005001: An exception occurred processing the request: java.lang.NullPointerException
      	at io.undertow.client.http.HttpClientConnection$ClientReadListener.handleEvent(HttpClientConnection.java:568)
      	at io.undertow.client.http.HttpClientConnection$ClientReadListener.handleEvent(HttpClientConnection.java:507)
      	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:1129)
      	at org.xnio.nio.NioSocketConduit.handleReady(NioSocketConduit.java:89)
      	at org.xnio.nio.WorkerThread.run(WorkerThread.java:571)
      
      2017-06-19 06:45:01,628 ERROR [org.xnio.listener] (default I/O-1) XNIO001007: A channel event listener threw an exception: java.lang.NullPointerException
      	at io.undertow.client.http.HttpClientConnection$ClientReadListener.handleEvent(HttpClientConnection.java:655)
      	at io.undertow.client.http.HttpClientConnection$ClientReadListener.handleEvent(HttpClientConnection.java:507)
      	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:1129)
      	at org.xnio.nio.NioSocketConduit.handleReady(NioSocketConduit.java:89)
      	at org.xnio.nio.WorkerThread.run(WorkerThread.java:571)
      

      It was spotted in ssl failover scenario.

      • Set up balancer with 2 workers that communicate via ssl
      • Send request
      • Shutdown worker that handled the request
      • Check if everything is ok
      • Repeat

      After few failovers, undertow balancer starts to throw NPE. At this point, the worker cannot completely join with balancer and is marked as DOWN with repeating NPE showing in the balancer log. Unfortunately, there is some race condition and I cannot reproduce it efficiently. This issue comes with ssl connection as there is no NPE in non ssl failover tests.

      Attachments

        Issue Links

          Activity

            People

              sdouglas1@redhat.com Stuart Douglas
              bsikora Bogdan Sikora (Inactive)
              Jan Kašík Jan Kašík
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: