XX-net/XX-Net · warning
put_send_data %s conn:%d seq:%d next:%d
Error message
put_send_data %s conn:%d seq:%d next:%d
What it means
put_cmd_data received a data chunk whose sequence number is older than next_cmd_seq, i.e. a duplicate/late packet; it is dropped. The log shows session, conn, the stale seq and the expected next seq.
Source
Thrown at code/default/x_tunnel/local/base_container.py:712
# record TCP connection time
# conn_time = time.time() - start_time
# self.xlog.debug("tcp conn %s %s time:%d", host, ip, conn_time * 1000)
return sock, True
except Exception as e:
conn_time = int((time.time() - start_time) * 1000)
self.xlog.debug("tcp conn host:%s %s:%d fail t:%d %r", host, ip, port, conn_time, e)
if sock:
sock.close()
return e, False
def put_cmd_data(self, data):
if not self.running:
return
seq = struct.unpack("<I", data.get(4))[0]
if seq < self.next_cmd_seq:
self.xlog.warn("put_send_data %s conn:%d seq:%d next:%d",
self.session.session_id, self.conn_id,
seq, self.next_cmd_seq)
return
self._debug_log("conn:%d put data seq:%d len:%d", self.conn_id, seq, len(data))
with self._lock:
self.cmd_queue[seq] = data.get_buf()
if seq == self.next_cmd_seq:
if self.sock:
self.connection_pipe.add_sock_event(self.sock, self, selectors.EVENT_WRITE)
else:
self.process_cmd()
def get_cmd_data(self):
if self.next_cmd_seq not in self.cmd_queue:
self._debug_log("get_cmd_data conn:%d no data, next_cmd_seq:%d", self.conn_id, self.next_cmd_seq)
return NoneView on GitHub (pinned to cfa5bc17b6)
Solutions
- No action needed for occasional drops
- If frequent, increase retransmit timeout to avoid premature retries
- Check for duplicate delivery paths
Defensive patterns
Strategy: validation
Prevention
- Rely on seq dedup; do not resend aggressively
- Tune retransmit timeout above RTT
When it happens
Trigger: Server resends a chunk (seq < next_cmd_seq) after a retry was already satisfied; duplicates arrive via multiple fronts.
Common situations: Retransmission race: retry arrived after original was processed; harmless data-drop path.
Related errors
- XTunnelNotRunning
- ConnectionPipe remove sock e:%r
- proxy handler read error %r
- login session server is down, try get new server.
- login session fail, status:%r
AI-assisted analysis of XX-net/XX-Net@cfa5bc17b6 (2026-08-27).
Data as JSON: /api/errors/06d2389a14b3b621.
Report an issue: GitHub.