[ https://issues.apache.org/jira/browse/PROTON-959?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14643496#comment-14643496 ]
ASF subversion and git services commented on PROTON-959: -------------------------------------------------------- Commit 0773d9b19c61a9e1c2517970d191519b461366b3 in qpid-proton's branch refs/heads/master from [~astitcher] [ https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=0773d9b ] PROTON-959/PROTON-960: Split error handling code to be layer sensitive - Each protocol will be called whenever a protocl error is detected to handle its own clean up. > On error Proton can send an open and a close frame before sending the AMQP > header > --------------------------------------------------------------------------------- > > Key: PROTON-959 > URL: https://issues.apache.org/jira/browse/PROTON-959 > Project: Qpid Proton > Issue Type: Bug > Affects Versions: 0.10 > Reporter: Andrew Stitcher > Assignee: Andrew Stitcher > > In the following trace of some transport tests you will see that many of the > tests have open/close frames before the AMQP header is sent. > Trace from some of the tests: > {noformat} > $ PN_TRACE_FRM=1 proton-test *ServerTransport* > proton_tests.transport.ServerTransportTest.testBigGarbage > ...................................[0x1ef9b40]:0 -> @open(16) > [container-id=""] > [0x1ef9b40]:0 -> @close(24) [error=@error(29) > [condition=:"amqp:connection:framing-error", description="Unknown protocol > detected: 'GARBAGE_XXX'"]] > [0x1ef9b40]: -> AMQP > [0x1ef9b40]: -> EOS > pass > proton_tests.transport.ServerTransportTest.testBindAfterOpen > ................................[0x20d1460]: -> AMQP > [0x20d1460]:0 -> @open(16) [container-id="test-container", > hostname="test-hostname", channel-max=32767] > [0x20d1460]:0 -> @begin(17) [next-outgoing-id=0, incoming-window=2147483647, > outgoing-window=2147483647] > [0x1fa0350]: <- AMQP > [0x1fa0350]:0 <- @open(16) [container-id="test-container", > hostname="test-hostname", channel-max=32767] > [0x1fa0350]:0 <- @begin(17) [next-outgoing-id=0, incoming-window=2147483647, > outgoing-window=2147483647] > pass > proton_tests.transport.ServerTransportTest.testCloseHead > .................................... pass > proton_tests.transport.ServerTransportTest.testCloseTail > ....................................[0x1fa0350]:0 -> @open(16) > [container-id=""] > [0x1fa0350]:0 -> @close(24) [error=@error(29) > [condition=:"amqp:connection:framing-error", description="No valid protocol > header found"]] > [0x1fa0350]: <- EOS > pass > proton_tests.transport.ServerTransportTest.testEOS > ..........................................[0x20b55d0]:0 -> @open(16) > [container-id=""] > [0x20b55d0]:0 -> @close(24) [error=@error(29) > [condition=:"amqp:connection:framing-error", description="No valid protocol > header found"]] > [0x20b55d0]: <- EOS > [0x20b55d0]: -> EOS > pass > proton_tests.transport.ServerTransportTest.testEOSAfterSASL > .................................[0x20b55d0]: -> SASL > [0x20b55d0]:0 -> @sasl-init(65) [mechanism=:ANONYMOUS, > initial-response=b"anonymous@pansy.local"] > [0x20b55d0]: -> AMQP > [0x1fa0350]: <- SASL > [0x1fa0350]:0 <- @sasl-init(65) [mechanism=:ANONYMOUS, > initial-response=b"anonymous@pansy.local"] > [0x1fa0350]:Authenticated user: anonymous with mechanism ANONYMOUS > [0x1fa0350]: <- AMQP > [0x1fa0350]: <- EOS > [0x1fa0350]: -> EOS > pass > proton_tests.transport.ServerTransportTest.testGarbage > ......................................[0x20b55d0]:0 -> @open(16) > [container-id=""] > [0x20b55d0]:0 -> @close(24) [error=@error(29) > [condition=:"amqp:connection:framing-error", description="Unknown protocol > detected: 'GARBAGE_'"]] > [0x20b55d0]: -> AMQP > [0x20b55d0]: -> EOS > pass > proton_tests.transport.ServerTransportTest.testHeader > .......................................[0x1fa0350]: <- AMQP > [0x1fa0350]:0 -> @open(16) [container-id=""] > [0x1fa0350]:0 -> @close(24) [error=@error(29) > [condition=:"amqp:connection:framing-error", description="connection > aborted"]] > [0x1fa0350]: <- EOS > [0x1fa0350]: -> AMQP > [0x20b55d0]: <- AMQP > [0x20b55d0]:0 <- @open(16) [container-id=""] > [0x20b55d0]:0 <- @close(24) [error=@error(29) > [condition=:"amqp:connection:framing-error", description="connection > aborted"]] > [0x20b55d0]: <- EOS > [0x1fa0350]: -> EOS > pass > proton_tests.transport.ServerTransportTest.testPartial > ......................................[0x20b55d0]:0 -> @open(16) > [container-id=""] > [0x20b55d0]:0 -> @close(24) [error=@error(29) > [condition=:"amqp:connection:framing-error", description="End of input stream > before protocol detection: 'AMQ' (connection aborted)"]] > [0x20b55d0]: -> AMQP > [0x20b55d0]: -> EOS > pass > proton_tests.transport.ServerTransportTest.testPeek > ......................................... pass > proton_tests.transport.ServerTransportTest.testProtocolNotSupported > .........................[0x20b55d0]:0 -> @open(16) [container-id=""] > [0x20b55d0]:0 -> @close(24) [error=@error(29) > [condition=:"amqp:connection:framing-error", description="Incompatible AMQP > connection detected: 'AMQP\x01\x01\x0a\x00'"]] > [0x20b55d0]: -> AMQP > [0x20b55d0]: -> EOS > pass > proton_tests.transport.ServerTransportTest.testSmallGarbage > .................................[0x1fa0350]:0 -> @open(16) [container-id=""] > [0x1fa0350]:0 -> @close(24) [error=@error(29) > [condition=:"amqp:connection:framing-error", description="Unknown protocol > detected: 'XXX'"]] > [0x1fa0350]: -> AMQP > [0x1fa0350]: -> EOS > pass > proton_tests.transport.ServerTransportTest.testUnpairedPop > .................................. pass > Totals: 13 tests, 13 passed, 0 skipped, 0 ignored, 0 failed > [andrew@pansy bld]$ > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)