tools/enrolment_check.sh: a crashing enrolment_edges.py is not reported as ABORTED (|| reads sort's status)
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 62/100
Research direction
The bug is in tools/enrolment_check.sh around line 110, where the pipeline python3 tools/enrolment_edges.py . | sort -u > "$EDGES" is followed by ||, which reads sort's exit status rather than the deriver's. Check how the script sets up pipefail or PIPESTATUS, then plant raise SystemExit(1) in tools/enrolment_edges.py main and run bash tools/enrolment_check.sh; echo rc=$?. Done means one ABORTED line naming the deriver and its status, a nonzero exit, a selftest case in tools/selftests.txt with its count pin updated, and unchanged counts on an unplanted run.
Written by the indexing model from the issue text.
Description
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.shprints one ABORTED line namingtools/enrolment_edges.pyand its exit status, and exits nonzero, with no per-program invocation lines. -
tools/enrolment_check.sh --selftestcarries that plant as a case (count pin intools/selftests.txtupdated in the same PR). - An unplanted run is unchanged (same examined/enrolled counts).
Generated by Claude Code
- Dominant language
- C
- Stars
- 3
- Forks
- 7
- Avg merge
- 6h 21m
- Merged PRs (30d)
- 323
Getting set up
Starts the project's dev container in your browser, under your own GitHub account.
- Ships a Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from InauguralSystems/EigenScript
-
needs-triage
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
InauguralSystems/EigenScript#2311 · 1 comment ·
Maintainers usually reply within 1 day
-
area:ci bug found-by:duet-audit
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
InauguralSystems/EigenScript#2283 ·
Maintainers usually reply within 1 day
-
area:docs found-by:duet-audit kind:docs-drift
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
InauguralSystems/EigenScript#2282 · 1 comment ·
Maintainers usually reply within 1 day
-
X11 title and ctype tests pick their display from $$ and can silently attach to a foreign X serverOpenarea:gfx kind:bug
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
InauguralSystems/EigenScript#2216 ·
Maintainers usually reply within 1 day
-
area:gfx kind:bug
Difficulty 1/5 1-3 hours Newbie friendliness 90/100
InauguralSystems/EigenScript#2215 ·
Maintainers usually reply within 1 day
All issues in InauguralSystems/EigenScript
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
arduino/ArduinoCore-megaavr#152 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
FujiNetWIFI/fujinet-firmware#2261 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
kivy/python-for-android#3405 · 1 reaction ·
Maintainers usually reply within 1 day
-
Nmap
Difficulty 1/5 Under an hour Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
`nuklear.h` shows old versionPossibly taken @TomJGooding claimed this today. Open
Difficulty 1/5 Under an hour Newbie friendliness 72/100
Immediate-Mode-UI/Nuklear#1004 ·