Windows cached task hangs after first compound command when stdio pipe remains open
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 52/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 冷清
- 技术栈
- github-actions, rust
- 领域
- cli, operating-systems
调研方向
先从缓存执行路径及其对 Windows 子进程 stdout/stderr 管道的处理入手,然后使用链接的复现仓库重现组合命令,并将其与使用 --no-cache 的运行进行比较。完成的标准是:第一个子进程退出后,缓存的 Windows 运行会继续执行第二个命令,且不会留下孤立的 vctip 进程。
由索引模型根据 Issue 内容生成。
描述
Summary
On Windows, a cached vp run task can hang after the first command in a compound script has completed, before the next && command starts.
This was reproduced with a script shape similar to:
{
"scripts": {
"test": "cargo test -p ox_mf2_parser --all-targets --color always && vp test"
}
}
Reproduction
Repro repo: https://github.com/kazupon/vite-task-windows-issue-1
(cause repo: https://github.com/intlify/intlify)
In GitHub Actions, the normal cached Windows run hangs, while the Windows --no-cache control run completes successfully.
Observed behavior
The cached run prints and completes the cargo test output, but never prints or starts the following $ vp test command.
Process snapshots show only the vpr / vp / node runner process tree remaining. No cargo, rustc, or vitest process remains. At workflow cleanup, GitHub Actions reports an orphaned vctip process.
Expected behavior
After the direct child process for the first command exits, the runner should observe completion and continue to the next && command, even if a descendant temporarily keeps stdout/stderr handles open.
Suspected cause
The cached execution path drains piped stdout/stderr before awaiting the direct child process. On Windows, if a descendant keeps an inherited pipe handle open, EOF never arrives, so the runner never reaches child wait or Windows Job Object cleanup.
- 主要语言
- Rust
- 星标
- 466
- 派生
- 42
- 平均合并
- 1 天 20 小时
- 30 天内合并 PR
- 21
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
voidzero-dev/vite-task 的其他 Issue
-
难度 5/5 一周以上 新手友好度 35/100
voidzero-dev/vite-task#738 · 1 条评论 ·
-
难度 3/5 1-2 天 新手友好度 78/100
voidzero-dev/vite-task#719 ·
-
难度 4/5 3-5 天 新手友好度 48/100
voidzero-dev/vite-task#717 ·
-
难度 3/5 1-2 天 新手友好度 68/100
voidzero-dev/vite-task#702 ·
-
难度 4/5 3-5 天 新手友好度 48/100
voidzero-dev/vite-task#700 · 2 条评论 ·
查看 voidzero-dev/vite-task 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 75/100
-
state:needs triage
难度 2/5 1-3 小时 新手友好度 70/100
zed-industries/zed#64680 · 2 条评论 ·
-
难度 2/5 1-3 小时 新手友好度 70/100
-
难度 2/5 1-3 小时 新手友好度 70/100
RustPython/RustPython#8802 ·
-
难度 2/5 1-3 小时 新手友好度 75/100
TheLarkInn/aipm#2390 ·