缺陷 / 严重 / Agent 引擎
electron/harness/orchestration/orchestrator.ts
sessionDepth 用于限制嵌套委派深度(防止无限递归)。abort 中断时:
sessionDepth
orchestrator.abort()
aborted = true
abort() { this.aborted = true; if (this.currentSubEngine) { this.currentSubEngine.abort(); this.currentSubEngine = null; } // 关键:清理 sessionDepth this.sessionDepth = 0; }
并在 finally 块中兜底:
try { await subEngine.runStream(...); } finally { this.sessionDepth = Math.max(0, this.sessionDepth - 1); this.currentSubEngine = null; }
No dependencies set.
The note is not visible to the blocked user.
问题类型
缺陷 / 严重 / Agent 引擎
文件位置
electron/harness/orchestration/orchestrator.ts问题描述
sessionDepth用于限制嵌套委派深度(防止无限递归)。abort 中断时:orchestrator.abort()aborted = true并 abort 当前 SubEnginesessionDepth在 SubEngine 完成回调中才递减,abort 路径跳过了递减影响
建议修复
并在 finally 块中兜底: