[
https://issues.apache.org/jira/browse/PROTON-959?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrew Stitcher updated PROTON-959:
-----------------------------------
Description:
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"[email protected]"]
[0x20b55d0]: -> AMQP
[0x1fa0350]: <- SASL
[0x1fa0350]:0 <- @sasl-init(65) [mechanism=:ANONYMOUS,
initial-response=b"[email protected]"]
[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}
was:
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"[email protected]"]
[0x20b55d0]: -> AMQP
[0x1fa0350]: <- SASL
[0x1fa0350]:0 <- @sasl-init(65) [mechanism=:ANONYMOUS,
initial-response=b"[email protected]"]
[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}
> 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"[email protected]"]
> [0x20b55d0]: -> AMQP
> [0x1fa0350]: <- SASL
> [0x1fa0350]:0 <- @sasl-init(65) [mechanism=:ANONYMOUS,
> initial-response=b"[email protected]"]
> [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)