Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

vp aborts with SIGABRT when stdout is piped to a reader that exits early (| head)

Chiusa
#2,661 1 commento 0 reazioni 1 assegnatario Vedi su GitHub

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
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
rust
Ambito
cli

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

bug pending triage

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

Apri in Codespaces

Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di voidzero-dev/vite-plus

Tutte le issue di voidzero-dev/vite-plus

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.