tools/enrolment_check.sh: a crashing enrolment_edges.py is not reported as ABORTED (|| reads sort's status)

Abierto Apto para principiantes
#2,305 1 comentario 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
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
62/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
python, shell
Área
tooling

Línea de trabajo

El error está en tools/enrolment_check.sh alrededor de la línea 110, donde la tubería python3 tools/enrolment_edges.py . | sort -u > "$EDGES" va seguida de ||, que lee el estado de salida de sort en lugar del del deriver. Revisa cómo el script configura pipefail o PIPESTATUS, luego coloca raise SystemExit(1) en main de tools/enrolment_edges.py y ejecuta bash tools/enrolment_check.sh; echo rc=$?. Está listo cuando hay exactamente una línea ABORTED que nombra el deriver y su estado, la salida es distinta de cero, existe un caso de selftest en tools/selftests.txt con su valor de recuento actualizado, y los recuentos no cambian en una ejecución sin la modificación.

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

Descripción

needs-triage

tools/enrolment_check.sh:110 runs

python3 tools/enrolment_edges.py . | sort -u > "$EDGES" || { ... ABORT ... }

without pipefail, so the || reads sort's status. If the deriver crashes (traceback, rc 1), sort still exits 0 on whatever partial output it got, and the gate does not report ABORTED: it surfaces only as a flood of has no suite invocation lines for every program, which reads as hundreds of enrolment failures rather than one broken tool.

Found while working on hq#58 (InauguralSystems/hq#58, branch claude/ci58-es-2a-fragments); not changed there because #1776 rewrites this file.

Repro (plant)

Insert raise SystemExit(1) (or 1/0) at the top of main in tools/enrolment_edges.py, then bash tools/enrolment_check.sh; echo rc=$? -> per-program "invoked by nothing" FAILs, no ABORT line naming the deriver.

Done when
  • With the deriver planted to crash, tools/enrolment_check.sh prints one ABORTED line naming tools/enrolment_edges.py and its exit status, and exits nonzero, with no per-program invocation lines.
  • tools/enrolment_check.sh --selftest carries that plant as a case (count pin in tools/selftests.txt updated in the same PR).
  • An unplanted run is unchanged (same examined/enrolled counts).

Generated by Claude Code

Lenguaje dominante
C
Estrellas
3
Forks
7
Merge medio
6 h 21 min
PR fusionados (30 d)
323

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.