[ https://issues.apache.org/jira/browse/DISPATCH-2091?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Charles E. Rolke updated DISPATCH-2091: --------------------------------------- Attachment: INTB-tcplog.conf INTA-tcplog.conf > TCP adaptor does not close listener connection when RX window is full > --------------------------------------------------------------------- > > Key: DISPATCH-2091 > URL: https://issues.apache.org/jira/browse/DISPATCH-2091 > Project: Qpid Dispatch > Issue Type: Bug > Components: Protocol Adaptors > Reporter: Charles E. Rolke > Priority: Major > Fix For: 1.16.0 > > Attachments: INTA-tcplog.conf, INTB-tcplog.conf > > > A two-router network has TCP Listener on A and TCP Connector on B. > The test program is a iperf3 server and a client run with > {code:java} > iperf3 -c 127.0.0.1 -p 5202 -t 2 > {code} > Iperf3 creates two connections. The low-volume connection closes OK. The > high-volume connection receives a network FIN but never responds with FIN/ACK. > TCP logging for the stuck connection shows that the RX windows is full. When > proton signals that read data is available the adaptor ignores it. This > probably interrupts the normal event sequence and a DISCONNECTED event never > arrives. > The event sequence is > {code:java} > 2021-04-28 17:13:48.502875 -0400 TCP_ADAPTOR (trace) [C3][L28] > handle_incoming PNRC_READ for listener connection. read_closed:F, > flow_enabled:T > 2021-04-28 17:13:48.502896 -0400 TCP_ADAPTOR (debug) [C3] > pn_raw_connection_take_read_buffers() took 16, freed 0 > 2021-04-28 17:13:48.502907 -0400 TCP_ADAPTOR (debug) [C3][L28] Granting 16 to > pn_raw_connection_give_read_buffers() > 2021-04-28 17:13:48.503126 -0400 TCP_ADAPTOR (trace) [C3][L28][D22] > Continuing listener message with 8192 bytes > 2021-04-28 17:13:48.503140 -0400 TCP_ADAPTOR (debug) [C3] > PN_RAW_CONNECTION_READ Read 8192 bytes. Total read 45482021 bytes > 2021-04-28 17:13:48.503188 -0400 TCP_ADAPTOR (debug) [C3] > PN_RAW_CONNECTION_READ listener Event > 2021-04-28 17:13:48.503210 -0400 TCP_ADAPTOR (trace) [C3][L28] > handle_incoming PNRC_READ for listener connection. read_closed:F, > flow_enabled:T > 2021-04-28 17:13:48.503229 -0400 TCP_ADAPTOR (trace) [C3] TCP RX window > CLOSED: bytes in=45488165 unacked=1460232 > 2021-04-28 17:13:48.503244 -0400 TCP_ADAPTOR (debug) [C3] > pn_raw_connection_take_read_buffers() took 12, freed 0 > 2021-04-28 17:13:48.503259 -0400 TCP_ADAPTOR (debug) [C3][L28] Granting 12 to > pn_raw_connection_give_read_buffers() > 2021-04-28 17:13:48.503316 -0400 TCP_ADAPTOR (debug) [C3] qdr_tcp_activate: > call pn_raw_connection_wake() > 2021-04-28 17:13:48.503393 -0400 TCP_ADAPTOR (trace) [C3][L28][D22] > Continuing listener message with 6144 bytes > 2021-04-28 17:13:48.503411 -0400 TCP_ADAPTOR (debug) [C3] > PN_RAW_CONNECTION_READ Read 6144 bytes. Total read 45488165 bytes > 2021-04-28 17:13:48.503423 -0400 TCP_ADAPTOR (debug) [C3][L28] qdr_tcp_push > 2021-04-28 17:13:48.503433 -0400 TCP_ADAPTOR (debug) [C3][L27][D25] > qdr_tcp_deliver Delivery event > 2021-04-28 17:13:48.503445 -0400 TCP_ADAPTOR (info) [C3] EOS > 2021-04-28 17:13:48.503458 -0400 TCP_ADAPTOR (debug) [C3] handle_outgoing > calling pn_raw_connection_write_close(). rcv_complete:T, send_complete:T > 2021-04-28 17:13:48.503521 -0400 TCP_ADAPTOR (debug) [C3][L28] qdr_tcp_offer: > NOOP > 2021-04-28 17:13:48.503544 -0400 TCP_ADAPTOR (debug) [C3][L28] > qdr_tcp_get_credit: NOOP > 2021-04-28 17:13:48.503565 -0400 TCP_ADAPTOR (debug) [C3] > PN_RAW_CONNECTION_WAKE listener > 2021-04-28 17:13:48.503670 -0400 TCP_ADAPTOR (debug) [C3] > PN_RAW_CONNECTION_CLOSED_WRITE listener > 2021-04-28 17:13:48.503712 -0400 TCP_ADAPTOR (debug) [C3] qdr_tcp_activate: > call pn_raw_connection_wake() > 2021-04-28 17:13:48.503752 -0400 TCP_ADAPTOR (debug) [C3] > PN_RAW_CONNECTION_WAKE listener > 2021-04-28 17:13:48.503830 -0400 TCP_ADAPTOR (debug) [C3][L28][D22] > qdr_tcp_delivery_update: disp: 38, settled: false > 2021-04-28 17:13:48.503852 -0400 TCP_ADAPTOR (debug) [C3][L28][D22] > qdr_tcp_delivery_update: disp: 38, settled: false > 2021-04-28 17:13:48.503868 -0400 TCP_ADAPTOR (debug) [C3][L28] > qdr_tcp_get_credit: NOOP > 2021-04-28 17:13:48.503932 -0400 TCP_ADAPTOR (debug) [C3] > PN_RAW_CONNECTION_READ listener Event > 2021-04-28 17:13:48.503942 -0400 TCP_ADAPTOR (trace) [C3][L28] > handle_incoming PNRC_READ for listener connection. read_closed:F, > flow_enabled:T > 2021-04-28 17:13:48.503950 -0400 TCP_ADAPTOR (debug) [C3] > pn_raw_connection_take_read_buffers() took 0, freed 0 > 2021-04-28 17:13:48.503957 -0400 TCP_ADAPTOR (debug) [C3][L28] Granting 0 to > pn_raw_connection_give_read_buffers() > 2021-04-28 17:13:48.503965 -0400 TCP_ADAPTOR (debug) [C3] > PN_RAW_CONNECTION_READ Read 0 bytes. Total read 45488165 bytes > 2021-04-28 17:13:48.503973 -0400 TCP_ADAPTOR (debug) [C3] > PN_RAW_CONNECTION_NEED_READ_BUFFERS listener > 2021-04-28 17:13:48.503981 -0400 TCP_ADAPTOR (debug) [C3][L28] Granting 0 to > pn_raw_connection_give_read_buffers() > 2021-04-28 17:13:48.503988 -0400 TCP_ADAPTOR (trace) [C3][L28] > handle_incoming PNRC_NEED_READ_BUFFERS for listener connection. > read_closed:F, flow_enabled:T > 2021-04-28 17:13:48.503996 -0400 TCP_ADAPTOR (debug) [C3] > pn_raw_connection_take_read_buffers() took 0, freed 0 > 2021-04-28 17:13:48.504003 -0400 TCP_ADAPTOR (debug) [C3][L28] Granting 0 to > pn_raw_connection_give_read_buffers(){code} -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org