Pool::extend can deadlock when the iterator accesses the same pool Copy
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
- 55/100
Direzione di ricerca
Locate Pool::extend and compare its lock handling with retain, which the issue says documents its non-reentrancy requirement. First inspect the implementation and nearby tests, then reproduce the deadlock with a lazy iterator that calls status() on the same pool. Done means the behavior is covered by a regression test and iterator evaluation no longer deadlocks.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
I noticed that Pool::extend consumes the iterator while holding the pool mutex. If a lazy iterator calls back into the same pool, for example through status(), it can deadlock.
I saw that retain explicitly documents its non-reentrancy requirement, but extend doesnt. Was holding the lock across iterator evaluation intentional for batch insertion, or would it make sense to consume values outside the lock?
Happy to add a regression test and look into a fix if the latter is preferred.
- Lingua principale
- Rust
- Stelle
- 277
- Fork
- 44
- Merge medio
- 1g 1h
- PR unite (30g)
- 41
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 apache/asyncband
-
Investigate unsound mapped RwLock write guard downgradingForse già presa @orthur2 l’ha presa oggi. Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
apache/asyncband#362 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement good first issue help wanted
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
apache/asyncband#324 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Discuss shared broadcast receives without a Clone boundForse già presa @orthur2 l’ha presa 2 giorni fa. Apertaenhancement question
Difficoltà 5/5 Più di una settimana Idoneità per principianti 30/100
apache/asyncband#312 · 4 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement help wanted
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
apache/asyncband#298 · 5 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 30/100
apache/asyncband#272 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di apache/asyncband
Issue simili
-
ai-priority/P2 bug db/oracle user-priority/P1
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
swc-project/swc#12516 ·
I maintainer di solito rispondono entro 1 giorno
-
app bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
-
mls-rs-crypto-awslc: exact aws-lc-rs =1.16.3 pin blocks rustls security updateForse già presa @muscariello l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100