Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Host contract: the runtime flips the PROCESS's SIGPIPE to SIG_IGN on the first proc_spawn (and on http bind) and never restores it; print ignores flush errors, so a pipeline into head runs to completion and exits 0

Abierto
#1,151 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
48/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
c

Línea de trabajo

Start with the probe files in ~/src/wt/briefs/conc-review/probes-{A,B,C}/ and inspect proc_install_sigpipe_ignore in src/builtins_host.c, http_early_bind/http_serve in src/ext_http.c, and print in src/builtins.c. Reproduce the pipeline behavior, then verify that writes no longer change the host's SIGPIPE disposition, print handles flush errors, and eigs_embed.h documents remaining process-global dispositions.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

area:runtime-vm bug

Found by the 2026-09-14 whole-runtime concurrency review (three independent reviewers, every finding below reproduced by execution on main @ a18deac unless marked reading). Probe files live in ~/src/wt/briefs/conc-review/probes-{A,B,C}/.

proc_install_sigpipe_ignore src/builtins_host.c:1437-1438 via pthread_once :1465; http_early_bind/http_serve do the same unconditionally (src/ext_http.c:604, :1792). print is fflush(stdout) with no error check (src/builtins.c:78-209).

Observed

p is proc_spawn of (["true"])
i is 0
loop while i < 200000:
    print of f"line {i}"
    i is i + 1

… | head -1: control (no spawn) rc=141 (SIGPIPE) in 0.03 s; with the spawn rc=0 in 0.59 s, stderr empty — 200k prints into a closed pipe, silently. For an embedder, the first subprocess or HTTP bind replaces the host's own SIGPIPE disposition process-wide; eigs_embed.h says nothing (SIGUSR1 is CLI-only, src/main.c:169-174).

Fix direction

Per-write suppression (MSG_NOSIGNAL on sockets; for pipes, block/unblock SIGPIPE around the write or use a save/restore) instead of a process-wide flip; make print check the flush and raise or exit on EPIPE; document the remaining process-global dispositions in eigs_embed.h.

Lenguaje dominante
C
Estrellas
3
Forks
7
Merge medio
4 h 5 min
PR fusionados (30 d)
116

Preparar el entorno

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de InauguralSystems/EigenScript

Todos los issues de InauguralSystems/EigenScript

Issues similares

Más issues de C

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.