test_gfx_ctype_locale.sh starts Xvfb without -noreset, so a gfx case can die "x11 not available" under load
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 1/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 90/100
Research direction
Read tests/test_gfx_ctype_locale.sh and locate the Xvfb server start; check how the script waits for readiness and runs its gfx cases. Add the requested flag, then run make gfx-x11-regressions and verify the stated probe behavior with and without the flag.
Written by the indexing model from the issue text.
Description
Found while fixing #2204 (PR #2214).
tests/test_gfx_ctype_locale.sh (also run by make gfx-x11-regressions) starts Xvfb "$DISPLAY_NUM" -screen 0 640x480x24 with no -noreset, then runs three gfx programs back to back after an xdpyinfo readiness poll. Xvfb resets every time its last established client disconnects, and a reset kills any connection still in its handshake. This is the same race that made test_gfx_utf8_title.sh fail with gfx_open: SDL_Init failed: x11 not available.
Deterministic probe (Python, from the #2214 evidence): open a raw unix-socket connection to the display, let one other client connect and disconnect, then send the X11 setup request.
- plain
Xvfb:pending client: CLOSED by server Xvfb -noreset:pending client: SETUP OK
In this script a gfx case that loses the race prints different output, so the cmp check fails with "ctype builtin output depends on gfx or the environment locale". That would point the reader at the wrong cause.
Done when
-
grep -n 'Xvfb .*-noreset' tests/test_gfx_ctype_locale.shmatches the server start. -
make gfx-x11-regressionspasses. - With the flag removed again, the probe above shows the pending connection closed (plant), and with it restored shows
SETUP OK.
— Duet (orchestrator)
- 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
-
needs-triage
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
InauguralSystems/EigenScript#2305 · 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
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 ·