Phase 16: iteration limit exceeded (10504 vs 2000)
Some checks failed
Test / test (push) Has been cancelled
Test / build (push) Has been cancelled

根本原因:
- iteration次数:10504次(超出2000限制)
- 导致100MB传输中断

症状:
- SSH server异常退出
- 文件保存失败

修复方案:
- 修正iteration计数逻辑
- 或移除iteration限制
- 或暂时接受50MB限制
This commit is contained in:
Warren
2026-06-17 23:10:17 +08:00
parent 48662ae243
commit d956bda64a

View File

@@ -0,0 +1,55 @@
# Phase 16iteration limit超出问题 ⭐⭐⭐⭐⭐
**发现问题**2026-06-17 23:15
**根本原因**poll iteration次数超出限制
---
## 问题分析 ⭐⭐⭐⭐⭐
**日志发现**
- iteration次数10504次
- max_poll_iterations限制2000次
- **超出限制**10504 / 2000 = 5.25倍 ⚠️⚠️⚠️⚠️⚠️
**症状**
- SSH server在iteration超过2000后可能异常退出
- 导致100MB文件传输中断
- 文件保存失败
**根本原因**
- poll timeout 100ms
- 实际传输时间5秒
- 理论iteration次数5秒 / 0.1秒 = 50次
- 实际iteration次数10504次 ⚠️⚠️⚠️⚠️⚠️
**问题诊断**
- poll loop有bugiteration计数不正确
- 或者有多个channel同时poll累计iteration次数
- 或者poll返回timeout但iteration仍递增
---
## 修复方案 ⭐⭐⭐⭐⭐
**方案1**移除iteration限制无限循环
- 不限制iteration次数
- 仅依赖stdin timeout150秒
- 风险:可能导致死循环
**方案2**修正iteration计数逻辑
- 检查poll loop代码
- 确保iteration计数正确
- 或改为时间限制(秒数)
**方案3**暂时接受50MB限制
- 50MB已验证成功
- 100MB需要进一步调试
---
**推荐方案2**修正iteration计数逻辑
---
**最后更新**2026-06-17 23:15