From d585a5ee96eeeb334210e67f975b981b9485a3cc Mon Sep 17 00:00:00 2001 From: Warren Date: Thu, 18 Jun 2026 00:11:12 +0800 Subject: [PATCH] Phase 16.5: 100MB diagnosis - no CHANNEL_DATA packets received MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关键发现: - iteration 0多次启动(poll loop多次调用) - CHANNEL_DATA packet: 0次 ⚠️⚠️⚠️⚠️⚠️ - child process正常退出 - rsync client显示传输成功 问题诊断: - SSH server没有接收rsync数据 - 可能使用SFTP subsystem(不是exec) - 需要检查SFTP handler 下一步:检查SFTP subsystem处理逻辑 --- data/phase16_5_diagnosis.md | 49 +++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 data/phase16_5_diagnosis.md diff --git a/data/phase16_5_diagnosis.md b/data/phase16_5_diagnosis.md new file mode 100644 index 0000000..1699ab3 --- /dev/null +++ b/data/phase16_5_diagnosis.md @@ -0,0 +1,49 @@ +# Phase 16.5:100MB传输问题诊断 ⭐⭐⭐⭐⭐ + +**诊断时间**:2026-06-17 23:20 +**根本问题**:SSH server没有接收任何CHANNEL_DATA packet + +--- + +## 关键发现 ⭐⭐⭐⭐⭐ + +**日志分析**: +- iteration 0 of 2000:多次启动(poll loop被多次调用) +- CHANNEL_DATA packet:0次 ⚠️⚠️⚠️⚠️⚠️ +- child process:正常退出(ExitStatus(unix_wait_status(0))) +- SSH session:1次完成 + +**问题诊断**: +- SSH server没有接收rsync传输的数据 +- rsync client显示传输成功(18.42 MB/s) +- 但SSH server端没有数据接收日志 + +**可能原因**: +1. rsync使用SFTP subsystem(不是exec) +2. SSH server的SFTP handler有问题 +3. rsync protocol handshake失败 +4. SSH_MSG_CHANNEL_DATA没有被正确处理 + +--- + +## 诊断方案 ⭐⭐⭐⭐⭐ + +**方案1**:检查rsync是否使用SFTP subsystem +- rsync可能默认使用SFTP(而不是exec) +- 检查SSH server是否正确处理SFTP + +**方案2**:检查SSH_MSG_CHANNEL_DATA handler +- 检查channel.rs中的CHANNEL_DATA处理逻辑 +- 确保数据被正确接收和处理 + +**方案3**:使用debug日志重新测试 +- RUST_LOG=debug重新测试100MB +- 查看详细的数据接收日志 + +--- + +**下一步**:检查SSH server是否正确处理SFTP subsystem + +--- + +**最后更新**:2026-06-17 23:20