Repository navigation
[Bug][Windows] MSYS2/Git Bash 无法在 ACL 沙箱下运行:couldn't create signal pipe, Win32 error 5(cmd/pwsh 同沙箱正常) #7877
Replies: 1 comment
|
A third-party plugin now recognizes this exit code at the tool layer and names which of the two measured producers it is: Usage — mount it in the profile with the shipped patch: - insert:
- id: sandbox-grant-advisor
name: '@argszero/cordis-plugin-sandbox-grant-advisor'Relation to this report. Your table is the second producer this family was built around, and it is the one a model can act on without any upstream change: the MSYS2 / Git-Bash runtime cannot create the pipe it uses for signals under the restricted token, so The advisory is delivered once per agent, only under a confining mode (under Two honest limits, since your suggestion 1 asks for the opposite. The plugin cannot relax the token — it never touches the sandbox's permissions, spawns nothing and sets no environment, so if the named pipe can be allowed for the restricted token that is an upstream change and this text does not pretend otherwise (it says so and does not offer Your session's choice — fall back to PowerShell instead of taking the terminal over and killing it — is exactly the behaviour this advisory is written to produce. |
Uh oh!
There was an error while loading. Please reload this page.
现象
同一个 Windows ACL 沙箱 runner、同一个
--mode read-only、同一个工作区,只换被执行的程序:cmd.exe /c "echo cmd-ok"cmd-okpwsh -NoLogo -NoProfile -Command "Write-Output pwsh-ok"pwsh-okD:\Git\bin\bash.exe -c "echo bash-ok"0 [main] bash (32652) D:\Git\bin\..\usr\bin\bash.exe: *** fatal error - couldn't create signal pipe, Win32 error 5-1073741502=0xC0000142⇒ 受限令牌下 MSYS2 运行时创建不了自己的信号管道,bash 在启动阶段就崩。
与
--temp/--workspace有没有给无关,也不是环境变量问题(同一条命令在沙箱外跑完全正常)。复现
影响
tool-bash在 win32 是disabled(@deepseek-ai/dsh-base/cordis.patch.yml:266-268,bash-sandbox同样 disabled,见:234-236),所以这条组合在上游很可能从未被覆盖过。
建议(任选)
tool-bash的 README 里明确写「Windows 沙箱下不支持 MSYS/Git Bash」,让下游能据此做降级;背景(怎么撞上的,可略)
一个把模型侧终端换成 Git Bash 的第三方插件,在接管前先跑一条自检命令;受限会话下自检失败 ⇒ 插件选择「不接管、保持 PowerShell」
(即宁可让位,也不把会话的 shell 打死)。顺着「为什么是零输出」这条线索,才定位到本贴与 runner 启动方式那个问题。
All reactions