Chuck Rolke created DISPATCH-162:
------------------------------------
Summary: Dispatch sends Close with framing error over closed TCP
connection
Key: DISPATCH-162
URL: https://issues.apache.org/jira/browse/DISPATCH-162
Project: Qpid Dispatch
Issue Type: Bug
Components: Router Node
Affects Versions: 0.4
Environment: Fedora Linux 4.0.5-200.fc21.x86_64 #1 SMP
make test - built in self tests
Reporter: Chuck Rolke
>From an Adverb network trace of self tests a repeating pattern is evident in
>maybe a dozen instances:
{noformat}
◊ ◊◊ 16.415479 Frame 4035 127.0.0.1:59760 -> 127.0.0.1:26330 -> init
AMQP (0): (1.0.0), open [0]
◊ ◊◊ 16.418421 Frame 4037 127.0.0.1:59760 <- 127.0.0.1:26330 <- init
AMQP (0): (1.0.0)
◊ ◊◊ 16.418561 Frame 4039 127.0.0.1:59760 <- 127.0.0.1:26330 <- open [0]
◊ ◊◊ 16.419732 Frame 4041 127.0.0.1:59760 -> 127.0.0.1:26330 -> begin
[0,null], attach [0,0] sender link_104 (source: null, target: $management)
◊ ◊◊ 16.420060 Frame 4042 127.0.0.1:59760 <- 127.0.0.1:26330 <- begin
[0,0], attach [0,0] receiver link_104 (source: null, target: $management), flow
[0,0] (0,1000)
◊ ◊◊ 16.421171 Frame 4043 127.0.0.1:59760 -> 127.0.0.1:26330 -> attach
[0,1] receiver link_105 (source: null, target: null)
◊ ◊◊ 16.421417 Frame 4044 127.0.0.1:59760 <- 127.0.0.1:26330 <- attach
[0,1] sender link_105 (source: endpoint_67, target: null)
◊ ◊◊ 16.422406 Frame 4045 127.0.0.1:59760 -> 127.0.0.1:26330 -> flow
[0,1] (0,1), transfer [0,0] (0)
◊ ◊◊ 16.538553 Frame 4047 127.0.0.1:59760 <- 127.0.0.1:26330 <- flow
[0,0] (1,1000), transfer [0,1] (0), disposition [0] (receiver 0-0)
◊ ◊◊ 16.545259 Frame 4049 127.0.0.1:59760 <- 127.0.0.1:26330 <- close [0]
◊ close [0]
Length: 84
Doff: 2
Type: AMQP (0)
Channel: 0
Performative: close (24)
Arguments (list of 1 element)
Error (list of 3 elements)
Condition: amqp:connection:framing-error
Description: connection aborted
Info
{noformat}
The close performatives stand out as they are highlighted because they contain
an error.
Going back to the wireshark trace raw data some TCP activity is revealed.
* Frame 4048 is a TCP \[FIN, ACK\] from the client closing its connection. The
client is done and does not perform an orderly AMQP shutdown.
* Frame 4049 is the frame in question. The client connection is closed and
Dispatch should not send the Close frame.
* Frame 4050 is a TCP \[RST\] from the now-closed client socket. Wireshark
highlights this in red indicating a protocol violation.
The original trace analysis is available at
http://people.apache.org/~chug/blog/qdr/q2.html It's a big, interesting view
of dispatch router doing its thing.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]