CodeChain-io / CodeChain-io/foundry
ConnectionEstablished is called in an already established connection
- 主要言語
- Rust
- スター
- 36
- フォーク
- 11
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
Recently, discovery5 tests failed occasionally.
I read the failed test log and found that a connection established event is fired in the already existing connection. It made Foundry crash.
## Why this error found nowadays
Recently when we implementing a peer DB, we added an assertion that the same peer is not added twice in the DB. The assertion made Foundry panic.
It seems that the duplicated connection established event bug is aged, but recently found by the assertion.
## How should we fix it
The "connection established" event should not be called in an existing connection.
## ErrorLog
[2020_03_18T01_56_17_226Z.1.log](https://github.com/CodeChain-io/foundry/files/4346655/2020_03_18T01_56_17_226Z.1.log)
[2020_03_18T01_56_17_226Z.4.log](https://github.com/CodeChain-io/foundry/files/4346656/2020_03_18T01_56_17_226Z.4.log)
コントリビューションガイド
調査の方向性
まず、断続的に発生する discovery5 テストの失敗を再現し、リンクされたエラーログを確認します。既存の接続に対して ConnectionEstablished イベントが発行される箇所を、peer DB の重複 assertion と併せて追跡します。既存の接続でイベントが発行されなくなり、Foundry がクラッシュせずに discovery5 テストを通過すれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- rust
- 領域
- networking
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 38/100