Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Windows cached task hangs after first compound command when stdio pipe remains open

Offen
#485 1 Kommentar 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

@kazupon arbeitet bereits daran.

Seit 24.6.2026.

  • #486 von @kazupon — offen

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
52/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Ruhig
Tech-Stack
github-actions, rust

Rechercherichtung

Beginne mit dem gecachten Ausführungspfad und seiner Handhabung der stdout/stderr-Pipes von Windows-Kindprozessen, reproduziere dann den zusammengesetzten Befehl mithilfe des verknüpften Repro-Repositorys und vergleiche ihn mit dem Lauf mit --no-cache. Als abgeschlossen gilt die Aufgabe, wenn der gecachte Windows-Lauf nach dem Beenden des ersten Kindprozesses mit dem zweiten Befehl fortfährt, ohne einen verwaisten vctip-Prozess zurückzulassen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

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.

Vorherrschende Sprache
Rust
Sterne
473
Forks
44
Ø Merge
1 T. 7 Min.
Gemergte PRs (30 T.)
56

Entwicklungsumgebung

In Codespaces öffnen

Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus voidzero-dev/vite-task

Alle Issues in voidzero-dev/vite-task

Ähnliche Issues

Weitere Issues zu Rust

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.