[已解决]Codex Windows 沙盒故障复盘:所有命令都跑不起来,根因是一个"正在运行的文件"

  • 记录时间:2026-10-08
  • 环境:Windows + Codex 桌面版(本地单用户)
  • 关键词:helper_unknown_error、setup refresh had errors、os error 32、ERROR_SHARING_VIOLATION

TL;DR

2026-10-07 更新后,Codex 桌面版在这台 Windows 机器上所有命令都执行不了,报错固定为:

Failed to create unified exec process: helper_unknown_error: setup refresh had errors

根因:新版 codex-windows-sandbox-setup.exe 在每次执行命令前会做一次 setup refresh,其中新增了一步 "runtime read/execute validation":对沙盒运行时目录里的每个 exe 更新安全描述符(日志原话是 open ACL target for root-only update,即"以写 DACL 的方式打开目标")。如果这个 exe 正作为进程在运行(node.exe / node_repl.exe 是常驻进程),Windows 会返回 os error 32(ERROR_SHARING_VIOLATION,"另一个程序正在使用此文件"),setup 把这一步当作致命错误退出,命令执行器根本起不来。

根因(机制链条)

  1. 每次执行命令前,Codex 固定跑一次 setup refresh,拉起 codex-windows-sandbox-setup.exe。
  2. 新版助手新增 runtime read/execute validation:遍历 runtime bin 目录里的可执行文件,逐一做安全描述符更新(open ACL target for root-only update),目的是确保沙盒账户对运行时文件有读取/执行权限。
  3. Windows 不允许对正在作为进程映像运行的 exe 做这类写操作,返回 os error 32。
  4. 这一步失败被记入 errors=[...],判定为致命错误,退出码 1。
  5. 上层包装成 helper_unknown_error → unified exec 进程创建失败 → 所有命令、所有依赖运行时的 MCP 服务全部不可用。
  6. 只要 setup 执行的那一刻没有任何 runtime exe 在运行,校验就能通过;通过一次后 ACL 落地,命令恢复正常。
posted @ 2026-10-08 14:59  BryceAi  阅读(4363)  评论(8)    收藏  举报