quinn-rs / quinn

Async-friendly QUIC implementation in Rust
Apache License 2.0
3.76k stars 380 forks source link

"ReadDatagram notified with no datagrams pending" panic #1454

Closed stormshield-pj50 closed 1 year ago

stormshield-pj50 commented 1 year ago

Dear all,

I am trying to receive datagrams on a Quic connection using two futures handled by a FuturesUnordered structure. Each future clones the connection and call read_datagram() on the cloned connection. I got a panic in quinn/src/connection.rs:730.

In order to reproduce the crash you can use my forked quinn repo and this commit. It basically setups a datagram client/server. You can reproduce the issue by running on the same machine:

cargo run --example datagram_server cargo run --example datagram_client

Thanks for looking at this, Philippe

Ralith commented 1 year ago

Looks like a bit of missed refactoring when we moved away from streams. Should be fixed by https://github.com/quinn-rs/quinn/pull/1455.

Ralith commented 1 year ago

Fix published in 0.9.2.