Andrew Stitcher created PROTON-959:
--------------------------------------

             Summary: 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 consistently see the 
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)

Reply via email to