consumer_acceptance: an inherited EIGENSCRIPT_GFX selects a stale graphics runtime while the row PASSes
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
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
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:lint-tooling bug
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
InauguralSystems/EigenScript#1340 ·
Maintainers usually reply within 1 day
-
area:stdlib found-by:code-review kind:silent-wrong
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
InauguralSystems/EigenScript#1338 ·
Maintainers usually reply within 1 day
-
area:lint-tooling found-by:critic kind:docs-drift
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
InauguralSystems/EigenScript#1335 ·
Maintainers usually reply within 1 day
-
area:ci found-by:critic kind:gate-defect
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
InauguralSystems/EigenScript#1311 ·
Maintainers usually reply within 1 day
-
enrolment: decide test_gc_runner_controls.py (exempt vs enrol) and whether floors need a ratchetOpenarea:gates found-by:critic kind:decision
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
InauguralSystems/EigenScript#1280 · 1 comment ·
Maintainers usually reply within 1 day
All issues in InauguralSystems/EigenScript
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
ARM-software/sysarch-acs#556 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
bug needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
netdata/netdata#24062 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100