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

Undertow fails when parsing HTTP/2 Settings frame

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Blocker Blocker
    • 1.3.0.Beta9
    • 1.3.0.Beta6
    • None
    • None

      When creating HTTP/2 connection over plain "http", Undertow fails to parse settings frame resulting in [1].

      [1]

      15:37:31,289 ERROR [io.undertow.request] (default I/O-2) Undertow request failed HttpServerExchange{ GET /}: java.lang.RuntimeException: java.io.IOException: UT000111: Parser did not make progress
      	at io.undertow.protocols.http2.Http2Channel.<init>(Http2Channel.java:189)
      	at io.undertow.server.protocol.http2.Http2UpgradeHandler$1.handleUpgrade(Http2UpgradeHandler.java:61)
      	at io.undertow.server.protocol.http.HttpReadListener.exchangeComplete(HttpReadListener.java:350)
      	at io.undertow.server.protocol.http.HttpServerConnection.exchangeComplete(HttpServerConnection.java:225)
      	at io.undertow.server.HttpServerExchange.invokeExchangeCompleteListeners(HttpServerExchange.java:1196)
      	at io.undertow.server.HttpServerExchange.terminateResponse(HttpServerExchange.java:1426)
      	at io.undertow.server.Connectors.terminateResponse(Connectors.java:100)
      	at io.undertow.server.protocol.http.HttpTransferEncoding$3.handleEvent(HttpTransferEncoding.java:197)
      	at io.undertow.server.protocol.http.HttpTransferEncoding$3.handleEvent(HttpTransferEncoding.java:195)
      	at io.undertow.conduits.ChunkedStreamSinkConduit.invokeFinishListener(ChunkedStreamSinkConduit.java:291)
      	at io.undertow.conduits.ChunkedStreamSinkConduit.flush(ChunkedStreamSinkConduit.java:263)
      	at org.xnio.conduits.ConduitStreamSinkChannel.flush(ConduitStreamSinkChannel.java:162)
      	at io.undertow.channels.DetachableStreamSinkChannel.flush(DetachableStreamSinkChannel.java:119)
      	at io.undertow.server.HttpServerExchange.closeAndFlushResponse(HttpServerExchange.java:1575)
      	at io.undertow.server.HttpServerExchange.endExchange(HttpServerExchange.java:1553)
      	at io.undertow.server.Connectors.executeRootHandler(Connectors.java:215)
      	at io.undertow.server.protocol.http.HttpReadListener.handleEventWithNoRunningRequest(HttpReadListener.java:227)
      	at io.undertow.server.protocol.http.HttpReadListener.handleEvent(HttpReadListener.java:128)
      	at io.undertow.server.protocol.http.HttpOpenListener.handleEvent(HttpOpenListener.java:143)
      	at io.undertow.server.protocol.http.HttpOpenListener.handleEvent(HttpOpenListener.java:90)
      	at io.undertow.server.protocol.http.HttpOpenListener.handleEvent(HttpOpenListener.java:49)
      	at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
      	at org.xnio.ChannelListeners$10.handleEvent(ChannelListeners.java:291)
      	at org.xnio.ChannelListeners$10.handleEvent(ChannelListeners.java:286)
      	at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
      	at org.xnio.nio.NioTcpServerHandle.handleReady(NioTcpServerHandle.java:53)
      	at org.xnio.nio.WorkerThread.run(WorkerThread.java:539)
      Caused by: java.io.IOException: UT000111: Parser did not make progress
      	at io.undertow.protocols.http2.Http2PushBackParser.parse(Http2PushBackParser.java:61)
      	at io.undertow.protocols.http2.Http2Channel.<init>(Http2Channel.java:184)
      	... 26 more
      

              sdouglas1@redhat.com Stuart Douglas (Inactive)
              rhatlapa@redhat.com Radim Hatlapatka (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: