Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

CI: add a tsan-http lane — the stock tsan target compiles ext_http.c out, and #1137 was only found by an ad-hoc one

Aperta
#1,139 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
73/100
Tipo di issue
Funzionalità
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
c, shell

Direzione di ricerca

Start with the Makefile's existing asan-http target and comment, then inspect the CI configuration and tests/http_readiness.py sections [44], [45a], and [45b]. Add the tsan-http build and CI lane with setarch -R and TSAN_OPTIONS=halt_on_error=1, and run the seeded-race control from tests/test_tsan.sh against it so the lane passes normally and detects the intentional race.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

area:ci kind:gate-defect

Gap

make tsan builds SRC_V_tsan := $(SOURCES) with $(DEFS_OFF), so ThreadSanitizer never sees ext_http.c — the repo's most concurrent code (thread-per-connection workers, per-worker EigsState, the init responder thread, the shared store). ASan got an asan-http variant for the same structural reason (see the Makefile comment above that target); TSan never did.

Evidence

PR #1138's exit ring built an ad-hoc variant:

make 'VARIANTS=tsan-http-check' 'SRC_V_tsan-http-check=$(SRC_V_asan-http)' \
  'FLAGS_tsan-http-check=$(filter-out $(DEFS_OFF),$(FLAGS_tsan)) -DEIGENSCRIPT_EXT_HTTP=1 -DEIGENSCRIPT_EXT_MODEL=1 -DEIGENSCRIPT_EXT_NET=1 -DEIGENSCRIPT_EXT_DB=0' \
  'LIBS_tsan-http-check=$(LIBS_tsan)' build/tsan-http-check/eigenscript

and ran tests/http_readiness.py against it under setarch -R with TSAN_OPTIONS=halt_on_error=1. It found #1137 (a pre-existing data-race class: g_builtin_binding_count plus four lazily-initialised env caches, all plain globals first written by whichever worker thread asked first) on its first run. The stock tsan CI lane was green throughout.

Ask

  1. A tsan-http Makefile target mirroring asan-http (HTTP+MODEL+NET on, DB off).
  2. A CI lane that builds it and runs at least the HTTP sections of the suite ([44], [45a], [45b]) under setarch -R with halt_on_error=1 — [45a] alone drives 256 concurrent connections and is what surfaced #1137.
  3. tests/test_tsan.sh's seeded-race control should run against this variant too, so the lane proves it can go red.
Lingua principale
C
Stelle
3
Fork
7
Merge medio
4h 7m
PR unite (30g)
112

Preparare l'ambiente

Apri in Codespaces

Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di InauguralSystems/EigenScript

Tutte le issue di InauguralSystems/EigenScript

Issue simili

Altre issue su C

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.