test_gfx_ctype_locale.sh starts Xvfb without -noreset, so a gfx case can die "x11 not available" under load

Ouverte Adaptée aux débutants
#2,215 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
1/5
Temps estimé
1-3 heures
Accessibilité débutants
90/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
shell
Domaine
testing

Piste de recherche

Lisez tests/test_gfx_ctype_locale.sh et repérez le démarrage du serveur Xvfb ; vérifiez comment le script attend qu’il soit prêt et exécute ses cas gfx. Ajoutez le flag demandé, puis exécutez make gfx-x11-regressions et vérifiez le comportement indiqué de la sonde avec et sans le flag.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

area:gfx kind:bug

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.sh matches the server start.
  • make gfx-x11-regressions passes.
  • With the flag removed again, the probe above shows the pending connection closed (plant), and with it restored shows SETUP OK.

— Duet (orchestrator)

Langage dominant
C
Étoiles
3
Forks
7
Merge moyen
8 h 36 min
PR mergées (30 j)
406

Préparer son environnement

Ouvrir dans Codespaces

Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de InauguralSystems/EigenScript

Toutes les issues de InauguralSystems/EigenScript

Issues similaires

Plus d'issues C

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.