Files
markbase/data/phase16_iteration_limit_issue.md
Warren d956bda64a
Some checks failed
Test / test (push) Has been cancelled
Test / build (push) Has been cancelled
Phase 16: iteration limit exceeded (10504 vs 2000)
根本原因:
- iteration次数:10504次(超出2000限制)
- 导致100MB传输中断

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

修复方案:
- 修正iteration计数逻辑
- 或移除iteration限制
- 或暂时接受50MB限制
2026-06-17 23:10:17 +08:00

56 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 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