iroh icon indicating copy to clipboard operation
iroh copied to clipboard

Flaky test: iroh-gossip net::test::gossip_net_smoke

Open dignifiedquire opened this issue 1 year ago • 1 comments

https://github.com/n0-computer/iroh/actions/runs/7638667215/job/20810051355

dignifiedquire avatar Jan 24 '24 10:01 dignifiedquire

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.

Frando avatar Jan 24 '24 13:01 Frando