CodeChain-io / CodeChain-io/foundry
ConnectionEstablished is called in an already established connection
- Lenguaje dominante
- Rust
- Estrellas
- 36
- Forks
- 11
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
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)
Guía de contribución
Línea de trabajo
Comienza reproduciendo el fallo intermitente de la prueba discovery5 y revisando los registros de errores enlazados. Rastrea dónde se emite el evento ConnectionEstablished para una conexión existente, junto con la aserción de duplicado de la peer DB. El trabajo estará terminado cuando una conexión existente ya no emita el evento y las pruebas de discovery5 pasen sin que Foundry se bloquee.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- rust
- Área
- networking
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 38/100