ILP32 gate examines TUs as they are AFTER the recipe, not as the recording call saw them
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 38/100
Research direction
Start with the retained reproducer at /tmp/critic-astra-r6-plants/2-temporal-source/tools/ilp32_syntax_check.sh and trace the recording stand-in through examine_tus and compile_tu. Ensure each recorded call uses its own input-TU snapshot rather than the later sandbox contents, then verify the reproducer catches the first invocation's fault.
Written by the indexing model from the issue text.
Description
Stated residual from PR #1225 round 7 (item 10; Astra's rank 3 on head 1b5c64d).
examine_tus reads each translation unit from the sandbox after the whole recipe has finished, not from a snapshot taken at the call that recorded it. So a recipe that writes #error into a unit, compiles it, then overwrites that same path with valid C before a later call is examined on the later bytes and passes, while the real first invocation saw the fault.
Reproducer (Astra, retained): bash /tmp/critic-astra-r6-plants/2-temporal-source/tools/ilp32_syntax_check.sh — the standalone gate passes 24 TUs; the actual frontend rejects the first call. A full-runner escape was not claimed for this shape.
Closing it means the recording stand-in copies (or hashes and copies) each call's own input TUs into that call's record directory, and examine_tus/compile_tu read the snapshot rather than the live sandbox path. That is a recorder redesign, not a local edit, which is why round 7 stated it instead of rushing it after the flags work (#1232) needed two follow-up fixes of its own.
Same family as #1232: the gate's compilation context must be the recipe's context, in time as well as in flags.
Refs #1165 #1225 #1232.
- Dominant language
- C
- Stars
- 3
- Forks
- 7
- Avg merge
- 4h 7m
- Merged PRs (30d)
- 112
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
-
area:embed kind:silent-wrong
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
InauguralSystems/EigenScript#1387 ·
Maintainers usually reply within 1 day
-
area:stdlib kind:silent-wrong
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
InauguralSystems/EigenScript#1378 ·
Maintainers usually reply within 1 day
-
area:gates kind:gate-defect
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
InauguralSystems/EigenScript#1374 ·
Maintainers usually reply within 1 day
-
Error carets pad multi-byte UTF-8 byte-for-byte, so the ^ lands right of the token on a terminalOpenarea:lint-tooling kind:silent-wrong
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
InauguralSystems/EigenScript#1373 ·
Maintainers usually reply within 1 day
-
area:gates kind:docs-drift
Difficulty 1/5 Under an hour Newbie friendliness 88/100
InauguralSystems/EigenScript#1372 ·
Maintainers usually reply within 1 day
All issues in InauguralSystems/EigenScript
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
BasedHardware/omi#19711 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
microsoft/ebpf-for-windows#5604 ·
Maintainers usually reply within 3 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
trezor/trezor-firmware#7985 ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Maintainers usually reply within 2 days