Files
markbase/data/phase16_5_diagnosis.md
Warren d585a5ee96
Some checks failed
Test / test (push) Has been cancelled
Test / build (push) Has been cancelled
Phase 16.5: 100MB diagnosis - no CHANNEL_DATA packets received
关键发现:
- iteration 0多次启动(poll loop多次调用)
- CHANNEL_DATA packet: 0次 ⚠️⚠️⚠️⚠️⚠️
- child process正常退出
- rsync client显示传输成功

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

下一步:检查SFTP subsystem处理逻辑
2026-06-18 00:11:12 +08:00

50 lines
1.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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