Phase 16.5: 100MB diagnosis - no CHANNEL_DATA packets received
Some checks failed
Test / test (push) Has been cancelled
Test / build (push) Has been cancelled

关键发现:
- iteration 0多次启动(poll loop多次调用)
- CHANNEL_DATA packet: 0次 ⚠️⚠️⚠️⚠️⚠️
- child process正常退出
- rsync client显示传输成功

问题诊断:
- SSH server没有接收rsync数据
- 可能使用SFTP subsystem(不是exec)
- 需要检查SFTP handler

下一步:检查SFTP subsystem处理逻辑
This commit is contained in:
Warren
2026-06-18 00:11:12 +08:00
parent d956bda64a
commit d585a5ee96

View File

@@ -0,0 +1,49 @@
# Phase 16.5100MB传输问题诊断 ⭐⭐⭐⭐⭐
**诊断时间**2026-06-17 23:20
**根本问题**SSH server没有接收任何CHANNEL_DATA packet
---
## 关键发现 ⭐⭐⭐⭐⭐
**日志分析**
- iteration 0 of 2000多次启动poll loop被多次调用
- CHANNEL_DATA packet0次 ⚠️⚠️⚠️⚠️⚠️
- child process正常退出ExitStatus(unix_wait_status(0)))
- SSH session1次完成
**问题诊断**
- 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