You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Totally possible this is user error, or some misconfiguration, but it looks like a failure in either tokio modbus or mio to handle TCP Re-transmissions correctly. We have two client processes (one reading, one writing) talking to a remote server (ABB VFD) in a harsh EM environment where there are a reasonable number of low level transmission failures.
We see a 100% repeatable pattern in network traffic of:
Request is sent, no response is received
After ~200ms a TCP Retransmission is sent from client to server
Immediately server responds with "TCP Previous segment not captured"
Client does not ack the "TCP Previous Segment not captured message"
After ~800ms a TCP Retransmission is sent from server to client
Request then fails
This may be an issue with how the server device is responding to the re-transmission, I'm unclear on the what the correct low-level responses should be in the situation, but its repeatable that whenever a TCP Re-tranmission occurs the request is never successfully recovered by TCP's retry mechanisms.
It should be noted that while the ~1 second delay from TCP retries is occurring, the other client is still successfully communicating with the device.
Client System Details:
Ubuntu 20.04, Rust 1.58.1, Tokio-Modbus 0.5.1
Totally possible this is user error, or some misconfiguration, but it looks like a failure in either tokio modbus or mio to handle TCP Re-transmissions correctly. We have two client processes (one reading, one writing) talking to a remote server (ABB VFD) in a harsh EM environment where there are a reasonable number of low level transmission failures.
We see a 100% repeatable pattern in network traffic of:
This may be an issue with how the server device is responding to the re-transmission, I'm unclear on the what the correct low-level responses should be in the situation, but its repeatable that whenever a TCP Re-tranmission occurs the request is never successfully recovered by TCP's retry mechanisms.
It should be noted that while the ~1 second delay from TCP retries is occurring, the other client is still successfully communicating with the device.
Client System Details:
Ubuntu 20.04, Rust 1.58.1, Tokio-Modbus 0.5.1
Wireshark screenshot of events:
Link to packet capture of failure.
The text was updated successfully, but these errors were encountered: