[
https://issues.apache.org/jira/browse/PROTON-2173?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17249632#comment-17249632
]
Jiri Daněk commented on PROTON-2173:
------------------------------------
Issue link in previous comment should've been PROTON-2205.
> [c, cpp] Idle connections closed with TCP FIN cause framing errors
> ------------------------------------------------------------------
>
> Key: PROTON-2173
> URL: https://issues.apache.org/jira/browse/PROTON-2173
> Project: Qpid Proton
> Issue Type: Bug
> Components: proton-c
> Affects Versions: proton-c-0.30.0
> Reporter: Charles E. Rolke
> Priority: Major
>
> This issue was mis-characterized in PROTON-2162 but the same basic problem
> stands. When a completely idle connection is closed with an incoming TCP FIN
> then the connection emits a close frame with a framing error. This is a
> normal, clean connection close and there is no framing error.
> Demonstrate this using cpp examples direct_recv and simple_send.
> * modify simple_send on_sendable() so that it just returns without sending
> anything
> * run direct_recv
> * run simple_send
> * let it sit. There is no traffic.
> * kill simple_end by pid with dash 9
> * simple_send prints "killed"
> * direct_recv prints "amqp:connection:framing-error: connection aborted"
> Wireshark shows three frames over the wire:
> * --> 5672 FIN
> * <-- 5672 CLOSE amqp:connection:framing-error:connection aborted
> * --> 5672 RST
> This is an abnormal connection closure. One end has sent a FIN and then later
> the other end sends a message to it. The OS should never have to reply to
> that message with a RST.
> AmqpNetLite gets it right. Run examples PeerToPeer.Server and .Client with
> client modified never to send anything but just open the connection and sit
> there. Then kill the client. Over the wire:
> * --> 5672 FIN
> * <-- 5672 FIN ACK
> * --> 5672 ACK
> This is a normal connection closure TCP handshake. The server prints:
> Exception: The transport 'ListenerTcpTransport' is closed.
> Dispatch customers are asking why there are so many framing errors even when
> running common utilities like qdstat. And there are so many framing errors
> reported that if a real framing error ever shows up it will never be seen.
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]