CodeChain-io / CodeChain-io/foundry
ConnectionEstablished is called in an already established connection
- Vorherrschende Sprache
- Rust
- Sterne
- 36
- Forks
- 11
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
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)
Beitragsleitfaden
Rechercherichtung
Beginne damit, den intermittierenden Fehler im discovery5-Test zu reproduzieren und die verknüpften Fehlerprotokolle zu überprüfen. Verfolge, wo das ConnectionEstablished-Ereignis für eine bestehende Verbindung ausgegeben wird, zusammen mit der Assertion auf ein Duplikat in der peer DB. Die Aufgabe ist abgeschlossen, wenn eine bestehende Verbindung das Ereignis nicht mehr ausgibt und die discovery5-Tests ohne Absturz von Foundry erfolgreich sind.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- rust
- Bereich
- networking
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 38/100