iroh
iroh copied to clipboard
Flaky test: iroh-gossip net::test::gossip_net_smoke
https://github.com/n0-computer/iroh/actions/runs/7638667215/job/20810051355
I just had a look. The failure is:
thread 'net::test::gossip_net_smoke' panicked at iroh-gossip/src/net.rs:817:18:
called `Result::unwrap()` on an `Err` value: aborted by peer: the application or application protocol caused the connection to be closed during the handshake
https://github.com/n0-computer/iroh/blob/main/iroh-gossip/src/net.rs#L817
This seems to be related to shutdown logic. The error is the result of unwrapping the endpoint loop tasks, which look like this: https://github.com/n0-computer/iroh/blob/main/iroh-gossip/src/net.rs#L675
loop {
tokio::select! {
biased;
_ = cancel.cancelled() => break,
conn = endpoint.accept() => match conn {
None => break,
Some(conn) => gossip.handle_connection(conn.await?).await?
}
}
}
The error message is prose for a quinn APPLICATION_ERROR
. The only place where this is used in quinn is here:
https://github.com/quinn-rs/quinn/blob/597b10b2d5758198fe433e4aab492a0daae36551/quinn-proto/src/connection/mod.rs#L775
If I read it correctly, a ConnectionClose frame with this APPLICATION_ERROR code is sent whenever closing a connection without a reason. So this seems fine? Not sure why this never showed up so far.