XX-net/XX-Net · warning
get_timeout_list sn:%d sent:%f retry:%f
Error message
get_timeout_list sn:%d sent:%f retry:%f
What it means
Logged in get_timeout_list when an SN has exceeded the timeout both since original send and since last retry, so it is added to the retransmit list and its retry_time is stamped.
Source
Thrown at code/default/x_tunnel/local/base_container.py:355
self.logger.warn("mark_sn_timeout sn:%d t:%f", sn, server_time - t)
self.timeout_sn_list[sn] = {
"server_send_time": t,
}
elif t > self.timeout_sn_list[sn]["server_send_time"]:
self.logger.warn("mark_sn_timeout renew sn:%d t:%f", sn, server_time - t)
self.timeout_sn_list[sn]["server_send_time"] = t
def get_timeout_list(self, server_time, timeout):
sn_list = []
with self.lock:
for sn, info in self.timeout_sn_list.items():
if server_time - info["server_send_time"] < timeout:
continue
if server_time - info.get("retry_time", server_time) < timeout:
continue
self.logger.warn("get_timeout_list sn:%d sent:%f retry:%f", sn, server_time - info["server_send_time"],
server_time - info.get("retry_time", server_time))
info["retry_time"] = server_time
sn_list.append(sn)
return sn_list
def is_received(self, sn):
if sn < self.next_sn:
return True
if sn in self.block_list:
return True
return False
def status(self):
out_string = "Block_receive_pool:\r\n"
out_string += " next_sn:%d\r\n" % self.next_snView on GitHub (pinned to cfa5bc17b6)
Solutions
- Increase the timeout parameter to comfortably exceed RTT
- Check for network congestion or MTU issues
- Check server reachability if all SNs time out at once
Defensive patterns
Strategy: retry
Prevention
- Set timeout > 2x observed RTT
- Watch for MTU blackholes causing persistent timeouts
When it happens
Trigger: server_time - server_send_time >= timeout AND server_time - retry_time >= timeout for an SN in timeout_sn_list, invoked via get_down_sn_timeout_list_pack.
Common situations: Sustained uplink loss/congestion; timeout configured too small for RTT.
Understand the failure class
- Timeouts: ETIMEDOUT, deadlines, and hung requests — what actually expires when a request times out.
Related errors
- mark_sn_timeout sn:%d t:%f
- mark_sn_timeout renew sn:%d t:%f
- roundtrip failed, no:%d target:%d on_road:%d timeout:%d send
- update_quota_loop timeout fail.
- time out
AI-assisted analysis of XX-net/XX-Net@cfa5bc17b6 (2026-08-27).
Data as JSON: /api/errors/b1acc2a2b372b434.
Report an issue: GitHub.