From d956bda64adec44f4366d47970e3dc44039cb406 Mon Sep 17 00:00:00 2001 From: Warren Date: Wed, 17 Jun 2026 23:10:17 +0800 Subject: [PATCH] Phase 16: iteration limit exceeded (10504 vs 2000) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 根本原因: - iteration次数:10504次(超出2000限制) - 导致100MB传输中断 症状: - SSH server异常退出 - 文件保存失败 修复方案: - 修正iteration计数逻辑 - 或移除iteration限制 - 或暂时接受50MB限制 --- data/phase16_iteration_limit_issue.md | 55 +++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 data/phase16_iteration_limit_issue.md diff --git a/data/phase16_iteration_limit_issue.md b/data/phase16_iteration_limit_issue.md new file mode 100644 index 0000000..b2b61ae --- /dev/null +++ b/data/phase16_iteration_limit_issue.md @@ -0,0 +1,55 @@ +# Phase 16:iteration 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有bug,iteration计数不正确 +- 或者有多个channel同时poll,累计iteration次数 +- 或者poll返回timeout但iteration仍递增 + +--- + +## 修复方案 ⭐⭐⭐⭐⭐ + +**方案1**:移除iteration限制(无限循环) +- 不限制iteration次数 +- 仅依赖stdin timeout(150秒) +- 风险:可能导致死循环 + +**方案2**:修正iteration计数逻辑 +- 检查poll loop代码 +- 确保iteration计数正确 +- 或改为时间限制(秒数) + +**方案3**:暂时接受50MB限制 +- 50MB已验证成功 +- 100MB需要进一步调试 + +--- + +**推荐方案2**:修正iteration计数逻辑 + +--- + +**最后更新**:2026-06-17 23:15