Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

consumer_acceptance: an inherited EIGENSCRIPT_GFX selects a stale graphics runtime while the row PASSes

Open
#1,301 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
55/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
shell
Domain
testing-qa

Research direction

Start with tests/run_debug_ui_oracle.sh:11 and inspect the 16 consumer scripts to identify the runtime-selector variables they read. Run the critic fixture at /tmp/critic-ca/repro_gfx_env.py against the harness, then verify the row records overridden selectors and reports FAIL or UNRUNNABLE rather than PASS.

Written by the indexing model from the issue text.

Description

area:gates found-by:critic kind:silent-wrong

Found by the blind critic on the #1275 consumer_acceptance shrink (e283521). It is pre-existing: the old harness at 88ba928 behaves the same way.

Problem. A consumer that picks its graphics runtime from an inherited environment variable can run a stale binary while its row reads PASS. DMG's real selector is tests/run_debug_ui_oracle.sh:11: EIGS="$(dmg_runtime "$ROOT_DIR" "${EIGENSCRIPT_GFX:-${EIGENSCRIPT_BIN:-}}")". If EIGENSCRIPT_GFX is inherited from the caller's environment, it points at an absolute path the harness does not control. The row's headless candidate call is counted, so cand_calls>0 and the row PASSes, even though the graphics program ran on a different runtime.

Reproduce (critic's fixture: a byte-copy of DMG's tests/runtime.sh plus that selector line). The reproducer lives on the dev box, at /tmp/critic-ca/repro_gfx_env.py <harness>. Both harnesses: PASS, while executable-side logs show the stale graphics runtime ran the graphics program.

Done when:

  • The harness either unsets or overrides the runtime-selector variables consumers are known to read (EIGENSCRIPT_GFX, EIGENSCRIPT_BIN, EIGS, EIGENSCRIPT: derive the list from the 16 consumers' scripts, not by hand). Overriding points them at the counting shims, or at a 127 shim when the variant is not supplied.
  • The critic's fixture run against the harness reads FAIL, or UNRUNNABLE by name, instead of PASS.
  • The row record names which selector variables were overridden.
Dominant language
C
Stars
3
Forks
7
Avg merge
4h 15m
Merged PRs (30d)
106

Getting set up

Open in Codespaces

Starts the project's dev container in your browser, under your own GitHub account.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from InauguralSystems/EigenScript

All issues in InauguralSystems/EigenScript

Similar issues

More C issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.