Pool::extend can deadlock when the iterator accesses the same pool Copy
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
調査の方向性
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.
索引モデルが issue の本文から書いたものです。
説明
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.
- 主要言語
- Rust
- スター
- 277
- フォーク
- 44
- 平均マージ
- 1日 1時間
- マージ済み PR(30日)
- 41
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
apache/asyncband のほかの issue
-
Investigate unsound mapped RwLock write guard downgrading対応中かも @orthur2 が 1 日前に担当しました。 オープン
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
apache/asyncband#362 · コメント 3 件 ·
メンテナーはふだん 1 日以内に返信
-
enhancement good first issue help wanted
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
apache/asyncband#324 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Discuss shared broadcast receives without a Clone bound対応中かも @orthur2 が 2 日前に担当しました。 オープンenhancement question
難易度 5/5 1週間以上 初心者へのやさしさ 30/100
apache/asyncband#312 · コメント 4 件 ·
メンテナーはふだん 1 日以内に返信
-
enhancement help wanted
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
apache/asyncband#298 · コメント 5 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 30/100
apache/asyncband#272 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
apache/asyncband の issue をすべて見る
似ている issue
-
ai-priority/P2 bug db/oracle user-priority/P1
難易度 2/5 1〜3時間 初心者へのやさしさ 67/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
swc-project/swc#12516 ·
メンテナーはふだん 1 日以内に返信
-
app bug
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
-
mls-rs-crypto-awslc: exact aws-lc-rs =1.16.3 pin blocks rustls security update対応中かも @muscariello が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100