vp run: automatic input tracking crashes Git for Windows sh.exe child (Win32 error 487)
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 55/100
Rechercherichtung
Start by reading the vp run task caching and automatic input tracking paths; the report does not name implementation files or tests. Reproduce with the linked gist on Windows using Git for Windows sh.exe, comparing the automatic and explicit input configurations. Done when the automatic-tracking task runs the shell command successfully while preserving the reported cache behavior.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Describe the bug
On Windows, a cache-enabled vp run task using default automatic input tracking makes a Git for Windows sh.exe child fail before executing its command:
0 [main] sh (...) C:\Program Files\Git\usr\bin\sh.exe: *** fatal error - MapViewOfFileEx 'shared.5'(0x120, size 59320, m 0, created 0), Win32 error 487. Terminating.
The same Node script succeeds with cache: false or explicit cache.input files. Both tracked variants use output: [], isolating the input-tracking configuration. The mapping-failure mechanism itself has not been diagnosed.
This breaks shell-using automation and test commands when adopting default task caching. Explicit input lists permit caching as a workaround, but require maintaining the dependency list manually.
Reproduction
https://gist.github.com/d3lay/a3102d1ed956f133d29ed4e9f186360b
Five synthetic files, with no application code, Vitest tests, credentials, hooks or Git repository required. Verified with a fresh public-registry installation outside every project checkout. The repro pins vite-plus to 1.3.0; the same failure was also observed with 1.1.0.
The entire program under test is:
import { spawnSync } from 'node:child_process'
const result = spawnSync('sh', ['-c', 'printf ok'], { encoding: 'utf8' })
process.stdout.write(result.stdout ?? '')
process.stderr.write(result.stderr ?? '')
if (result.error) console.error(result.error.message)
process.exitCode = result.status ?? 1
Steps to reproduce
Save the gist files together in an empty directory. With Git for Windows sh.exe on PATH:
pnpm install --ignore-scripts
pnpm exec vp cache clean
pnpm exec vp run uncached
pnpm exec vp run automatic
pnpm exec vp run explicit
pnpm exec vp run explicit
Expected: all task variants print ok and exit 0.
Observed after clearing the fixture cache:
| Task | Configuration | Result |
|---|---|---|
uncached |
cache: false |
ok, exit 0 |
automatic |
cache: { output: [] } |
sh.exe mapping failure, task exit 1 |
explicit |
explicit input files, output: [] |
ok, exit 0 |
explicit, unchanged second run |
same | cache hit, replayed ok, exit 0 |
There is no Vite/Vitest/bundler invocation in the task; it is only Node launching sh. No system mitigation or ACL settings were changed for these controls.
System Info
- Windows 11, OS build 10.0.26300, x64
- Node.js 26.10.0
- pnpm 12.8.2
- Git for Windows 2.55.0.windows.3
sh --version: GNU bash 5.3.15(1)-release (x86_64-pc-cygwin)- Failing child executable:
C:\Program Files\Git\usr\bin\sh.exe
Package-local pnpm exec vp --version in the reproduction:
vp v1.3.0
Local vite-plus:
vite-plus v1.3.0
Tools:
vite v8.3.4
rolldown v1.2.14
vitest v5.0.5
oxfmt v0.73.0
oxlint v1.88.0
oxlint-tsgolint v7.0.2004
tsdown v0.23.1
The package-local CLI reports that vp env current is available only through the global CLI. The global CLI manages the Node/pnpm versions above; its environment report is below with user-specific installation paths redacted:
Node.js:
Version 26.10.0
Source .node-version
Bin Path <user-home>\AppData\Local\vite-plus\data\js_runtime\node\26.10.0\node.exe
Installed true
Mode managed
Package Manager:
Name pnpm
Version 12.8.2
Source packageManager
Bin Paths
pnpm <user-home>\AppData\Local\vite-plus\data\package_manager\pnpm\12.8.2\pnpm\bin\pnpm.exe
pnpx <user-home>\AppData\Local\vite-plus\data\package_manager\pnpm\12.8.2\pnpm\bin\pnpx.exe
Installed true
Mode managed
Used Package Manager
pnpm
Validations
- Read the contributing guidelines.
- Searched existing reports for MapViewOfFileEx, Win32 error 487, MSYS, and Git Bash/task caching; no matching report found.
- Isolated to the
vp runautomatic-tracking path rather than an application or Vite/Vitest/Rolldown/Oxc invocation. - Provided a minimal runnable reproduction with uncached, explicit-input and warm-cache controls.
- Vorherrschende Sprache
- Rust
- Sterne
- 6.5k
- Forks
- 297
- Ø Merge
- 1 T. 1 Std.
- Gemergte PRs (30 T.)
- 249
Entwicklungsumgebung
Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus voidzero-dev/vite-plus
-
triage: not actionable
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
voidzero-dev/vite-plus#3296 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
pending triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 63/100
voidzero-dev/vite-plus#3235 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Docker guide: the runtime stage needs libatomic1 for Node.js 25 and laterEvtl. vergeben @kshanxs hat das vor 11 Tagen übernommen. Offendocumentation
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
voidzero-dev/vite-plus#3219 · 2 Kommentare · 1 Reaktion ·
Maintainer antworten meist innerhalb von 1 Tag
-
pending triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
voidzero-dev/vite-plus#2882 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
vp staged reports a saved recovery patch that is missing after restore failure on WindowsEvtl. vergeben @voidzero-bot hat das heute übernommen. Offen- P3: minor bug triage: fix verified
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 25/100
voidzero-dev/vite-plus#3356 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in voidzero-dev/vite-plus
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 86/100
Maintainer antworten meist innerhalb von 1 Tag
-
`nsh-core` fails to compile when taffy's default `calc` feature is enabled elsewhere in the graphOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
longbridge/nsh#966 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Windows docs: pin a tested ConPTY version for Kitty graphics; 1.25.260930003 corrupts large uploadsOffen
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 88/100
raphamorim/rio#2021 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
hydro-project/infinity#187 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 77/100
near/near-sdk-rs#1676 ·
Maintainer antworten meist innerhalb von 2 Tagen