zerocopy_with_qd: intermittent early quiescence in the two-process run on reconverse (macOS CI, 1 of ~10)
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 22/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- cpp
- Ambito
- distributed-systems, hpc, testing
Direzione di ricerca
Start from tests/charm++/zerocopy/zerocopy_with_qd/zerocopy_with_qd.C around the srcCompletedCounter assert (line 78) and the Direct-API / QD path. The report points at a residual window between RMA completion, QD decrement, and callback delivery (CMK_ONESIDED_IMPL; reconverse #222). Reproduce by looping the two-process case (lcrun -n 2 ./zerocopy_with_qd +pe 6 142) on macOS arm64. Done means the two-process run no longer declares QD early; this is a race, not a one-file edit.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
tests/charm++/zerocopy/zerocopy_with_qd failed once on the reviewed line's macOS CI job (reconverse-darwin-arm64), in the two-process run (+p6, 142 elements), and passed on an immediate rerun of the same commit. It has otherwise passed in every run since it joined the reconverse CI tier in #3974 (2026-09-11): about ten macOS runs across pushes and PR builds, including the PR build of #3977 47 minutes before the failure.
- Failed: run 34771593767 attempt 1, push of
a30605e0b(#3977 merge), 2026-09-13 17:26 UTC. https://github.com/charmplusplus/charm/actions/runs/34771593767/attempts/1 - Passed: attempt 2 of the same run, same commit, 2026-09-14 00:02 UTC.
- The merge commit changed only
tests/reconverse-site-run.sh, which CI does not execute, so the code under test was identical to the passing PR build. - Linux x86_64, Linux arm64 and the stress job passed on the same commit.
Failure
testrun(reconverse): .../_deps/lci-src/lcrun -n 2 ./zerocopy_with_qd +pe 6 142
Reconverse> Starting Reconverse with 2 processes, 6 PEs (1 PE = 1 thread), and 3 PEs per process
[0][0][0] Test 1: QD has been reached for RO Variable Bcast
Assertion srcCompletedCounter == 3*numElements/2 failed: file zerocopy_with_qd.C, line 78
------- Processor 0 Exiting: Called CmiAbort ------
Reason: Failed assert
Reading
Phase 2 of the test (Direct API). Quiescence was declared while the completion counters were short of 3*numElements/2. The assertion on line 77, srcCompletedCounter == destCompletedCounter, passed first, so source and destination callbacks agreed with each other and both were short: QD fired early on the two-process path rather than one side losing an acknowledgement. This is the same area reconverse #222 touched (one quiescence count per Direct-API RDMA operation, CMK_ONESIDED_IMPL), so a residual window between the RMA completion, the QD decrement and the callback delivery is the first place to look.
To reproduce
Loop the two-process case on macOS arm64 (or any two-process reconverse build):
cd tests/charm++/zerocopy/zerocopy_with_qd && make
for i in $(seq 1 200); do lcrun -n 2 ./zerocopy_with_qd +pe 6 142 || { echo FAIL $i; break; }; done
Related: reconverse #222 (fix that made this test reach QD with two processes), reconverse #223 (a different two-process zerocopy failure, zc_post_modify_size).
🤖 Generated with Claude Code
- Lingua principale
- C++
- Stelle
- 241
- Fork
- 62
- Merge medio
- 1g 1h
- PR unite (30g)
- 121
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
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 charmplusplus/charm
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
charmplusplus/charm#4210 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
charmplusplus/charm#4160 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
charmplusplus/charm#3619 · 4 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 52/100
charmplusplus/charm#4204 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 49/100
charmplusplus/charm#4200 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di charmplusplus/charm
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
I maintainer di solito rispondono entro 1 giorno
-
[BUG] VPN auth dialog spawned by the secret agent fails with "TLS support is not available" on NixOSApertabug nixos umbriel
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
noctalia-dev/noctalia#5310 ·
I maintainer di solito rispondono entro 1 giorno
-
area/docdb kind/bug priority/medium status/awaiting-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
yugabyte/yugabyte-db#37426 ·
I maintainer di solito rispondono entro 1 giorno
-
Turn on if screen is touchedAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 63/100