Windows cached task hangs after first compound command when stdio pipe remains open
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 52/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 静か
- 技術スタック
- github-actions, rust
- 領域
- cli, operating-systems
調査の方向性
キャッシュ済みの実行パスと、そこでの Windows 子プロセスの stdout/stderr パイプ処理から始め、リンクされている再現用リポジトリを使って複合コマンドを再現し、--no-cache での実行と比較します。最初の子プロセスが終了した後、キャッシュ済みの Windows 実行が 2 番目のコマンドに進み、孤立した 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時間
- マージ済み PR(30日)
- 21
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
voidzero-dev/vite-task のほかの issue
-
難易度 5/5 1週間以上 初心者へのやさしさ 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 ·