quinn-rs / quinn

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

v0.8.0 example client/server error #1759

Closed so-schen closed 7 months ago

so-schen commented 7 months ago

Version

v.0.8.0 platform: macos, M2

Steps to reproduce

  1. start server RUST_LOG=info cargo run --example server -- ./ --listen 127.0.0.1:4433
  2. start client RUST_LOG=info cargo run --example client https://localhost:4433/Cargo.toml

Failures

Can not setup connection, the ip and port 16.2.220.1:127 is unknown, seems it is trying to use a client address that from somewhere?

2024-02-17T20:14:26.806954Z  INFO server: connection incoming
2024-02-17T20:14:26.807487Z  WARN quinn_udp: sendmsg error: Os { code: 49, kind: AddrNotAvailable, message: "Can't assign requested address" }, Transmit: { destination: 16.2.220.1:127, src_ip: None, enc: Some(Ect0), len: 1200, segment_size: None }
djc commented 7 months ago

Why are you on 0.8?

gftea commented 7 months ago

@djc , we have old software using crate that depends on this version, and I am looking into if this version is stable and any known issues

Ralith commented 7 months ago

We don't have the resources to provide support for old versions. I'd strongly encourage updating; 0.8 is pretty old, but most APIs should still be similar.

gftea commented 7 months ago

I fully understand that, but by chance you may remember or know the possible cause, why the server tried to send to destination of a unknown socket addr?

Ralith commented 7 months ago

It could be the bug fixed in https://github.com/quinn-rs/quinn/pull/1391. If you're on 0.8.0 then perhaps you didn't pick up quinn-udp patch level fixes either. You should at the very least update to quinn 0.8.4 and quinn-udp 0.1.3, which will require no changes in your code. Pinning old patch versions is inviting avoidable breakage just like this.

gftea commented 7 months ago

Thanks @Ralith ! Ticket can be closed.