vp aborts with SIGABRT when stdout is piped to a reader that exits early (| head)
I maintainer di solito rispondono entro 1 giorno
@naokihaba ci sta già lavorando.
Dal 16/9/2026.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 76/100
Direzione di ricerca
Inizia dal percorso di avvio di vp e dalla gestione di stdout nel thread principale; riproduci il problema con vp --version | head -n 1 e vp env list-remote --lts | head. Traccia la gestione di SIGPIPE e BrokenPipe, quindi verifica che i comandi con pipe troncate terminino silenziosamente senza SIGABRT o un coredump.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Repro (v0.3.1 linux-x64-gnu, also v0.3.0)
$ vp --version | head -n 1
vp v0.3.1
$ echo ${PIPESTATUS[0]}
134
Same with any command that prints, e.g. vp env list-remote --lts | head.
What happens
systemd-coredump records SIGABRT. Strings extracted from the core show the panic message:
thread 'main' panicked at library/std/src/io/stdio.rs:1168:9:
failed printing to stdout: Broken pipe (os error 32)
Root cause is the classic Rust EPIPE footgun: the runtime ignores SIGPIPE, println! panics on the resulting EPIPE error, and the binary is built with panic=abort, so a truncated pipe becomes SIGABRT plus a coredump.
Related
#223 fixed the same panic in a tokio-runtime-worker thread, but the main-thread print path is still affected in 0.3.1 — every vp subcommand that writes to stdout can hit it.
Expected
Exit quietly like standard Unix tools: restore SIG_DFL for SIGPIPE at startup (what ripgrep/bat/fd do), or swallow ErrorKind::BrokenPipe on stdout writes.
Impact beyond the crash itself
Each occurrence litters a systemd coredump, and crash-notification tooling that re-runs vp to investigate (e.g. an agent running vp --version | head) turns one abort into a self-amplifying crash loop — I watched one vp env list-remote abort cascade into several more vp --version aborts this way.
- Lingua principale
- Rust
- Stelle
- 6k
- Fork
- 274
- Merge medio
- 1g 13h
- PR unite (30g)
- 195
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di voidzero-dev/vite-plus
-
`npx --package=vite-plus vp create` fails with exit 127 when npm is the chosen package managerForse già presa @Crimson341 l’ha presa oggi. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
voidzero-dev/vite-plus#2970 ·
I maintainer di solito rispondono entro 1 giorno
-
pending triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
voidzero-dev/vite-plus#2882 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
voidzero-dev/vite-plus#2097 · 10 commenti · 2 reazioni ·
I maintainer di solito rispondono entro 1 giorno
-
Windows: PowerShell installer (1.1.0) does not add vite-plus\bin to user PATH — 'vp' not recognizedAperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 30/100
voidzero-dev/vite-plus#2984 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
pending triage
Difficoltà 3/5 1-2 giorni Idoneità per principianti 40/100
voidzero-dev/vite-plus#2983 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di voidzero-dev/vite-plus
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
eclipse-opensovd/classic-diagnostic-adapter#616 ·
I maintainer di solito rispondono entro 2 giorni
-
documentation
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 86/100
I maintainer di solito rispondono entro 1 giorno
-
track: content
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
0xAndersen/witness-log#10 ·
-
follow-up main-defect wave-A
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
carrick-sh/carrick#249 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
lugassawan/swe-workbench#799 ·
I maintainer di solito rispondono entro 1 giorno