magic-wormhole / magic-wormhole.rs

Rust implementation of Magic Wormhole, with new features and enhancements
European Union Public License 1.2
722 stars 78 forks source link

test_send_many fails on amd64 and armel/hf #241

Closed werdahias closed 1 month ago

werdahias commented 1 month ago

test_send many fails on amd64 and armel/hf in the Debian CI like this:


245s [2024-07-13T21:31:33Z DEBUG magic_wormhole::transfer::v1] Read 0
245s [2024-07-13T21:31:33Z DEBUG magic_wormhole::transit] Flush
245s [2024-07-13T21:31:33Z DEBUG magic_wormhole::transfer::v1] sent file. Waiting for ack
245s [2024-07-13T21:31:33Z DEBUG magic_wormhole::transfer::v1] done
245s [2024-07-13T21:31:33Z DEBUG magic_wormhole::transfer::v1] sha256 sum: "cf6cb86d154d5b7709cd216469b69c7ac40c89581ca3643b44f85fbcae75edea"
245s [2024-07-13T21:31:33Z DEBUG magic_wormhole::transfer::v1] Transfer complete
245s [2024-07-13T21:31:33Z DEBUG magic_wormhole::transfer] Transfer done, doing cleanup logic
245s [2024-07-13T21:31:33Z DEBUG magic_wormhole::core] Closing Wormhole…
245s [2024-07-13T21:31:33Z DEBUG magic_wormhole::core::rendezvous] Sending Close { mailbox: 4rkdcefjqk5gw, mood: Happy }
245s [2024-07-13T21:31:33Z DEBUG magic_wormhole::core::rendezvous] Received EncryptedMessage { side: TheirSide(7fa9cbe140), phase: 1, body: <68 bytes>
245s [2024-07-13T21:31:33Z DEBUG magic_wormhole::transfer::v1] Transfer complete!
245s [2024-07-13T21:31:33Z DEBUG magic_wormhole::transfer] Transfer done, doing cleanup logic
245s [2024-07-13T21:31:33Z DEBUG magic_wormhole::core] Closing Wormhole…
245s [2024-07-13T21:31:33Z DEBUG magic_wormhole::core::rendezvous] Sending Close { mailbox: 4rkdcefjqk5gw, mood: Happy }
245s [2024-07-13T21:31:33Z DEBUG magic_wormhole::core::rendezvous] Received Ack
245s [2024-07-13T21:31:33Z DEBUG magic_wormhole::core::rendezvous] Received Closed
245s [2024-07-13T21:31:33Z DEBUG magic_wormhole::core::rendezvous] Received Ack
245s [2024-07-13T21:31:33Z INFO  magic_wormhole::core::test] Receiving file #1
245s [2024-07-13T21:31:33Z DEBUG magic_wormhole::core::rendezvous] Received Closed
245s [2024-07-13T21:31:33Z DEBUG tungstenite::handshake::client] Client handshake done.
245s [2024-07-13T21:31:33Z DEBUG magic_wormhole::core::rendezvous] Received Welcome(WelcomeMessage { .. })
245s [2024-07-13T21:31:33Z DEBUG magic_wormhole::core::rendezvous] Sending Bind { appid: lothar.com/wormhole/rusty-wormhole-test, side: MySide(7768a8b9e1) }
245s [2024-07-13T21:31:33Z DEBUG magic_wormhole::core::rendezvous] Received Ack
245s [2024-07-13T21:31:33Z INFO  magic_wormhole::core::rendezvous] Connected to rendezvous server.
245s [2024-07-13T21:31:33Z DEBUG magic_wormhole::core::rendezvous] Sending Claim(89)
245s [2024-07-13T21:31:33Z DEBUG magic_wormhole::core::rendezvous] Received Ack
245s [2024-07-13T21:31:33Z DEBUG magic_wormhole::core::rendezvous] Received Error { error: "crowded", .. }
245s test core::test::test_send_many ... FAILED
245s 
245s failures:
245s 
245s ---- core::test::test_send_many stdout ----
245s Error: Error with the rendezvous server connection
245s 
245s Caused by:
245s     Received error message from server: crowded
245s 
245s Location:
245s     src/core/test.rs:332:13
245s 
245s 
245s failures:
245s     core::test::test_send_many
245s 
245s test result: FAILED. 47 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.40s
245s 

I re-tried the CI pipeline but it fails; too. It's interesting that it passed fine on arm64 and i388. Not sure what causes this.

werdahias commented 1 month ago

Full log

felinira commented 1 month ago

Unfortunately the test suite is quite flaky at the moment. In addition to that the tests actually contact the live mailbox server, which probably has some sort of rate limiting in place that throws this error. I'd like to change that eventually, but for now it's probably best to disable them instead.

werdahias commented 1 month ago

ah, ok. I'll add a patch then to skip those

meejah commented 1 month ago

In addition to that the tests actually contact the live mailbox server, [..]

It's straightforward enough to run a Mailbox server locally -- the Python integration etc tests do this, if you want some pointers on how I can help. (So then you can point to localhost:4000 or whatever for the mailbox server)

werdahias commented 1 month ago

This is just the send_many test failing on three specific arches; I just uploaded a version that skip that test on those arches. Unless a larger part of the testsuite fails I will keep it that way; patches are welcome though :)

piegamesde commented 1 month ago

disable it on all platforms, that test is generally flaky because of server stuff (I still believe it's a bug/race condition in the server) so the architecture should not matter