opencode 修复 MCP 子进程泄漏:轮询客户端可致内存耗尽

sugarless-sweet · ghdev · 2026-09-12

opencode 仓库的 PR #48595 针对 issue #47727 描述的 serve 实例进程泄漏问题:通过 /mcp/:name/connect 交互的轮询客户端会不断 spawn 新的 stdio MCP 子进程,直到内存耗尽且进程永不释放。该 PR 为实例 HttpApi 路由处理器新增回归测试,锁定预期生命周期:

测试 fixture 是一个每次 spawn 时追加自己 pid 的标准 MCP stdio 服务器,测试用 process.kill(pid, 0) 统计存活进程数,任何 spawn 后未被 dispose 的进程都会导致断言失败。验证:新测试连续 5 次通过,test/server/ 全量套件 298 通过 / 0 失败。

原文链接 →

「编程与Agent」频道最新

更多「编程与Agent」频道 AI 资讯 →