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
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
- Ambito
- build-system, ci-cd, testing-qa
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
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
- A
tsan-httpMakefile target mirroringasan-http(HTTP+MODEL+NET on, DB off). - A CI lane that builds it and runs at least the HTTP sections of the suite ([44], [45a], [45b]) under
setarch -Rwithhalt_on_error=1— [45a] alone drives 256 concurrent connections and is what surfaced #1137. 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
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di InauguralSystems/EigenScript
-
area:embed kind:silent-wrong
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
InauguralSystems/EigenScript#1387 ·
I maintainer di solito rispondono entro 1 giorno
-
area:stdlib kind:silent-wrong
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
InauguralSystems/EigenScript#1378 ·
I maintainer di solito rispondono entro 1 giorno
-
area:gates kind:gate-defect
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
InauguralSystems/EigenScript#1374 ·
I maintainer di solito rispondono entro 1 giorno
-
Error carets pad multi-byte UTF-8 byte-for-byte, so the ^ lands right of the token on a terminalApertaarea:lint-tooling kind:silent-wrong
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
InauguralSystems/EigenScript#1373 ·
I maintainer di solito rispondono entro 1 giorno
-
area:gates kind:docs-drift
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
InauguralSystems/EigenScript#1372 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di InauguralSystems/EigenScript
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
-
[Issue]: Headers - vx_ext_amd.h does not compile as C (enum types used without the enum keyword)Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
Qiskit/qiskit#17079 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno