-
Notifications
You must be signed in to change notification settings - Fork 317
tests(multipath): add failing test #3689
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: feat-multipath
Are you sure you want to change the base?
Conversation
|
Documentation for this PR has been generated and is available at: https://n0-computer.github.io/iroh/pr/3689/docs/iroh/ Last updated: 2025-11-20T17:23:30Z |
|
initial investigation for and .. that's it? I get some further logs for a connection that is can be identified as the older (closed!) connection from the first client. I don't see any quinn_proto recv lines for this datagram received from the second client, which is weird - it seems these initial packets are received by the server, get up to the point where "generated new addr" is logged, but don't make its way into the quinn endpoint. |
|
Interestingly, CI fails only for ubuntu-stable features |
|
Some findings. Looking at the logs of the test with the public relay.
Comparing to the first successfull flow, in the first client attempt we have this flow:
So in the working case the second packet over IP also has a different dst_cid than the first packet, whereas in the second (broken) client the second packet over IP has the same dst_cid than the first client. Attaching logs here (with additional debug log statements inserted by me in iroh_quinn). |
Description
This adds a simple test: one server that accepts connections, and then 3 clients that are created consecutively and each connect to the server, exchange data, close connection, close endpoint. After a client is finished the next client is created (new endpoint, new secret key).
The test comes in three variations that share their impl:
test_one_server_two_clients_local_relay: uses a local relaytest_one_server_two_clients_public_relay: uses the public relaytest_one_server_two_clients_no_relay: doesn't use relays at allThe no relay and local relay versions pass for me. However the public relay one times out but only for the second client. The first one succeeds, the second connect attempt times out at the client.
Breaking Changes
Notes & open questions
Change checklist
quic-rpciroh-gossipiroh-blobsdumbpipesendme