Uploaded image for project: 'Qpid Proton'
  1. Qpid Proton
  2. PROTON-1017

Engine does not handle UNINITIALIZED/CLOSED sessions

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • proton-0.10
    • proton-j-future
    • proton-j

    Description

      If the initiator sends a BEGIN and END frame the receiving engine processed the END frame before generating the outgoing BEGIN frame and it has no notion of remoteChannel number anymore.

      [2114881339:0] -> Open{ containerId='', hostname='', maxFrameSize=4294967295, channelMax=65535, idleTimeOut=null, outgoingLocales=null, incomingLocales=null, offeredCapabilities=null, desiredCapabilities=null, properties=null}
      [1472159463:0] <- Open{ containerId='', hostname='', maxFrameSize=4294967295, channelMax=65535, idleTimeOut=null, outgoingLocales=null, incomingLocales=null, offeredCapabilities=null, desiredCapabilities=null, properties=null}
      [1472159463:0] -> Open{ containerId='', hostname='', maxFrameSize=4294967295, channelMax=65535, idleTimeOut=null, outgoingLocales=null, incomingLocales=null, offeredCapabilities=null, desiredCapabilities=null, properties=null}
      [2114881339:0] <- Open{ containerId='', hostname='', maxFrameSize=4294967295, channelMax=65535, idleTimeOut=null, outgoingLocales=null, incomingLocales=null, offeredCapabilities=null, desiredCapabilities=null, properties=null}
      [2114881339:0] -> Begin{remoteChannel=null, nextOutgoingId=1, incomingWindow=2147483647, outgoingWindow=2147483647, handleMax=65535, offeredCapabilities=null, desiredCapabilities=null, properties=null}
      [2114881339:0] -> End{error=null}
      [1472159463:0] <- Begin{remoteChannel=null, nextOutgoingId=1, incomingWindow=2147483647, outgoingWindow=2147483647, handleMax=65535, offeredCapabilities=null, desiredCapabilities=null, properties=null}
      [1472159463:0] <- End{error=null}
      [1472159463:0] -> Begin{remoteChannel=65535, nextOutgoingId=1, incomingWindow=2147483647, outgoingWindow=2147483647, handleMax=65535, offeredCapabilities=null, desiredCapabilities=null, properties=null}
      [1472159463:0] -> End{error=null}
      [2114881339:0] <- Begin{remoteChannel=65535, nextOutgoingId=1, incomingWindow=2147483647, outgoingWindow=2147483647, handleMax=65535, offeredCapabilities=null, desiredCapabilities=null, properties=null}
      

      test dies with

      java.lang.NullPointerException: uncorrelated channel: 65535
      	at org.apache.qpid.proton.engine.impl.TransportImpl.handleBegin(TransportImpl.java:1074)
      	at org.apache.qpid.proton.engine.impl.TransportImpl.handleBegin(TransportImpl.java:1)
      	at org.apache.qpid.proton.amqp.transport.Begin.invoke(Begin.java:144)
      	at org.apache.qpid.proton.engine.impl.TransportImpl.handleFrame(TransportImpl.java:1304)
      	at org.apache.qpid.proton.engine.impl.FrameParser.input(FrameParser.java:419)
      	at org.apache.qpid.proton.engine.impl.FrameParser.process(FrameParser.java:528)
      	at org.apache.qpid.proton.engine.impl.TransportImpl.process(TransportImpl.java:1415)
      	at org.apache.qpid.proton.engine.impl.TransportImpl.processInput(TransportImpl.java:1373)
      	at org.apache.qpid.proton.systemtests.EngineTestBase.pumpServerToClient(EngineTestBase.java:73)
      	at org.apache.qpid.proton.systemtests.ProtonEngineExampleTest.testPROTON_TBD(ProtonEngineExampleTest.java:350)
      ...
      

      Attachments

        1. PROTON-1017-WIP.patch
          10 kB
          Robbie Gemmell

        Issue Links

          Activity

            People

              Unassigned Unassigned
              bozzo Božo Dragojevič
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated: