CreateNode deadline timer retains disposed mesh hub until operation budget
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 30/100
Direzione di ricerca
Start from MeshExtensions.HandleCreateNodeRequest and the Timeout.Absolute fallback that captures the handler closure, then trace what MessageHub the closure still references. Run MeshHubDisposalLeakTest.MeshHub_IsCollected_AfterMeshAndServiceProviderDisposal to reproduce. Done when that test passes, the create lifecycle tests stay green, and the post-creation timer callbacks are cleared when the handler chain ends.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Symptom
Plugins PR #3159 CI run 37756688023 failed MeshHubDisposalLeakTest.MeshHub_IsCollected_AfterMeshAndServiceProviderDisposal with a non-stack GC root after the mesh and service provider were disposed. The ClrMD path was:
LocalScheduler.WorkItem → Timeout.Absolute → Defer → MeshExtensions.HandleCreateNodeRequest closure → MessageHub
The sampled create and update had completed before disposal. Rx 7's LocalScheduler keeps a cancelled absolute-deadline work item in its priority queue until its due time. The create deadline's fallback observable captured the whole handler closure, including the hub. The post-creation timer also captured its callback after cancellation.
Fix and verification
Keep only the path, budget, and current stage in the timeout fallback. Clear the post-creation timer callbacks when the handler chain terminates. Preserve the existing deadline and create response behavior. Verify Release builds, create lifecycle tests, and the Plugins host disposal test using the changed core revision.
CI evidence: https://github.com/Systemorph/MeshWeaver.Plugins/actions/runs/37756688023/job/113251221898
- Lingua principale
- C#
- Stelle
- 12
- Fork
- 5
- Merge medio
- 5h 28m
- PR unite (30g)
- 976
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Nessuna 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 Systemorph/MeshWeaver
-
Key exchange follow-ups: registry hook 500 ambiguity and an exchange health line (split from #7484)Apertasev:M
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
Systemorph/MeshWeaver#7721 ·
I maintainer di solito rispondono entro 1 giorno
-
bug sev:M
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
Systemorph/MeshWeaver#7720 ·
I maintainer di solito rispondono entro 1 giorno
-
bug sev:M
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
Systemorph/MeshWeaver#7719 ·
I maintainer di solito rispondono entro 1 giorno
-
bug sev:L
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
Systemorph/MeshWeaver#7707 · 5 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
bug sev:H
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
Systemorph/MeshWeaver#7702 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di Systemorph/MeshWeaver
Issue simili
-
请让 FPS 叠加层的字号大小可单独设置Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
MahdiyarGHD/GheychiApp#39 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
-
bug effort:S P3
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
nightscout/nocturne#3136 ·
I maintainer di solito rispondono entro 1 giorno