A cache hit whose outputs can't be restored exits 0 and is reported as a hit
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 68/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- rust
- 領域
- build-system, cli
調査の方向性
Reproduce the failure with vp run build after deleting the task archive under node_modules/.vite/task-cache/, then inspect the cache-hit restoration and task-summary paths used by vp run --last-details. Done means a failed restore produces a non-zero exit, is shown as a task failure rather than a cache hit, and does not leave the broken cache entry for later runs.
索引モデルが issue の本文から書いたものです。
説明
When vp run gets a cache hit but can't restore the task's output files, for example because the cached archive was deleted or is corrupt, it prints an error, but:
- the run exits with code 0, so CI passes without the task's outputs;
- the summary line still says
cache hit; vp run --last-detailsshows the task with ✓ as a cache hit, without the error.
The broken entry also stays in the cache, so every later run hits it and fails the same way until vp cache clean.
Remote caching makes this easier to reach. An entry from the remote cache is saved locally before its outputs are restored, so an archive that downloads but can't be restored leaves the same broken entry behind (#756).
Steps to reproduce
- Run a cached task that has output files, such as
vp run build. - Delete its
.tar.zstarchive undernode_modules/.vite/task-cache/. - Run
vp run buildagain and check the exit code, then runvp run --last-details.
$ … ◉ cache hit, replaying
✗ Cache lookup failed: failed to restore cached outputs from …/node_modules/.vite/task-cache/v18/….tar.zst; the archive may have been deleted or corrupted. Run `vp cache clean` to clear the cache.: No such file or directory (os error 2)
---
vp run: cache hit, 94ms saved.
The exit code is 0, and --last-details shows:
Statistics: 1 tasks • 1 cache hits • 0 cache misses
...
[1] my-package#build: $ … ✓
→ Cache hit - output replayed - 94ms saved
Expected: the run fails with a non-zero exit code, the summary reports the task as failed with its error, and later runs don't keep hitting the broken entry.
- 主要言語
- Rust
- スター
- 468
- フォーク
- 42
- 平均マージ
- 1日 10時間
- マージ済み PR(30日)
- 43
環境構築
このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
voidzero-dev/vite-task のほかの issue
-
fspy misses Bun file reads on Linux (glibc), so cached tasks replay stale output対応中かも @wan9chi が今日担当しました。 オープンfspy
voidzero-dev/vite-task#777 · コメント 1 件 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
remote cache
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
voidzero-dev/vite-task#768 ·
メンテナーはふだん 1 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
voidzero-dev/vite-task#738 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 3/5 1〜2日 初心者へのやさしさ 78/100
voidzero-dev/vite-task#719 ·
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
voidzero-dev/vite-task#717 ·
メンテナーはふだん 1 日以内に返信
voidzero-dev/vite-task の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 3 日以内に返信
-
state:triage-needed
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
Automattic/harper#4503 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 92/100
メンテナーはふだん 2 日以内に返信