[INFO] fetching crate polyforge-mcp 0.4.1...
[INFO] testing polyforge-mcp-0.4.1 against 1.99.0-beta.8+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate polyforge-mcp 0.4.1 into /workspace/builds/worker-1-tc1/source
[INFO] started tweaking crates.io crate polyforge-mcp 0.4.1
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate polyforge-mcp 0.4.1
[INFO] tweaked toml for crates.io crate polyforge-mcp 0.4.1 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate polyforge-mcp 0.4.1 on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate polyforge-mcp 0.4.1 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded polyforge-core v0.4.0
[INFO] [stderr]   Downloaded fs2 v0.4.0
[INFO] [stderr]   Downloaded rmcp-macros v3.1.1
[INFO] [stderr]   Downloaded polyforge-toolrunner v0.4.1
[INFO] [stderr]   Downloaded rmcp v3.1.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 71b8cb94a8bf32fa9aee5e4a6a3f1d02fceeb027e2e3571f14fa07d9aa0b5442
[INFO] running `Command { std: "docker" "start" "71b8cb94a8bf32fa9aee5e4a6a3f1d02fceeb027e2e3571f14fa07d9aa0b5442", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "71b8cb94a8bf32fa9aee5e4a6a3f1d02fceeb027e2e3571f14fa07d9aa0b5442", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "71b8cb94a8bf32fa9aee5e4a6a3f1d02fceeb027e2e3571f14fa07d9aa0b5442" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "71b8cb94a8bf32fa9aee5e4a6a3f1d02fceeb027e2e3571f14fa07d9aa0b5442", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "71b8cb94a8bf32fa9aee5e4a6a3f1d02fceeb027e2e3571f14fa07d9aa0b5442" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]    Compiling darling_core v0.24.0
[INFO] [stderr]    Compiling ref-cast v1.0.26
[INFO] [stderr]    Compiling serde_derive_internals v0.30.0
[INFO] [stderr]    Compiling ref-cast-impl v1.0.26
[INFO] [stderr]    Compiling futures-executor v0.3.33
[INFO] [stderr]    Compiling thiserror-impl v2.0.19
[INFO] [stderr]    Compiling fs2 v0.4.0
[INFO] [stderr]    Compiling dyn-clone v1.0.20
[INFO] [stderr]    Compiling rmcp v3.1.1
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling uuid v1.24.0
[INFO] [stderr]    Compiling pastey v0.2.3
[INFO] [stderr]    Compiling futures v0.3.33
[INFO] [stderr]    Compiling tokio v1.53.1
[INFO] [stderr]    Compiling schemars_derive v1.2.2
[INFO] [stderr]    Compiling thiserror v2.0.19
[INFO] [stderr]    Compiling darling_macro v0.24.0
[INFO] [stderr]    Compiling darling v0.24.0
[INFO] [stderr]    Compiling rmcp-macros v3.1.1
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling polyforge-core v0.4.0
[INFO] [stderr]    Compiling schemars v1.2.2
[INFO] [stderr]    Compiling polyforge-toolrunner v0.4.1
[INFO] [stderr]    Compiling tokio-util v0.7.19
[INFO] [stderr]    Compiling tokio-stream v0.1.19
[INFO] [stderr]    Compiling polyforge-mcp v0.4.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 24s
[INFO] running `Command { std: "docker" "inspect" "71b8cb94a8bf32fa9aee5e4a6a3f1d02fceeb027e2e3571f14fa07d9aa0b5442", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "71b8cb94a8bf32fa9aee5e4a6a3f1d02fceeb027e2e3571f14fa07d9aa0b5442" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling polyforge-mcp v0.4.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 58.84s
[INFO] running `Command { std: "docker" "inspect" "71b8cb94a8bf32fa9aee5e4a6a3f1d02fceeb027e2e3571f14fa07d9aa0b5442", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "71b8cb94a8bf32fa9aee5e4a6a3f1d02fceeb027e2e3571f14fa07d9aa0b5442" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.14s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/polyforge_mcp-c118d3a149b10feb)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test server::tests::gated_get_info_delegates_version ... ok
[INFO] [stdout] test server::tests::now_ts_is_millisecond_unix_timestamp ... ok
[INFO] [stdout] test server::tests::parse_state_rejects_unknown_state ... ok
[INFO] [stdout] test server::tests::gated_get_tool_delegates_unknown_name ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/release/deps/polyforge_mcp-dee8b27b85d10818)
[INFO] [stdout] test server::tests::get_tool_returns_none_for_unknown_name ... ok
[INFO] [stdout] test server::tests::parse_state_accepts_all_four_states ... ok
[INFO] [stdout] test server::tests::get_info_pins_concrete_version ... ok
[INFO] [stdout] test server::tests::hex_encodes_bytes_lowercase_and_empty_input ... ok
[INFO] [stdout] test server::tests::gated_get_tool_delegates_registered_tool ... ok
[INFO] [stdout] test server::tests::get_tool_resolves_registered_tool_by_name ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test tests::test_default_ledger_resolves_under_pf ... ok
[INFO] [stderr]      Running tests/client_smoke.rs (/opt/rustwide/target/release/deps/client_smoke-dceea06ccc6478dc)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test test_army_smoke_negative ... ok
[INFO] [stderr]      Running tests/server_tools.rs (/opt/rustwide/target/release/deps/server_tools-8947a7c4eb544025)
[INFO] [stdout] test test_army_smoke_full_flow ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 19 tests
[INFO] [stdout] test test_server_lists_tools ... ok
[INFO] [stdout] test test_evidence_append_roundtrip ... ok
[INFO] [stdout] test test_evidence_append_roundtrips_identity_fields ... ok
[INFO] [stdout] test test_token_gate_accepts_correct_token ... ok
[INFO] [stdout] test test_token_gate_off_when_none ... ok
[INFO] [stdout] test test_new_kinds_still_rejected_via_mcp ... ok
[INFO] [stdout] test test_claim_cannot_self_verify_via_mcp ... ok
[INFO] [stdout] test test_evidence_append_absent_identity_fields_default_null ... ok
[INFO] [stdout] test test_stdio_roundtrip_without_token ... ok
[INFO] [stdout] test test_tcp_fails_closed_without_token ... FAILED
[INFO] [stdout] test test_token_gate_rejects_wrong_token ... ok
[INFO] [stdout] test test_token_gate_rejects_missing_token ... ok
[INFO] [stdout] test test_token_gate_leaves_tools_list_open ... ok
[INFO] [stdout] test test_tcp_non_empty_token_reaches_listening ... FAILED
[INFO] [stdout] test test_tcp_refuses_non_loopback_bind ... FAILED
[INFO] [stdout] test test_tcp_fails_closed_with_empty_token ... FAILED
[INFO] [stdout] test test_tcp_roundtrip_with_token ... ok
[INFO] [stdout] test test_gate_evaluate_roundtrip ... ok
[INFO] [stdout] test test_evidence_verify_roundtrip ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- test_tcp_fails_closed_without_token stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_tcp_fails_closed_without_token' (1297) panicked at tests/server_tools.rs:526:5:
[INFO] [stdout] stderr: Error: "failed to open ledger: Io(\"Read-only file system (os error 30)\")"
[INFO] [stdout] 
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x61d4f1100d81 - <<std[70759c8f55707aa4]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[df12db4294e9bfd3]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x61d4f1118bca - core[df12db4294e9bfd3]::fmt::write
[INFO] [stdout]    2:     0x61d4f11061ac - <alloc[2182bb758b4b3781]::vec::Vec<u8> as core[df12db4294e9bfd3]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x61d4f10d9826 - std[70759c8f55707aa4]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x61d4f10f8349 - std[70759c8f55707aa4]::panicking::default_hook
[INFO] [stdout]    5:     0x61d4f0fa7610 - test[9d35eded1c95d3be]::test_main_inner::<test[9d35eded1c95d3be]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]    6:     0x61d4f10f8672 - std[70759c8f55707aa4]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x61d4f10d98d2 - std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x61d4f10d1d09 - std[70759c8f55707aa4]::sys::backtrace::__rust_end_short_backtrace::<std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x61d4f10da8bd - __rustc[8fa7c3cbc660c2b3]::rust_begin_unwind
[INFO] [stdout]   10:     0x61d4f111932c - core[df12db4294e9bfd3]::panicking::panic_fmt
[INFO] [stdout]   11:     0x61d4f0f8c72d - server_tools[f0f38c5e8b3ef723]::test_tcp_fails_closed_without_token::{closure#0}
[INFO] [stdout]   12:     0x61d4f0e61b48 - <tokio[391c9ac007a21616]::runtime::scheduler::current_thread::Context>::enter::<core[df12db4294e9bfd3]::task::poll::Poll<core[df12db4294e9bfd3]::result::Result<(), anyhow[8c366fa371e7d33d]::Error>>, <tokio[391c9ac007a21616]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[df12db4294e9bfd3]::pin::Pin<&mut core[df12db4294e9bfd3]::pin::Pin<&mut dyn core[df12db4294e9bfd3]::future::future::Future<Output = core[df12db4294e9bfd3]::result::Result<(), anyhow[8c366fa371e7d33d]::Error>>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]   13:     0x61d4f0f73597 - <tokio[391c9ac007a21616]::runtime::context::scoped::Scoped<tokio[391c9ac007a21616]::runtime::scheduler::Context>>::set::<<tokio[391c9ac007a21616]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[391c9ac007a21616]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[df12db4294e9bfd3]::pin::Pin<&mut core[df12db4294e9bfd3]::pin::Pin<&mut dyn core[df12db4294e9bfd3]::future::future::Future<Output = core[df12db4294e9bfd3]::result::Result<(), anyhow[8c366fa371e7d33d]::Error>>>>>::{closure#0}, core[df12db4294e9bfd3]::option::Option<core[df12db4294e9bfd3]::result::Result<(), anyhow[8c366fa371e7d33d]::Error>>>::{closure#0}, (alloc[2182bb758b4b3781]::boxed::Box<tokio[391c9ac007a21616]::runtime::scheduler::current_thread::Core>, core[df12db4294e9bfd3]::option::Option<core[df12db4294e9bfd3]::result::Result<(), anyhow[8c366fa371e7d33d]::Error>>)>
[INFO] [stdout]   14:     0x61d4f0e617ea - <tokio[391c9ac007a21616]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[df12db4294e9bfd3]::pin::Pin<&mut dyn core[df12db4294e9bfd3]::future::future::Future<Output = core[df12db4294e9bfd3]::result::Result<(), anyhow[8c366fa371e7d33d]::Error>>>>
[INFO] [stdout]   15:     0x61d4f0f64b02 - <tokio[391c9ac007a21616]::runtime::runtime::Runtime>::block_on::<core[df12db4294e9bfd3]::pin::Pin<&mut dyn core[df12db4294e9bfd3]::future::future::Future<Output = core[df12db4294e9bfd3]::result::Result<(), anyhow[8c366fa371e7d33d]::Error>>>>
[INFO] [stdout]   16:     0x61d4f0f98de2 - <server_tools[f0f38c5e8b3ef723]::test_tcp_fails_closed_without_token::{closure#0} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   17:     0x61d4f0f9a8fb - test[9d35eded1c95d3be]::__rust_begin_short_backtrace::<core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>, fn() -> core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>>
[INFO] [stdout]   18:     0x61d4f0fa7f65 - test[9d35eded1c95d3be]::run_test::{closure#0}
[INFO] [stdout]   19:     0x61d4f0fa1824 - std[70759c8f55707aa4]::sys::backtrace::__rust_begin_short_backtrace::<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>
[INFO] [stdout]   20:     0x61d4f0fab0c2 - <std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   21:     0x61d4f10ffa29 - <std[70759c8f55707aa4]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   22:     0x792684c96dfa - <unknown>
[INFO] [stdout]   23:     0x792684d2a3d4 - clone
[INFO] [stdout]   24:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_tcp_non_empty_token_reaches_listening stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_tcp_non_empty_token_reaches_listening' (1298) panicked at tests/server_tools.rs:690:5:
[INFO] [stdout] unexpected first stderr line: Error: "failed to open ledger: Io(\"Read-only file system (os error 30)\")"
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x61d4f1100d81 - <<std[70759c8f55707aa4]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[df12db4294e9bfd3]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x61d4f1118bca - core[df12db4294e9bfd3]::fmt::write
[INFO] [stdout]    2:     0x61d4f11061ac - <alloc[2182bb758b4b3781]::vec::Vec<u8> as core[df12db4294e9bfd3]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x61d4f10d9826 - std[70759c8f55707aa4]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x61d4f10f8349 - std[70759c8f55707aa4]::panicking::default_hook
[INFO] [stdout]    5:     0x61d4f0fa7610 - test[9d35eded1c95d3be]::test_main_inner::<test[9d35eded1c95d3be]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]    6:     0x61d4f10f8672 - std[70759c8f55707aa4]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x61d4f10d98d2 - std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x61d4f10d1d09 - std[70759c8f55707aa4]::sys::backtrace::__rust_end_short_backtrace::<std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x61d4f10da8bd - __rustc[8fa7c3cbc660c2b3]::rust_begin_unwind
[INFO] [stdout]   10:     0x61d4f111932c - core[df12db4294e9bfd3]::panicking::panic_fmt
[INFO] [stdout]   11:     0x61d4f0f8eff4 - server_tools[f0f38c5e8b3ef723]::test_tcp_non_empty_token_reaches_listening::{closure#0}
[INFO] [stdout]   12:     0x61d4f0e61b48 - <tokio[391c9ac007a21616]::runtime::scheduler::current_thread::Context>::enter::<core[df12db4294e9bfd3]::task::poll::Poll<core[df12db4294e9bfd3]::result::Result<(), anyhow[8c366fa371e7d33d]::Error>>, <tokio[391c9ac007a21616]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[df12db4294e9bfd3]::pin::Pin<&mut core[df12db4294e9bfd3]::pin::Pin<&mut dyn core[df12db4294e9bfd3]::future::future::Future<Output = core[df12db4294e9bfd3]::result::Result<(), anyhow[8c366fa371e7d33d]::Error>>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]   13:     0x61d4f0f73597 - <tokio[391c9ac007a21616]::runtime::context::scoped::Scoped<tokio[391c9ac007a21616]::runtime::scheduler::Context>>::set::<<tokio[391c9ac007a21616]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[391c9ac007a21616]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[df12db4294e9bfd3]::pin::Pin<&mut core[df12db4294e9bfd3]::pin::Pin<&mut dyn core[df12db4294e9bfd3]::future::future::Future<Output = core[df12db4294e9bfd3]::result::Result<(), anyhow[8c366fa371e7d33d]::Error>>>>>::{closure#0}, core[df12db4294e9bfd3]::option::Option<core[df12db4294e9bfd3]::result::Result<(), anyhow[8c366fa371e7d33d]::Error>>>::{closure#0}, (alloc[2182bb758b4b3781]::boxed::Box<tokio[391c9ac007a21616]::runtime::scheduler::current_thread::Core>, core[df12db4294e9bfd3]::option::Option<core[df12db4294e9bfd3]::result::Result<(), anyhow[8c366fa371e7d33d]::Error>>)>
[INFO] [stdout]   14:     0x61d4f0e617ea - <tokio[391c9ac007a21616]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[df12db4294e9bfd3]::pin::Pin<&mut dyn core[df12db4294e9bfd3]::future::future::Future<Output = core[df12db4294e9bfd3]::result::Result<(), anyhow[8c366fa371e7d33d]::Error>>>>
[INFO] [stdout]   15:     0x61d4f0f64b02 - <tokio[391c9ac007a21616]::runtime::runtime::Runtime>::block_on::<core[df12db4294e9bfd3]::pin::Pin<&mut dyn core[df12db4294e9bfd3]::future::future::Future<Output = core[df12db4294e9bfd3]::result::Result<(), anyhow[8c366fa371e7d33d]::Error>>>>
[INFO] [stdout]   16:     0x61d4f0f99f62 - <server_tools[f0f38c5e8b3ef723]::test_tcp_non_empty_token_reaches_listening::{closure#0} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   17:     0x61d4f0f9a8fb - test[9d35eded1c95d3be]::__rust_begin_short_backtrace::<core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>, fn() -> core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>>
[INFO] [stdout]   18:     0x61d4f0fa7f65 - test[9d35eded1c95d3be]::run_test::{closure#0}
[INFO] [stdout]   19:     0x61d4f0fa1824 - std[70759c8f55707aa4]::sys::backtrace::__rust_begin_short_backtrace::<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>
[INFO] [stdout]   20:     0x61d4f0fab0c2 - <std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   21:     0x61d4f10ffa29 - <std[70759c8f55707aa4]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   22:     0x792684c96dfa - <unknown>
[INFO] [stdout]   23:     0x792684d2a3d4 - clone
[INFO] [stdout]   24:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_tcp_refuses_non_loopback_bind stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_tcp_refuses_non_loopback_bind' (1299) panicked at tests/server_tools.rs:546:5:
[INFO] [stdout] stderr: Error: "failed to open ledger: Io(\"Read-only file system (os error 30)\")"
[INFO] [stdout] 
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x61d4f1100d81 - <<std[70759c8f55707aa4]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[df12db4294e9bfd3]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x61d4f1118bca - core[df12db4294e9bfd3]::fmt::write
[INFO] [stdout]    2:     0x61d4f11061ac - <alloc[2182bb758b4b3781]::vec::Vec<u8> as core[df12db4294e9bfd3]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x61d4f10d9826 - std[70759c8f55707aa4]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x61d4f10f8349 - std[70759c8f55707aa4]::panicking::default_hook
[INFO] [stdout]    5:     0x61d4f0fa7610 - test[9d35eded1c95d3be]::test_main_inner::<test[9d35eded1c95d3be]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]    6:     0x61d4f10f8672 - std[70759c8f55707aa4]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x61d4f10d98d2 - std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x61d4f10d1d09 - std[70759c8f55707aa4]::sys::backtrace::__rust_end_short_backtrace::<std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x61d4f10da8bd - __rustc[8fa7c3cbc660c2b3]::rust_begin_unwind
[INFO] [stdout]   10:     0x61d4f111932c - core[df12db4294e9bfd3]::panicking::panic_fmt
[INFO] [stdout]   11:     0x61d4f0f8c2ef - server_tools[f0f38c5e8b3ef723]::test_tcp_refuses_non_loopback_bind::{closure#0}
[INFO] [stdout]   12:     0x61d4f0e61b48 - <tokio[391c9ac007a21616]::runtime::scheduler::current_thread::Context>::enter::<core[df12db4294e9bfd3]::task::poll::Poll<core[df12db4294e9bfd3]::result::Result<(), anyhow[8c366fa371e7d33d]::Error>>, <tokio[391c9ac007a21616]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[df12db4294e9bfd3]::pin::Pin<&mut core[df12db4294e9bfd3]::pin::Pin<&mut dyn core[df12db4294e9bfd3]::future::future::Future<Output = core[df12db4294e9bfd3]::result::Result<(), anyhow[8c366fa371e7d33d]::Error>>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]   13:     0x61d4f0f73597 - <tokio[391c9ac007a21616]::runtime::context::scoped::Scoped<tokio[391c9ac007a21616]::runtime::scheduler::Context>>::set::<<tokio[391c9ac007a21616]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[391c9ac007a21616]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[df12db4294e9bfd3]::pin::Pin<&mut core[df12db4294e9bfd3]::pin::Pin<&mut dyn core[df12db4294e9bfd3]::future::future::Future<Output = core[df12db4294e9bfd3]::result::Result<(), anyhow[8c366fa371e7d33d]::Error>>>>>::{closure#0}, core[df12db4294e9bfd3]::option::Option<core[df12db4294e9bfd3]::result::Result<(), anyhow[8c366fa371e7d33d]::Error>>>::{closure#0}, (alloc[2182bb758b4b3781]::boxed::Box<tokio[391c9ac007a21616]::runtime::scheduler::current_thread::Core>, core[df12db4294e9bfd3]::option::Option<core[df12db4294e9bfd3]::result::Result<(), anyhow[8c366fa371e7d33d]::Error>>)>
[INFO] [stdout]   14:     0x61d4f0e617ea - <tokio[391c9ac007a21616]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[df12db4294e9bfd3]::pin::Pin<&mut dyn core[df12db4294e9bfd3]::future::future::Future<Output = core[df12db4294e9bfd3]::result::Result<(), anyhow[8c366fa371e7d33d]::Error>>>>
[INFO] [stdout]   15:     0x61d4f0f64b02 - <tokio[391c9ac007a21616]::runtime::runtime::Runtime>::block_on::<core[df12db4294e9bfd3]::pin::Pin<&mut dyn core[df12db4294e9bfd3]::future::future::Future<Output = core[df12db4294e9bfd3]::result::Result<(), anyhow[8c366fa371e7d33d]::Error>>>>
[INFO] [stdout]   16:     0x61d4f0f98bb2 - <server_tools[f0f38c5e8b3ef723]::test_tcp_refuses_non_loopback_bind::{closure#0} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   17:     0x61d4f0f9a8fb - test[9d35eded1c95d3be]::__rust_begin_short_backtrace::<core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>, fn() -> core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>>
[INFO] [stdout]   18:     0x61d4f0fa7f65 - test[9d35eded1c95d3be]::run_test::{closure#0}
[INFO] [stdout]   19:     0x61d4f0fa1824 - std[70759c8f55707aa4]::sys::backtrace::__rust_begin_short_backtrace::<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>
[INFO] [stdout]   20:     0x61d4f0fab0c2 - <std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   21:     0x61d4f10ffa29 - <std[70759c8f55707aa4]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   22:     0x792684c96dfa - <unknown>
[INFO] [stdout]   23:     0x792684d2a3d4 - clone
[INFO] [stdout]   24:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_tcp_fails_closed_with_empty_token stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_tcp_fails_closed_with_empty_token' (1296) panicked at tests/server_tools.rs:661:5:
[INFO] [stdout] stderr: Error: "failed to open ledger: Io(\"Read-only file system (os error 30)\")"
[INFO] [stdout] 
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x61d4f1100d81 - <<std[70759c8f55707aa4]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[df12db4294e9bfd3]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x61d4f1118bca - core[df12db4294e9bfd3]::fmt::write
[INFO] [stdout]    2:     0x61d4f11061ac - <alloc[2182bb758b4b3781]::vec::Vec<u8> as core[df12db4294e9bfd3]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x61d4f10d9826 - std[70759c8f55707aa4]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x61d4f10f8349 - std[70759c8f55707aa4]::panicking::default_hook
[INFO] [stdout]    5:     0x61d4f0fa7610 - test[9d35eded1c95d3be]::test_main_inner::<test[9d35eded1c95d3be]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]    6:     0x61d4f10f8672 - std[70759c8f55707aa4]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x61d4f10d98d2 - std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x61d4f10d1d09 - std[70759c8f55707aa4]::sys::backtrace::__rust_end_short_backtrace::<std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x61d4f10da8bd - __rustc[8fa7c3cbc660c2b3]::rust_begin_unwind
[INFO] [stdout]   10:     0x61d4f111932c - core[df12db4294e9bfd3]::panicking::panic_fmt
[INFO] [stdout]   11:     0x61d4f0f8e338 - server_tools[f0f38c5e8b3ef723]::test_tcp_fails_closed_with_empty_token::{closure#0}
[INFO] [stdout]   12:     0x61d4f0e61b48 - <tokio[391c9ac007a21616]::runtime::scheduler::current_thread::Context>::enter::<core[df12db4294e9bfd3]::task::poll::Poll<core[df12db4294e9bfd3]::result::Result<(), anyhow[8c366fa371e7d33d]::Error>>, <tokio[391c9ac007a21616]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[df12db4294e9bfd3]::pin::Pin<&mut core[df12db4294e9bfd3]::pin::Pin<&mut dyn core[df12db4294e9bfd3]::future::future::Future<Output = core[df12db4294e9bfd3]::result::Result<(), anyhow[8c366fa371e7d33d]::Error>>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]   13:     0x61d4f0f73597 - <tokio[391c9ac007a21616]::runtime::context::scoped::Scoped<tokio[391c9ac007a21616]::runtime::scheduler::Context>>::set::<<tokio[391c9ac007a21616]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[391c9ac007a21616]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[df12db4294e9bfd3]::pin::Pin<&mut core[df12db4294e9bfd3]::pin::Pin<&mut dyn core[df12db4294e9bfd3]::future::future::Future<Output = core[df12db4294e9bfd3]::result::Result<(), anyhow[8c366fa371e7d33d]::Error>>>>>::{closure#0}, core[df12db4294e9bfd3]::option::Option<core[df12db4294e9bfd3]::result::Result<(), anyhow[8c366fa371e7d33d]::Error>>>::{closure#0}, (alloc[2182bb758b4b3781]::boxed::Box<tokio[391c9ac007a21616]::runtime::scheduler::current_thread::Core>, core[df12db4294e9bfd3]::option::Option<core[df12db4294e9bfd3]::result::Result<(), anyhow[8c366fa371e7d33d]::Error>>)>
[INFO] [stdout]   14:     0x61d4f0e617ea - <tokio[391c9ac007a21616]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[df12db4294e9bfd3]::pin::Pin<&mut dyn core[df12db4294e9bfd3]::future::future::Future<Output = core[df12db4294e9bfd3]::result::Result<(), anyhow[8c366fa371e7d33d]::Error>>>>
[INFO] [stdout]   15:     0x61d4f0f64b02 - <tokio[391c9ac007a21616]::runtime::runtime::Runtime>::block_on::<core[df12db4294e9bfd3]::pin::Pin<&mut dyn core[df12db4294e9bfd3]::future::future::Future<Output = core[df12db4294e9bfd3]::result::Result<(), anyhow[8c366fa371e7d33d]::Error>>>>
[INFO] [stdout]   16:     0x61d4f0f99b02 - <server_tools[f0f38c5e8b3ef723]::test_tcp_fails_closed_with_empty_token::{closure#0} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   17:     0x61d4f0f9a8fb - test[9d35eded1c95d3be]::__rust_begin_short_backtrace::<core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>, fn() -> core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>>
[INFO] [stdout]   18:     0x61d4f0fa7f65 - test[9d35eded1c95d3be]::run_test::{closure#0}
[INFO] [stdout]   19:     0x61d4f0fa1824 - std[70759c8f55707aa4]::sys::backtrace::__rust_begin_short_backtrace::<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>
[INFO] [stdout]   20:     0x61d4f0fab0c2 - <std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   21:     0x61d4f10ffa29 - <std[70759c8f55707aa4]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   22:     0x792684c96dfa - <unknown>
[INFO] [stdout]   23:     0x792684d2a3d4 - clone
[INFO] [stdout]   24:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     test_tcp_fails_closed_with_empty_token
[INFO] [stdout]     test_tcp_fails_closed_without_token
[INFO] [stdout]     test_tcp_non_empty_token_reaches_listening
[INFO] [stdout]     test_tcp_refuses_non_loopback_bind
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 15 passed; 4 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test server_tools`
[INFO] running `Command { std: "docker" "inspect" "71b8cb94a8bf32fa9aee5e4a6a3f1d02fceeb027e2e3571f14fa07d9aa0b5442", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "71b8cb94a8bf32fa9aee5e4a6a3f1d02fceeb027e2e3571f14fa07d9aa0b5442", kill_on_drop: false }`
[INFO] [stdout] 71b8cb94a8bf32fa9aee5e4a6a3f1d02fceeb027e2e3571f14fa07d9aa0b5442
