-
Notifications
You must be signed in to change notification settings - Fork 25
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
IPA integration tests hang sometimes #650
Comments
Can be reproduced locally too while cargo test --test '*' --no-default-features --features "cli web-app real-world-infra test-fixture"; do :; done
Finished test [unoptimized + debuginfo] target(s) in 1.90s
Running tests/helper_networks.rs (target/debug/deps/helper_networks-369ed070d66f9396)
running 4 tests
INFO ipa::cli::verbosity: Logging setup at level info
INFO ipa::net::server: server listening on http://0.0.0.0:3003
INFO ipa::cli::verbosity: Logging setup at level info
INFO ipa::cli::verbosity: Logging setup at level info
INFO ipa::cli::verbosity: Logging setup at level info
INFO ipa::cli::verbosity: Logging setup at level info
INFO ipa::cli::verbosity: Logging setup at level info
INFO ipa::cli::verbosity: Logging setup at level info
INFO ipa::cli::verbosity: Logging setup at level info
INFO ipa::net::server: server listening on http://0.0.0.0:3004
INFO ipa::net::server: server listening on http://0.0.0.0:3000
INFO ipa::net::server: server listening on http://0.0.0.0:3001
INFO ipa::cli::verbosity: Logging setup at level info
INFO ipa::cli::verbosity: Logging setup at level info
INFO ipa::cli::verbosity: Logging setup at level info
INFO ipa::cli::verbosity: Logging setup at level info
INFO ipa::net::server: server listening on http://0.0.0.0:3002
INFO ipa::net::server: server listening on http://0.0.0.0:3005
INFO ipa::net::server: server listening on https://0.0.0.0:4432
INFO ipa::net::server: server listening on https://0.0.0.0:4431
INFO ipa::net::server: server listening on https://0.0.0.0:4430
INFO ipa::net::server: server listening on https://0.0.0.0:4433
INFO ipa::net::server: server listening on https://0.0.0.0:4434
INFO ipa::net::server: server listening on https://0.0.0.0:4435
test http_network ... ok
test https_network ... ok
test http_semi_honest_ipa ... ok
test https_semi_honest_ipa has been running for over 60 seconds Always IPA tests |
Running HTTP test in isolation was fine. HTTPS test got hanged pretty quickly. In logs I am not seeing any errors except for TLS handshake. Attaching the logs to this issue if someone wants to take a look |
I don't like what I am seeing (data race) grep "received data for step" ~/Downloads/ipa-logs/*.log | sort
/Users/koshelev/Downloads/ipa-logs/h1.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/ipa/prss_exchange from B
/Users/koshelev/Downloads/ipa-logs/h1.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/ipa/prss_exchange from C
/Users/koshelev/Downloads/ipa-logs/h1.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc0/mc0/xor2 from C
/Users/koshelev/Downloads/ipa-logs/h1.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc0/mc1/xor2 from C
/Users/koshelev/Downloads/ipa-logs/h1.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc0/mc2/xor2 from C
/Users/koshelev/Downloads/ipa-logs/h1.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc12/mc0/xor2 from C
/Users/koshelev/Downloads/ipa-logs/h1.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc12/mc1/xor2 from C
/Users/koshelev/Downloads/ipa-logs/h1.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc12/mc2/xor2 from C
/Users/koshelev/Downloads/ipa-logs/h1.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc15/mc0/xor2 from C
/Users/koshelev/Downloads/ipa-logs/h1.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc15/mc1/xor2 from C
/Users/koshelev/Downloads/ipa-logs/h1.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc15/mc2/xor2 from C
/Users/koshelev/Downloads/ipa-logs/h1.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc18/mc0/xor2 from C
/Users/koshelev/Downloads/ipa-logs/h1.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc18/mc1/xor2 from C
/Users/koshelev/Downloads/ipa-logs/h1.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc18/mc2/xor2 from C
/Users/koshelev/Downloads/ipa-logs/h1.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc21/mc0/xor2 from C
/Users/koshelev/Downloads/ipa-logs/h1.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc21/mc1/xor2 from C
/Users/koshelev/Downloads/ipa-logs/h1.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc21/mc2/xor2 from C
/Users/koshelev/Downloads/ipa-logs/h1.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc24/mc0/xor2 from C
/Users/koshelev/Downloads/ipa-logs/h1.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc24/mc1/xor2 from C
/Users/koshelev/Downloads/ipa-logs/h1.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc24/mc2/xor2 from C
/Users/koshelev/Downloads/ipa-logs/h1.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc27/mc0/xor2 from C
/Users/koshelev/Downloads/ipa-logs/h1.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc27/mc1/xor2 from C
/Users/koshelev/Downloads/ipa-logs/h1.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc27/mc2/xor2 from C
/Users/koshelev/Downloads/ipa-logs/h1.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc3/mc0/xor2 from C
/Users/koshelev/Downloads/ipa-logs/h1.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc3/mc1/xor2 from C
/Users/koshelev/Downloads/ipa-logs/h1.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc3/mc2/xor2 from C
/Users/koshelev/Downloads/ipa-logs/h1.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc30/mc0/xor2 from C
/Users/koshelev/Downloads/ipa-logs/h1.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc30/mc1/xor2 from C
/Users/koshelev/Downloads/ipa-logs/h1.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc30/mc2/xor2 from C
/Users/koshelev/Downloads/ipa-logs/h1.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc33/mc0/xor2 from C
/Users/koshelev/Downloads/ipa-logs/h1.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc33/mc1/xor2 from C
/Users/koshelev/Downloads/ipa-logs/h1.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc33/mc2/xor2 from C
/Users/koshelev/Downloads/ipa-logs/h1.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc36/mc0/xor2 from C
/Users/koshelev/Downloads/ipa-logs/h1.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc36/mc1/xor2 from C
/Users/koshelev/Downloads/ipa-logs/h1.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc36/mc2/xor2 from C
/Users/koshelev/Downloads/ipa-logs/h1.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc39/mc0/xor2 from C
/Users/koshelev/Downloads/ipa-logs/h1.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc6/mc0/xor2 from C
/Users/koshelev/Downloads/ipa-logs/h1.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc6/mc1/xor2 from C
/Users/koshelev/Downloads/ipa-logs/h1.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc6/mc2/xor2 from C
/Users/koshelev/Downloads/ipa-logs/h1.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc9/mc0/xor2 from C
/Users/koshelev/Downloads/ipa-logs/h1.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc9/mc1/xor2 from C
/Users/koshelev/Downloads/ipa-logs/h1.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc9/mc2/xor2 from C
/Users/koshelev/Downloads/ipa-logs/h2.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/gen_sort_permutation_from_match_keys/sort_keys/bit_permute/bit2 from A
/Users/koshelev/Downloads/ipa-logs/h2.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/ipa/prss_exchange from A
/Users/koshelev/Downloads/ipa-logs/h2.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/ipa/prss_exchange from C
/Users/koshelev/Downloads/ipa-logs/h2.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc0/mc0/xor1 from A
/Users/koshelev/Downloads/ipa-logs/h2.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc0/mc1/xor1 from A
/Users/koshelev/Downloads/ipa-logs/h2.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc0/mc2/xor1 from A
/Users/koshelev/Downloads/ipa-logs/h2.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc12/mc0/xor1 from A
/Users/koshelev/Downloads/ipa-logs/h2.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc12/mc1/xor1 from A
/Users/koshelev/Downloads/ipa-logs/h2.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc12/mc2/xor1 from A
/Users/koshelev/Downloads/ipa-logs/h2.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc15/mc0/xor1 from A
/Users/koshelev/Downloads/ipa-logs/h2.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc15/mc1/xor1 from A
/Users/koshelev/Downloads/ipa-logs/h2.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc15/mc2/xor1 from A
/Users/koshelev/Downloads/ipa-logs/h2.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc18/mc0/xor1 from A
/Users/koshelev/Downloads/ipa-logs/h2.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc18/mc1/xor1 from A
/Users/koshelev/Downloads/ipa-logs/h2.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc18/mc2/xor1 from A
/Users/koshelev/Downloads/ipa-logs/h2.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc21/mc0/xor1 from A
/Users/koshelev/Downloads/ipa-logs/h2.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc21/mc1/xor1 from A
/Users/koshelev/Downloads/ipa-logs/h2.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc21/mc2/xor1 from A
/Users/koshelev/Downloads/ipa-logs/h2.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc24/mc0/xor1 from A
/Users/koshelev/Downloads/ipa-logs/h2.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc24/mc1/xor1 from A
/Users/koshelev/Downloads/ipa-logs/h2.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc24/mc2/xor1 from A
/Users/koshelev/Downloads/ipa-logs/h2.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc27/mc0/xor1 from A
/Users/koshelev/Downloads/ipa-logs/h2.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc27/mc1/xor1 from A
/Users/koshelev/Downloads/ipa-logs/h2.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc27/mc2/xor1 from A
/Users/koshelev/Downloads/ipa-logs/h2.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc3/mc0/xor1 from A
/Users/koshelev/Downloads/ipa-logs/h2.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc3/mc1/xor1 from A
/Users/koshelev/Downloads/ipa-logs/h2.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc3/mc2/xor1 from A
/Users/koshelev/Downloads/ipa-logs/h2.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc30/mc0/xor1 from A
/Users/koshelev/Downloads/ipa-logs/h2.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc30/mc1/xor1 from A
/Users/koshelev/Downloads/ipa-logs/h2.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc30/mc2/xor1 from A
/Users/koshelev/Downloads/ipa-logs/h2.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc33/mc0/xor1 from A
/Users/koshelev/Downloads/ipa-logs/h2.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc33/mc1/xor1 from A
/Users/koshelev/Downloads/ipa-logs/h2.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc33/mc2/xor1 from A
/Users/koshelev/Downloads/ipa-logs/h2.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc36/mc0/xor1 from A
/Users/koshelev/Downloads/ipa-logs/h2.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc36/mc1/xor1 from A
/Users/koshelev/Downloads/ipa-logs/h2.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc36/mc2/xor1 from A
/Users/koshelev/Downloads/ipa-logs/h2.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc39/mc0/xor1 from A
/Users/koshelev/Downloads/ipa-logs/h2.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc6/mc0/xor1 from A
/Users/koshelev/Downloads/ipa-logs/h2.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc6/mc1/xor1 from A
/Users/koshelev/Downloads/ipa-logs/h2.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc6/mc2/xor1 from A
/Users/koshelev/Downloads/ipa-logs/h2.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc9/mc0/xor1 from A
/Users/koshelev/Downloads/ipa-logs/h2.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc9/mc1/xor1 from A
/Users/koshelev/Downloads/ipa-logs/h2.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc9/mc2/xor1 from A
/Users/koshelev/Downloads/ipa-logs/h3.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/gen_sort_permutation_from_match_keys/sort_keys/bit_permute/bit2 from B
/Users/koshelev/Downloads/ipa-logs/h3.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/gen_sort_permutation_from_match_keys/sort_keys/bit_permute/bit4 from B
/Users/koshelev/Downloads/ipa-logs/h3.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/gen_sort_permutation_from_match_keys/sort_keys/bit_permute/bit5 from B
/Users/koshelev/Downloads/ipa-logs/h3.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/gen_sort_permutation_from_match_keys/sort_keys/bit_permute/bit6 from B
/Users/koshelev/Downloads/ipa-logs/h3.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/ipa/prss_exchange from A
/Users/koshelev/Downloads/ipa-logs/h3.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/ipa/prss_exchange from B
/Users/koshelev/Downloads/ipa-logs/h3.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc0/mc0/xor2 from B
/Users/koshelev/Downloads/ipa-logs/h3.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc0/mc1/xor2 from B
/Users/koshelev/Downloads/ipa-logs/h3.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc0/mc2/xor2 from B
/Users/koshelev/Downloads/ipa-logs/h3.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc12/mc0/xor2 from B
/Users/koshelev/Downloads/ipa-logs/h3.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc12/mc1/xor2 from B
/Users/koshelev/Downloads/ipa-logs/h3.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc12/mc2/xor2 from B
/Users/koshelev/Downloads/ipa-logs/h3.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc15/mc0/xor2 from B
/Users/koshelev/Downloads/ipa-logs/h3.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc15/mc1/xor2 from B
/Users/koshelev/Downloads/ipa-logs/h3.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc15/mc2/xor2 from B
/Users/koshelev/Downloads/ipa-logs/h3.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc18/mc0/xor2 from B
/Users/koshelev/Downloads/ipa-logs/h3.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc18/mc1/xor2 from B
/Users/koshelev/Downloads/ipa-logs/h3.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc18/mc2/xor2 from B
/Users/koshelev/Downloads/ipa-logs/h3.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc21/mc1/xor2 from B
/Users/koshelev/Downloads/ipa-logs/h3.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc21/mc2/xor2 from B
/Users/koshelev/Downloads/ipa-logs/h3.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc24/mc0/xor2 from B
/Users/koshelev/Downloads/ipa-logs/h3.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc24/mc1/xor2 from B
/Users/koshelev/Downloads/ipa-logs/h3.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc24/mc2/xor2 from B
/Users/koshelev/Downloads/ipa-logs/h3.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc27/mc0/xor2 from B
/Users/koshelev/Downloads/ipa-logs/h3.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc27/mc1/xor2 from B
/Users/koshelev/Downloads/ipa-logs/h3.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc27/mc2/xor2 from B
/Users/koshelev/Downloads/ipa-logs/h3.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc3/mc0/xor2 from B
/Users/koshelev/Downloads/ipa-logs/h3.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc3/mc1/xor2 from B
/Users/koshelev/Downloads/ipa-logs/h3.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc3/mc2/xor2 from B
/Users/koshelev/Downloads/ipa-logs/h3.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc30/mc0/xor2 from B
/Users/koshelev/Downloads/ipa-logs/h3.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc30/mc1/xor2 from B
/Users/koshelev/Downloads/ipa-logs/h3.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc30/mc2/xor2 from B
/Users/koshelev/Downloads/ipa-logs/h3.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc33/mc0/xor2 from B
/Users/koshelev/Downloads/ipa-logs/h3.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc33/mc1/xor2 from B
/Users/koshelev/Downloads/ipa-logs/h3.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc33/mc2/xor2 from B
/Users/koshelev/Downloads/ipa-logs/h3.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc36/mc0/xor2 from B
/Users/koshelev/Downloads/ipa-logs/h3.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc36/mc1/xor2 from B
/Users/koshelev/Downloads/ipa-logs/h3.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc36/mc2/xor2 from B
/Users/koshelev/Downloads/ipa-logs/h3.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc39/mc0/xor2 from B
/Users/koshelev/Downloads/ipa-logs/h3.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc6/mc0/xor2 from B
/Users/koshelev/Downloads/ipa-logs/h3.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc6/mc1/xor2 from B
/Users/koshelev/Downloads/ipa-logs/h3.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc6/mc2/xor2 from B
/Users/koshelev/Downloads/ipa-logs/h3.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc9/mc0/xor2 from B
/Users/koshelev/Downloads/ipa-logs/h3.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc9/mc1/xor2 from B
/Users/koshelev/Downloads/ipa-logs/h3.log: INFO ipa::net::server::handlers::query::step: received data for step=protocol/mod_conv_match_key/mc9/mc2/xor2 from B first grep is from server A, second is from B and the last one is from C. Good news - PRSS and modulus conversion work. Bad news:
|
Oof, it is not good. I think I found some evidence that grep "ipa::" /var/folders/n2/wgkrrbd57173j9dvy8bdjcvw0000gn/T/.tmpf3pibC/http/*/*.log | sort | grep -v "received data" | awk '/sending/ && prev ~ /sending/ { print prev } { prev=$0 }'
/var/folders/n2/wgkrrbd57173j9dvy8bdjcvw0000gn/T/.tmpf3pibC/http/2/ipa-1684199276.log: INFO ipa::net::transport: step: step=protocol/after_convert_all_bits/user_capping/report_level_capping/random_bits_for_comparison/is_p_less_than_b/check_trimmed/check_if_all_ones/bit10/C.1: sending
/var/folders/n2/wgkrrbd57173j9dvy8bdjcvw0000gn/T/.tmpf3pibC/http/2/ipa-1684199276.log: INFO ipa::net::transport: step: step=protocol/after_convert_all_bits/user_capping/report_level_capping/random_bits_for_comparison/is_p_less_than_b/check_trimmed/check_if_all_ones/bit12/C.1: sending
/var/folders/n2/wgkrrbd57173j9dvy8bdjcvw0000gn/T/.tmpf3pibC/http/2/ipa-1684199276.log: INFO ipa::net::transport: step: step=protocol/after_convert_all_bits/user_capping/report_level_capping/random_bits_for_comparison/is_p_less_than_b/check_trimmed/check_if_all_ones/bit13/C.1: sending
/var/folders/n2/wgkrrbd57173j9dvy8bdjcvw0000gn/T/.tmpf3pibC/http/2/ipa-1684199276.log: INFO ipa::net::transport: step: step=protocol/after_convert_all_bits/user_capping/report_level_capping/random_bits_for_comparison/is_p_less_than_b/check_trimmed/check_if_all_ones/bit16/C.1: sending
/var/folders/n2/wgkrrbd57173j9dvy8bdjcvw0000gn/T/.tmpf3pibC/http/2/ipa-1684199276.log: INFO ipa::net::transport: step: step=protocol/after_convert_all_bits/user_capping/report_level_capping/random_bits_for_comparison/is_p_less_than_b/check_trimmed/check_if_all_ones/bit17/C.1: sending
/var/folders/n2/wgkrrbd57173j9dvy8bdjcvw0000gn/T/.tmpf3pibC/http/2/ipa-1684199276.log: INFO ipa::net::transport: step: step=protocol/after_convert_all_bits/user_capping/report_level_capping/random_bits_for_comparison/is_p_less_than_b/check_trimmed/check_if_all_ones/bit4/C.1: sending
/var/folders/n2/wgkrrbd57173j9dvy8bdjcvw0000gn/T/.tmpf3pibC/http/2/ipa-1684199276.log: INFO ipa::net::transport: step: step=protocol/after_convert_all_bits/user_capping/report_level_capping/random_bits_for_comparison/is_p_less_than_b/check_trimmed/check_if_all_ones/bit5/C.1: sending
/var/folders/n2/wgkrrbd57173j9dvy8bdjcvw0000gn/T/.tmpf3pibC/http/2/ipa-1684199276.log: INFO ipa::net::transport: step: step=protocol/after_convert_all_bits/user_capping/report_level_capping/random_bits_for_comparison/is_p_less_than_b/check_trimmed/check_if_all_ones/bit7/C.1: sending
/var/folders/n2/wgkrrbd57173j9dvy8bdjcvw0000gn/T/.tmpf3pibC/http/2/ipa-1684199276.log: INFO ipa::net::transport: step: step=protocol/after_convert_all_bits/user_capping/report_level_capping/random_bits_for_comparison/is_p_less_than_b/check_trimmed/check_least_significant_bits/bit1/C.1: sending
/var/folders/n2/wgkrrbd57173j9dvy8bdjcvw0000gn/T/.tmpf3pibC/http/2/ipa-1684199276.log: INFO ipa::net::transport: step: step=protocol/after_convert_all_bits/user_capping/report_level_capping/random_bits_for_comparison/random_bits/convert_shares/bit25/xor2/C.1: sending
/var/folders/n2/wgkrrbd57173j9dvy8bdjcvw0000gn/T/.tmpf3pibC/http/2/ipa-1684199276.log: INFO ipa::net::transport: step: step=protocol/after_convert_all_bits/user_capping/report_level_capping/random_bits_for_comparison/random_bits/convert_shares/bit26/xor2/C.1: sending what this command does is prints all steps that were attempted to be sent but never completed tracing::info!("step: {:?}/{:?}.1: sending", step, dest);
let resp_future = self.clients[dest].step(self.identity, query_id, &step, data);
let resp_future = match resp_future {
Ok(f) => f,
Err(e) => {
tracing::error!("failed to prepare request for step {} to {:?}: {e}", step, dest);
return Err(e)
}
};
tokio::spawn(async move {
let poll_f = resp_future
.map_err(Into::into)
.and_then(MpcHelperClient::resp_ok)
.await;
match poll_f {
Ok(_) => tracing::info!("step: {:?}/{:?}.2 sent", step, dest),
Err(e) => {
tracing::error!("an error occurred sending {:?} to {:?}: {e}", step, dest);
panic!("failed to stream records");
}
} |
Another run, same symptoms. If it gets stuck, there is at least one send attempt that did not result in successful send grep "ipa::" /var/folders/n2/wgkrrbd57173j9dvy8bdjcvw0000gn/T/.tmpoRCbAi/http/*/*.log | sort | grep -v "received data" | awk '/sending/ && prev ~ /sending/ { print prev } { prev=$0 }'
/var/folders/n2/wgkrrbd57173j9dvy8bdjcvw0000gn/T/.tmpoRCbAi/http/2/ipa-1684215311.log: INFO ipa::net::transport: step: step=protocol/after_convert_all_bits/user_capping/report_level_capping/random_bits_for_comparison/is_p_less_than_b/check_trimmed/check_if_all_ones/bit13/C.1: sending
/var/folders/n2/wgkrrbd57173j9dvy8bdjcvw0000gn/T/.tmpoRCbAi/http/2/ipa-1684215311.log: INFO ipa::net::transport: step: step=protocol/after_convert_all_bits/user_capping/report_level_capping/random_bits_for_comparison/is_p_less_than_b/check_trimmed/check_if_all_ones/bit17/C.1: sending
/var/folders/n2/wgkrrbd57173j9dvy8bdjcvw0000gn/T/.tmpoRCbAi/http/2/ipa-1684215311.log: INFO ipa::net::transport: step: step=protocol/after_convert_all_bits/user_capping/report_level_capping/random_bits_for_comparison/is_p_less_than_b/check_trimmed/check_if_all_ones/bit19/C.1: sending
/var/folders/n2/wgkrrbd57173j9dvy8bdjcvw0000gn/T/.tmpoRCbAi/http/2/ipa-1684215311.log: INFO ipa::net::transport: step: step=protocol/after_convert_all_bits/user_capping/report_level_capping/random_bits_for_comparison/random_bits/convert_shares/bit15/xor2/C.1: sending |
Next step: I want to take a look at Tokio internals |
Found some evidence that Tokio is not a problem here. tracing::info!("step: {:?}/{:?}.1: sending", step, dest);
let resp_future = self.clients[dest].step(self.identity, query_id, &step, data);
let resp_future = match resp_future {
Ok(f) => f,
Err(e) => {
tracing::error!("failed to prepare request for step {} to {:?}: {e}", step, dest);
return Err(e)
}
};
tokio::spawn(async move {
tracing::info!("step: {:?}/{:?}.2: scheduled", step, dest);
let poll_f = resp_future
.map_err(Into::into)
.and_then(MpcHelperClient::resp_ok)
.await;
match poll_f {
Ok(_) => tracing::info!("step: {:?}/{:?}.3: sent", step, dest),
Err(e) => {
tracing::error!("an error occurred sending {:?} to {:?}: {e}", step, dest);
panic!("failed to stream records");
}
}
// .expect("failed to stream records");
}); I am seeing 3 lines for successful sends (sending,scheduled,sent) and 2 lines for unsuccessful grep "protocol/after_convert_all_bits/user_capping/random_bits_for_comparison/is_p_less_than_b/check_trimmed/check_if_all_ones/bit12/C" $FOLDER/http/*/*.log | sed 's/.*step: //'
step=protocol/after_convert_all_bits/user_capping/random_bits_for_comparison/is_p_less_than_b/check_trimmed/check_if_all_ones/bit12/C.1: sending
step=protocol/after_convert_all_bits/user_capping/random_bits_for_comparison/is_p_less_than_b/check_trimmed/check_if_all_ones/bit12/C.2: scheduled which likely means that polling let poll_f = resp_future
.map_err(Into::into)
.and_then(MpcHelperClient::resp_ok)
.await; |
I added some logging inside tracing::info!("step: {:?}/{:?}.2: scheduled", step, dest);
let poll_f = resp_future
.map_err(Into::into)
.and_then(|v| {
tracing::info!("step: {:?}/{:?}.3: response received", step, dest);
MpcHelperClient::resp_ok(v)
})
.await; /var/folders/n2/wgkrrbd57173j9dvy8bdjcvw0000gn/T/.tmphrNTf7/http/2/ipa-1684259265.log: INFO ipa::net::transport: step: step=protocol/after_convert_all_bits/user_capping/random_bits_for_comparison/is_p_less_than_b/check_trimmed/check_if_all_ones/bit10/C.1: sending
/var/folders/n2/wgkrrbd57173j9dvy8bdjcvw0000gn/T/.tmphrNTf7/http/2/ipa-1684259265.log: INFO ipa::net::transport: step: step=protocol/after_convert_all_bits/user_capping/random_bits_for_comparison/is_p_less_than_b/check_trimmed/check_if_all_ones/bit10/C.2: scheduled |
I strongly suspect that the request gets stuck on the client side (there were similar issues with HTTP2: hyperium/hyper#2419 before), but I can't prove that because of ECC :( I either need to switch to RSA or beg HTTP test to fail in the similar fashion |
looks like I got it 2023-05-16T19:07:13.639693Z INFO ipa::cli::verbosity: Logging setup: logging level: trace, output: stderr
test http_semi_honest_ipa has been running for over 60 seconds |
taking grep $STEP $FOLDER/http/*/*.log
/var/folders/n2/wgkrrbd57173j9dvy8bdjcvw0000gn/T/.tmpBImXXb/http/2/ipa-1684264033.log:2023-05-16T19:07:14.456770Z INFO ipa::net::transport: step: step=protocol/after_convert_all_bits/user_capping/random_bits_for_comparison/is_p_less_than_b/check_trimmed/check_if_all_ones/bit14/C.1: sending
/var/folders/n2/wgkrrbd57173j9dvy8bdjcvw0000gn/T/.tmpBImXXb/http/2/ipa-1684264033.log:2023-05-16T19:07:14.456800Z INFO ipa::net::transport: step: step=protocol/after_convert_all_bits/user_capping/random_bits_for_comparison/is_p_less_than_b/check_trimmed/check_if_all_ones/bit14/C.2: scheduled I am actually seeing an HTTP request for it in wireshark logs No. Time Source Source port Destination Destination port Protocol Length Info
699863 194.737789 127.0.0.1 3005 127.0.0.1 59710 TCP 56 3005 → 59710 [ACK] Seq=751 Ack=2464 Win=405824 Len=0 TSval=2360275062 TSecr=1785492200
699865 194.737870 127.0.0.1 59710 127.0.0.1 3005 HTTP 107 POST /query/0/step/protocol/after_convert_all_bits/user_capping/random_bits_for_comparison/is_p_less_than_b/check_trimmed/check_if_all_ones/bit14 HTTP/1.1
699867 194.737918 127.0.0.1 3005 127.0.0.1 59710 TCP 56 3005 → 59710 [ACK] Seq=751 Ack=2515 Win=405760 Len=0 TSval=2360275062 TSecr=1785492300 I am also seeing a TCP ack for it (sequence number matches)
but there is no application ack. The source port (59710) was used heavily before failed request though, but each time there was an 200 response
|
for the sake of experiment, I switched to http2 only on the client side pub fn new_with_connector(addr: Uri, connector: HttpsConnector<HttpConnector>) -> Self {
let client = Client::builder()
.http2_only(true).build(connector); works with no issues :( 100 runs and counting without any failures. both HTTP and HTTPS tests pass |
I had a feeling that this might be connection-management related. It might pay to land that, but you should make sure that the number of concurrent streams is adequate when we do that. I hate not understanding a problem better, but we have lots to do. https://docs.rs/hyper/latest/hyper/server/struct.Builder.html#method.http2_max_concurrent_streams |
All right I think I got it now. What we are observing here is another occurrence of hyperium/hyper#2312. This client configuration let client = Client::builder()
.pool_max_idle_per_host(0)
.build(connector); fixes the issue, but it is not sustainable in our setting - integration tests would need to open ~24k TCP connections and that is both slow (handshakes everywhere) and unreliable on a single machine - I am getting panics. Here is what I am going to do
|
I am going to close this issue because we've mitigated the problem - but will keep an eye on hyperium/hyper#2312 |
https://github.com/private-attribution/ipa/actions/runs/4964162687/jobs/8884058950?pr=647
The text was updated successfully, but these errors were encountered: