[INFO] cloning repository https://github.com/brookstalley/worldground
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/brookstalley/worldground" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbrookstalley%2Fworldground", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbrookstalley%2Fworldground'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 48313778d7c3cfeb15699abcfb0c409177bc33b4
[INFO] testing brookstalley/worldground/48313778d7c3cfeb15699abcfb0c409177bc33b4 against beta-2026-03-05 for beta-1.95-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbrookstalley%2Fworldground" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/brookstalley/worldground
[INFO] finished tweaking git repo https://github.com/brookstalley/worldground
[INFO] tweaked toml for git repo https://github.com/brookstalley/worldground written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/brookstalley/worldground on toolchain beta-2026-03-05
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-03-05" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/brookstalley/worldground 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" "+beta-2026-03-05" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2761019b9949a330787f33bbd3fa7ec0e2f50e851a026d937163de64aa23f21d
[INFO] running `Command { std: "docker" "start" "-a" "2761019b9949a330787f33bbd3fa7ec0e2f50e851a026d937163de64aa23f21d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2761019b9949a330787f33bbd3fa7ec0e2f50e851a026d937163de64aa23f21d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2761019b9949a330787f33bbd3fa7ec0e2f50e851a026d937163de64aa23f21d", kill_on_drop: false }`
[INFO] [stdout] 2761019b9949a330787f33bbd3fa7ec0e2f50e851a026d937163de64aa23f21d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-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" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a7840b2d4e90b93c838bbcfc9ee54abd1105253c61cac5e7ed9031380e8d795d
[INFO] running `Command { std: "docker" "start" "-a" "a7840b2d4e90b93c838bbcfc9ee54abd1105253c61cac5e7ed9031380e8d795d", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling portable-atomic v1.13.1
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling smartstring v1.0.1
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling utf-8 v0.7.6
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling const_soft_float v0.1.4
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling syn v2.0.116
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling data-encoding v2.10.0
[INFO] [stderr]    Compiling clap_builder v4.5.59
[INFO] [stderr]    Compiling constgebra v0.1.4
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling glam v0.32.0
[INFO] [stderr]    Compiling thin-vec v0.2.14
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling socket2 v0.6.2
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand_xorshift v0.3.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling getrandom v0.4.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling uuid v1.21.0
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]    Compiling const-random v0.1.18
[INFO] [stderr]    Compiling noise v0.9.0
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling rhai_codegen v3.1.0
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling rhai v1.24.0
[INFO] [stderr]    Compiling tungstenite v0.26.2
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling clap v4.5.59
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling tracing-serde v0.2.0
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling tracing-subscriber v0.3.22
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling hexasphere v18.0.0
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling tokio-tungstenite v0.26.2
[INFO] [stderr]    Compiling worldground v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 58.26s
[INFO] running `Command { std: "docker" "inspect" "a7840b2d4e90b93c838bbcfc9ee54abd1105253c61cac5e7ed9031380e8d795d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a7840b2d4e90b93c838bbcfc9ee54abd1105253c61cac5e7ed9031380e8d795d", kill_on_drop: false }`
[INFO] [stdout] a7840b2d4e90b93c838bbcfc9ee54abd1105253c61cac5e7ed9031380e8d795d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-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" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] cb4f26d572e078c2d2eda661c90dc98c6ab09b104e344617dfad00ffe7ebd487
[INFO] running `Command { std: "docker" "start" "-a" "cb4f26d572e078c2d2eda661c90dc98c6ab09b104e344617dfad00ffe7ebd487", kill_on_drop: false }`
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling rhai v1.24.0
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling tempfile v3.25.0
[INFO] [stderr]    Compiling worldground v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 31.94s
[INFO] running `Command { std: "docker" "inspect" "cb4f26d572e078c2d2eda661c90dc98c6ab09b104e344617dfad00ffe7ebd487", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cb4f26d572e078c2d2eda661c90dc98c6ab09b104e344617dfad00ffe7ebd487", kill_on_drop: false }`
[INFO] [stdout] cb4f26d572e078c2d2eda661c90dc98c6ab09b104e344617dfad00ffe7ebd487
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-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" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] abd06789afab68a7fe45eccd695225ce83fe9a943110b91457257a5b6e848cc8
[INFO] running `Command { std: "docker" "start" "-a" "abd06789afab68a7fe45eccd695225ce83fe9a943110b91457257a5b6e848cc8", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.25s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/worldground-90ae871b32081af5)
[INFO] [stdout] 
[INFO] [stdout] running 194 tests
[INFO] [stdout] test config::generation::tests::invalid_tile_count ... ok
[INFO] [stdout] test config::generation::tests::invalid_mountain_ratio ... ok
[INFO] [stdout] test config::generation::tests::invalid_ocean_ratio ... ok
[INFO] [stdout] test config::simulation::tests::defaults_applied_for_empty_config ... ok
[INFO] [stdout] test config::simulation::tests::invalid_season_length_rejected ... ok
[INFO] [stdout] test config::simulation::tests::invalid_log_level_rejected ... ok
[INFO] [stdout] test config::simulation::tests::invalid_websocket_port_rejected ... ok
[INFO] [stdout] test config::generation::tests::from_toml_string ... ok
[INFO] [stdout] test config::simulation::tests::multiple_errors_reported_together ... ok
[INFO] [stdout] test config::simulation::tests::malformed_toml_includes_source_path ... ok
[INFO] [stdout] test config::simulation::tests::valid_config_loads_all_fields ... ok
[INFO] [stdout] test config::simulation::tests::from_file_missing_file_error ... ok
[INFO] [stdout] test config::generation::tests::from_file_invalid_toml ... ok
[INFO] [stdout] test config::generation::tests::from_file_missing ... ok
[INFO] [stdout] test persistence::snapshot::tests::load_latest_valid_empty_dir_returns_error ... ok
[INFO] [stdout] test config::simulation::tests::invalid_tick_rate_rejected ... ok
[INFO] [stdout] test config::generation::tests::valid_params ... ok
[INFO] [stdout] test config::simulation::tests::invalid_snapshot_interval_rejected ... ok
[INFO] [stdout] test persistence::snapshot::tests::parse_invalid_filename_returns_none ... ok
[INFO] [stdout] test config::generation::tests::from_file_out_of_range ... ok
[INFO] [stdout] test config::simulation::tests::from_file_loads_valid_config ... ok
[INFO] [stdout] test config::generation::tests::from_file_valid ... ok
[INFO] [stdout] test persistence::snapshot::tests::load_truncated_snapshot_returns_error ... ok
[INFO] [stdout] test persistence::snapshot::tests::atomic_write_no_temp_files_remain ... ok
[INFO] [stdout] test persistence::snapshot::tests::list_snapshots_nonexistent_dir ... ok
[INFO] [stdout] test persistence::snapshot::tests::list_snapshots_skips_non_snapshot_files ... ok
[INFO] [stdout] test persistence::snapshot::tests::load_corrupt_snapshot_returns_error ... ok
[INFO] [stdout] test persistence::snapshot::tests::load_latest_valid_falls_back_on_corrupt ... ok
[INFO] [stdout] test persistence::snapshot::tests::load_latest_valid_all_corrupt_returns_error ... ok
[INFO] [stdout] test persistence::snapshot::tests::snapshot_filename_parse_round_trip ... ok
[INFO] [stdout] test persistence::snapshot::tests::list_snapshots_returns_sorted_newest_first ... ok
[INFO] [stdout] test server::protocol::tests::diff_detects_multiple_layer_changes ... ok
[INFO] [stdout] test persistence::snapshot::tests::list_snapshots_empty_dir ... ok
[INFO] [stdout] test persistence::snapshot::tests::save_creates_directory_if_missing ... ok
[INFO] [stdout] test persistence::snapshot::tests::prune_keeps_max_snapshots ... ok
[INFO] [stdout] test persistence::snapshot::tests::save_and_load_round_trip_identical ... ok
[INFO] [stdout] test server::protocol::tests::diff_empty_when_no_changes ... ok
[INFO] [stdout] test server::protocol::tests::diff_only_includes_changed_tiles ... ok
[INFO] [stdout] test server::protocol::tests::world_snapshot_contains_all_tiles ... ok
[INFO] [stdout] test server::protocol::tests::health_status_serializes ... ok
[INFO] [stdout] test server::protocol::tests::snapshot_serializes_to_json ... ok
[INFO] [stdout] test server::protocol::tests::tick_diff_serializes_to_json ... ok
[INFO] [stdout] test server::tests::build_diff_json_is_valid ... ok
[INFO] [stdout] test server::tests::server_state_updates_snapshot_for_new_clients ... ok
[INFO] [stdout] test simulation::engine::tests::apply_conditions_mutations_with_clamping ... ok
[INFO] [stdout] test server::tests::tick_rate_calculation ... ok
[INFO] [stdout] test server::tests::server_state_on_tick_updates_health ... ok
[INFO] [stdout] test server::tests::health_endpoint_returns_json ... ok
[INFO] [stdout] test server::tests::build_diff_json_empty_when_no_changes ... ok
[INFO] [stdout] test simulation::engine::tests::apply_weather_mutations ... ok
[INFO] [stdout] test simulation::engine::tests::apply_terrain_mutations ... ok
[INFO] [stdout] test simulation::engine::tests::immutable_map_contents_match_full ... ok
[INFO] [stdout] test simulation::engine::tests::missing_rule_dir_error ... ok
[INFO] [stdout] test server::tests::client_disconnect_does_not_crash_server ... ok
[INFO] [stdout] test simulation::engine::tests::enum_string_helpers_match_debug ... ok
[INFO] [stdout] test simulation::engine::tests::empty_phase_dir_is_noop ... ok
[INFO] [stdout] test persistence::snapshot::tests::prune_noop_when_under_limit ... ok
[INFO] [stdout] test simulation::engine::tests::multiple_rules_last_write_wins ... ok
[INFO] [stdout] test simulation::engine::tests::rhai_syntax_error_detected ... ok
[INFO] [stdout] test simulation::engine::tests::load_valid_rules ... ok
[INFO] [stdout] test server::protocol::tests::diff_detects_weather_change ... ok
[INFO] [stdout] test simulation::engine::tests::rule_error_returns_rule_error ... ok
[INFO] [stdout] test server::tests::websocket_client_receives_snapshot_and_diff ... ok
[INFO] [stdout] test simulation::engine::tests::tile_to_map_has_all_layers ... ok
[INFO] [stdout] test simulation::engine::tests::xorshift64_deterministic ... ok
[INFO] [stdout] test persistence::snapshot::tests::round_trip_preserves_all_fields ... ok
[INFO] [stdout] test server::tests::build_snapshot_json_is_valid ... ok
[INFO] [stdout] test simulation::engine::tests::wrong_phase_mutations_ignored ... ok
[INFO] [stdout] test simulation::macro_weather::tests::coriolis_direction_nh_low ... ok
[INFO] [stdout] test simulation::engine::tests::rule_reads_tile_data ... ok
[INFO] [stdout] test simulation::engine::tests::rule_reads_season_and_tick ... ok
[INFO] [stdout] test simulation::macro_weather::tests::gaussian_falloff_correct ... ok
[INFO] [stdout] test simulation::macro_weather::tests::spatial_grid_wrapping_and_poles ... ok
[INFO] [stdout] test server::tests::broadcast_diff_to_subscribers ... ok
[INFO] [stdout] test simulation::macro_weather::tests::empty_systems_resets_tile_fields ... ok
[INFO] [stdout] test simulation::native_weather::tests::accum_storm_amplifies_rule1_wind ... ok
[INFO] [stdout] test simulation::native_weather::tests::native_weather_produces_expected_fields ... ok
[INFO] [stdout] test simulation::native_weather::tests::accum_storm_reads_fresh_cloud ... ok
[INFO] [stdout] test simulation::native_weather::tests::accum_no_duplicate_mutations ... ok
[INFO] [stdout] test simulation::native_weather::tests::native_weather_rng_deterministic ... ok
[INFO] [stdout] test simulation::native_weather::tests::test_convergence_vertical_motion_values ... ok
[INFO] [stdout] test simulation::native_weather::tests::test_convergence_zones_latitude_pattern ... ok
[INFO] [stdout] test simulation::native_weather::tests::test_evapotranspiration_scales_with_vegetation ... ok
[INFO] [stdout] test simulation::native_weather::tests::test_cloud_clearing_from_precipitation ... ok
[INFO] [stdout] test simulation::native_weather::tests::test_humidity_advects_downwind ... ok
[INFO] [stdout] test simulation::native_weather::tests::test_advection_weight_alignment ... ok
[INFO] [stdout] test simulation::engine::tests::rules_sorted_by_filename ... ok
[INFO] [stdout] test simulation::macro_weather::tests::projection_sets_tile_fields ... ok
[INFO] [stdout] test simulation::native_weather::tests::test_humidity_stable_without_macro ... ok
[INFO] [stdout] test simulation::macro_weather::tests::spatial_grid_matches_linear_scan ... ok
[INFO] [stdout] test simulation::native_weather::tests::test_neighbor_bearings_geodesic ... ok
[INFO] [stdout] test simulation::native_weather::tests::test_precipitation_sustains_humidity ... ok
[INFO] [stdout] test simulation::native_weather::tests::test_no_advection_crosswind ... ok
[INFO] [stdout] test simulation::phase::tests::biome_adjacency_graph_is_bidirectional ... ok
[INFO] [stdout] test simulation::native_weather::tests::accum_humidity_chain ... ok
[INFO] [stdout] test simulation::native_weather::tests::test_neighbor_bearings_flat_hex_fallback ... ok
[INFO] [stdout] test simulation::phase::tests::invalid_biome_transition_tundra_to_desert_rejected ... ok
[INFO] [stdout] test simulation::phase::tests::non_biome_mutations_preserved_when_biome_rejected ... ok
[INFO] [stdout] test simulation::phase::tests::ocean_biome_transition_always_rejected ... ok
[INFO] [stdout] test simulation::sphere_math::tests::advance_position_eastward_at_equator ... ok
[INFO] [stdout] test simulation::sphere_math::tests::advance_position_northward ... ok
[INFO] [stdout] test simulation::phase::tests::empty_phase_is_noop ... ok
[INFO] [stdout] test simulation::phase::tests::valid_biome_transition_grassland_to_savanna_accepted ... ok
[INFO] [stdout] test simulation::sphere_math::tests::advance_position_stationary ... ok
[INFO] [stdout] test simulation::sphere_math::tests::angular_distance_antipodal ... ok
[INFO] [stdout] test simulation::sphere_math::tests::angular_distance_same_point ... ok
[INFO] [stdout] test simulation::sphere_math::tests::angular_distance_symmetric ... ok
[INFO] [stdout] test simulation::sphere_math::tests::direction_coincident_returns_zero ... ok
[INFO] [stdout] test simulation::sphere_math::tests::angular_distance_pole_to_equator ... ok
[INFO] [stdout] test simulation::sphere_math::tests::direction_on_sphere_east ... ok
[INFO] [stdout] test simulation::sphere_math::tests::lat_lon_xyz_round_trip ... ok
[INFO] [stdout] test simulation::sphere_math::tests::tangent_to_bearing_north ... ok
[INFO] [stdout] test simulation::sphere_math::tests::tangent_to_bearing_east ... ok
[INFO] [stdout] test simulation::sphere_math::tests::rotate_tangent_vector_90_degrees ... ok
[INFO] [stdout] test simulation::sphere_math::tests::tangent_to_bearing_south ... ok
[INFO] [stdout] test simulation::sphere_math::tests::tangent_to_bearing_west ... ok
[INFO] [stdout] test simulation::statistics::tests::compute_statistics_basic_averages ... ok
[INFO] [stdout] test simulation::statistics::tests::compute_statistics_biome_distribution ... ok
[INFO] [stdout] test simulation::sphere_math::tests::direction_on_sphere_north ... ok
[INFO] [stdout] test simulation::statistics::tests::diversity_index_monoculture_is_zero ... ok
[INFO] [stdout] test simulation::sphere_math::tests::angular_distance_equator_quarter ... ok
[INFO] [stdout] test simulation::engine::tests::rule_reads_neighbors ... ok
[INFO] [stdout] test simulation::statistics::tests::empty_world_returns_zeroed_stats ... ok
[INFO] [stdout] test simulation::statistics::tests::weather_coverage_counted ... ok
[INFO] [stdout] test simulation::statistics::tests::diversity_index_multiple_biomes_positive ... ok
[INFO] [stdout] test server::tests::health_recent_durations_capped_at_100 ... ok
[INFO] [stdout] test simulation::engine::tests::rule_timeout_enforced ... ok
[INFO] [stdout] test simulation::macro_weather::tests::geodesic_world_macro_weather ... ok
[INFO] [stdout] test simulation::tests::established_biome_resists_change ... ok
[INFO] [stdout] test simulation::phase::tests::double_buffer_within_phase ... ok
[INFO] [stdout] test simulation::tests::cascade_detection_with_failing_rules ... ok
[INFO] [stdout] test simulation::macro_weather::tests::macro_weather_step_deterministic ... ok
[INFO] [stdout] test simulation::tests::memory_estimate_10k_tiles_under_50mb ... ok
[INFO] [stdout] test simulation::tests::phase_ordering_causal_chain ... ok
[INFO] [stdout] test persistence::snapshot::tests::multiple_saves_produce_distinct_files ... ok
[INFO] [stdout] test world::generation::tests::all_ocean_world ... ok
[INFO] [stdout] test world::generation::tests::climate_follows_latitude ... ok
[INFO] [stdout] test world::generation::tests::custom_params_mountain_ratio ... ok
[INFO] [stdout] test world::generation::tests::custom_params_ocean_ratio ... ok
[INFO] [stdout] test simulation::tests::single_tick_produces_state_changes ... ok
[INFO] [stdout] test simulation::tests::ticks_in_current_biome_increments ... ok
[INFO] [stdout] test world::generation::tests::generate_default_world_all_layers_populated ... ok
[INFO] [stdout] test world::generation::tests::generate_default_world_correct_tile_count ... ok
[INFO] [stdout] test world::generation::tests::generate_geodesic_world_correct_tile_count ... ok
[INFO] [stdout] test world::generation::tests::generate_geodesic_world_all_layers_populated ... ok
[INFO] [stdout] test world::generation::tests::generate_default_world_ocean_ratio ... ok
[INFO] [stdout] test world::generation::tests::min_world_100_tiles ... ok
[INFO] [stdout] test world::generation::tests::generation_is_deterministic ... ok
[INFO] [stdout] test world::generation::tests::no_ocean_world ... ok
[INFO] [stdout] test world::generation::tests::geodesic_climate_follows_latitude ... ok
[INFO] [stdout] test simulation::tests::season_advances_at_interval ... ok
[INFO] [stdout] test simulation::macro_weather::tests::systems_spawn_and_evolve ... ok
[INFO] [stdout] test world::tile::tests::all_terrain_types_serialize ... ok
[INFO] [stdout] test world::tile::tests::season_cycles_correctly ... ok
[INFO] [stdout] test world::generation::tests::seed_zero_generates_random ... ok
[INFO] [stdout] test world::tile::tests::tile_serde_round_trip ... ok
[INFO] [stdout] test world::topology::tests::all_tiles_have_six_neighbors ... ok
[INFO] [stdout] test world::topology::tests::all_tiles_reachable ... ok
[INFO] [stdout] test world::topology::tests::flat_hex_correct_tile_count ... ok
[INFO] [stdout] test world::topology::tests::geodesic_all_tiles_reachable ... ok
[INFO] [stdout] test world::tile::tests::tile_creation_has_all_layers ... ok
[INFO] [stdout] test world::tile::tests::all_biome_types_serialize ... ok
[INFO] [stdout] test simulation::tests::geodesic_pentagon_tiles_simulate_correctly ... ok
[INFO] [stdout] test world::topology::tests::geodesic_lat_lon_ranges ... ok
[INFO] [stdout] test world::topology::tests::geodesic_is_deterministic ... ok
[INFO] [stdout] test world::generation::tests::resources_distributed ... ok
[INFO] [stdout] test world::topology::tests::geodesic_neighbors_bidirectional ... ok
[INFO] [stdout] test world::topology::tests::geodesic_positions_on_unit_sphere ... ok
[INFO] [stdout] test world::topology::tests::grid_dimensions_returns_valid_sizes ... ok
[INFO] [stdout] test world::topology::tests::neighbors_are_bidirectional ... ok
[INFO] [stdout] test world::topology::tests::no_duplicate_neighbors ... ok
[INFO] [stdout] test world::topology::tests::geodesic_exactly_12_pentagons ... ok
[INFO] [stdout] test world::topology::tests::geodesic_no_self_neighbors ... ok
[INFO] [stdout] test world::topology::tests::geodesic_tile_count_formula ... ok
[INFO] [stdout] test world::weather_systems::tests::all_system_types_serialize ... ok
[INFO] [stdout] test world::weather_systems::tests::macro_weather_state_default ... ok
[INFO] [stdout] test world::topology::tests::small_grid_neighbor_verification ... ok
[INFO] [stdout] test world::weather_systems::tests::macro_weather_state_with_seed ... ok
[INFO] [stdout] test world::topology::tests::topology_is_deterministic ... ok
[INFO] [stdout] test world::weather_systems::tests::pressure_system_serde_round_trip ... ok
[INFO] [stdout] test world::topology::tests::geodesic_no_duplicate_neighbors ... ok
[INFO] [stdout] test world::topology::tests::no_self_neighbors ... ok
[INFO] [stdout] test world::weather_systems::tests::macro_weather_state_serde_round_trip ... ok
[INFO] [stdout] test simulation::tests::season_full_cycle ... ok
[INFO] [stdout] test world::topology::tests::geodesic_correct_tile_counts ... ok
[INFO] [stdout] test persistence::snapshot::tests::serialization_round_trip_10k_tiles_within_one_second ... FAILED
[INFO] [stdout] test simulation::tests::geodesic_world_multi_tick_no_errors ... ok
[INFO] [stdout] test simulation::macro_weather::tests::systems_capped_at_max ... ok
[INFO] [stdout] test simulation::tests::test_advection_moves_humidity_inland ... ok
[INFO] [stdout] test simulation::tests::multi_tick_evolution_400_ticks has been running for over 60 seconds
[INFO] [stdout] test simulation::tests::per_phase_timing_within_budget has been running for over 60 seconds
[INFO] [stdout] test simulation::tests::performance_10k_tiles_100_ticks has been running for over 60 seconds
[INFO] [stdout] test simulation::tests::simulation_determinism_100_ticks has been running for over 60 seconds
[INFO] [stdout] test simulation::tests::test_world_does_not_desertify has been running for over 60 seconds
[INFO] [stdout] test simulation::tests::per_phase_timing_within_budget ... FAILED
[INFO] [stdout] test simulation::tests::simulation_determinism_100_ticks ... ok
[INFO] [stdout] test simulation::tests::performance_10k_tiles_100_ticks ... FAILED
[INFO] [stdout] test simulation::tests::multi_tick_evolution_400_ticks ... ok
[INFO] [stdout] test simulation::tests::test_world_does_not_desertify ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- persistence::snapshot::tests::serialization_round_trip_10k_tiles_within_one_second stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'persistence::snapshot::tests::serialization_round_trip_10k_tiles_within_one_second' (62) panicked at src/persistence/snapshot.rs:477:9:
[INFO] [stdout] 10K tile round-trip took 2270ms, expected < 1000ms
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x59e014d86f2a - std[b80a194dd3c418bb]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x59e014d86f2a - std[b80a194dd3c418bb]::backtrace_rs::backtrace::trace_unsynchronized::<std[b80a194dd3c418bb]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x59e014d86f2a - std[b80a194dd3c418bb]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x59e014d86f2a - <<std[b80a194dd3c418bb]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[10b6fa85044e1869]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x59e014da0cda - <core[10b6fa85044e1869]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x59e014da0cda - core[10b6fa85044e1869]::fmt::write
[INFO] [stdout]    6:     0x59e014d8bfc2 - std[b80a194dd3c418bb]::io::default_write_fmt::<alloc[dd269455e567d8e9]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x59e014d8bfc2 - <alloc[dd269455e567d8e9]::vec::Vec<u8> as std[b80a194dd3c418bb]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x59e014d62a3f - <std[b80a194dd3c418bb]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x59e014d62a3f - std[b80a194dd3c418bb]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x59e014d7dd19 - std[b80a194dd3c418bb]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x59e01467d7cc - <alloc[dd269455e567d8e9]::boxed::Box<dyn for<'a, 'b> core[10b6fa85044e1869]::ops::function::Fn<(&'a std[b80a194dd3c418bb]::panic::PanicHookInfo<'b>,), Output = ()> + core[10b6fa85044e1869]::marker::Sync + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::Fn<(&std[b80a194dd3c418bb]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x59e01467d7cc - test[826cbc6ef54ab466]::test_main_with_exit_callback::<test[826cbc6ef54ab466]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x59e014d7df92 - <alloc[dd269455e567d8e9]::boxed::Box<dyn for<'a, 'b> core[10b6fa85044e1869]::ops::function::Fn<(&'a std[b80a194dd3c418bb]::panic::PanicHookInfo<'b>,), Output = ()> + core[10b6fa85044e1869]::marker::Sync + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::Fn<(&std[b80a194dd3c418bb]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x59e014d7df92 - std[b80a194dd3c418bb]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x59e014d62af8 - std[b80a194dd3c418bb]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x59e014d5a0c9 - std[b80a194dd3c418bb]::sys::backtrace::__rust_end_short_backtrace::<std[b80a194dd3c418bb]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x59e014d63a8d - __rustc[9698a3e60dd14283]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x59e014da15ec - core[10b6fa85044e1869]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x59e01441695d - worldground::persistence::snapshot::tests::serialization_round_trip_10k_tiles_within_one_second::hdd58dd888e10d692
[INFO] [stdout]                                at /opt/rustwide/workdir/src/persistence/snapshot.rs:477:9
[INFO] [stdout]   20:     0x59e0144169b7 - worldground::persistence::snapshot::tests::serialization_round_trip_10k_tiles_within_one_second::{{closure}}::h7a6a4f88af072079
[INFO] [stdout]                                at /opt/rustwide/workdir/src/persistence/snapshot.rs:469:62
[INFO] [stdout]   21:     0x59e014513e16 - core::ops::function::FnOnce::call_once::h4c0ed284f3dfc845
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x59e0146718ab - <fn() -> core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x59e0146718ab - test[826cbc6ef54ab466]::__rust_begin_short_backtrace::<core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>, fn() -> core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:663:18
[INFO] [stdout]   24:     0x59e01467e29b - test[826cbc6ef54ab466]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:74
[INFO] [stdout]   25:     0x59e01467e29b - <core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   26:     0x59e01467e29b - std[b80a194dd3c418bb]::panicking::catch_unwind::do_call::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>, core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   27:     0x59e01467e29b - std[b80a194dd3c418bb]::panicking::catch_unwind::<core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>, core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   28:     0x59e01467e29b - std[b80a194dd3c418bb]::panic::catch_unwind::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>, core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x59e01467e29b - test[826cbc6ef54ab466]::run_test_in_process
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:27
[INFO] [stdout]   30:     0x59e01467e29b - test[826cbc6ef54ab466]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:607:43
[INFO] [stdout]   31:     0x59e0146799b4 - test[826cbc6ef54ab466]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:637:41
[INFO] [stdout]   32:     0x59e0146799b4 - std[b80a194dd3c418bb]::sys::backtrace::__rust_begin_short_backtrace::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   33:     0x59e014680ea2 - std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   34:     0x59e014680ea2 - <core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   35:     0x59e014680ea2 - std[b80a194dd3c418bb]::panicking::catch_unwind::do_call::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x59e014680ea2 - std[b80a194dd3c418bb]::panicking::catch_unwind::<(), core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x59e014680ea2 - std[b80a194dd3c418bb]::panic::catch_unwind::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x59e014680ea2 - std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   39:     0x59e014680ea2 - <std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1} as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x59e014d85fdf - <alloc[dd269455e567d8e9]::boxed::Box<dyn core[10b6fa85044e1869]::ops::function::FnOnce<(), Output = ()> + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   41:     0x59e014d85fdf - <std[b80a194dd3c418bb]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   42:     0x703dc9a0faa4 - <unknown>
[INFO] [stdout]   43:     0x703dc9a9ca64 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- simulation::tests::per_phase_timing_within_budget stdout ----
[INFO] [stdout] Phase averages (ms): weather=4827.0, conditions=4827.5, terrain=5250.1, resources=4091.1, stats=34.4 (debug)
[INFO] [stdout] 
[INFO] [stdout] thread 'simulation::tests::per_phase_timing_within_budget' (181) panicked at src/simulation/mod.rs:879:13:
[INFO] [stdout] Total tick 19030.0ms > 10000ms (debug)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x59e014d86f2a - std[b80a194dd3c418bb]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x59e014d86f2a - std[b80a194dd3c418bb]::backtrace_rs::backtrace::trace_unsynchronized::<std[b80a194dd3c418bb]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x59e014d86f2a - std[b80a194dd3c418bb]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x59e014d86f2a - <<std[b80a194dd3c418bb]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[10b6fa85044e1869]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x59e014da0cda - <core[10b6fa85044e1869]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x59e014da0cda - core[10b6fa85044e1869]::fmt::write
[INFO] [stdout]    6:     0x59e014d8bfc2 - std[b80a194dd3c418bb]::io::default_write_fmt::<alloc[dd269455e567d8e9]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x59e014d8bfc2 - <alloc[dd269455e567d8e9]::vec::Vec<u8> as std[b80a194dd3c418bb]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x59e014d62a3f - <std[b80a194dd3c418bb]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x59e014d62a3f - std[b80a194dd3c418bb]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x59e014d7dd19 - std[b80a194dd3c418bb]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x59e01467d7cc - <alloc[dd269455e567d8e9]::boxed::Box<dyn for<'a, 'b> core[10b6fa85044e1869]::ops::function::Fn<(&'a std[b80a194dd3c418bb]::panic::PanicHookInfo<'b>,), Output = ()> + core[10b6fa85044e1869]::marker::Sync + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::Fn<(&std[b80a194dd3c418bb]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x59e01467d7cc - test[826cbc6ef54ab466]::test_main_with_exit_callback::<test[826cbc6ef54ab466]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x59e014d7df92 - <alloc[dd269455e567d8e9]::boxed::Box<dyn for<'a, 'b> core[10b6fa85044e1869]::ops::function::Fn<(&'a std[b80a194dd3c418bb]::panic::PanicHookInfo<'b>,), Output = ()> + core[10b6fa85044e1869]::marker::Sync + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::Fn<(&std[b80a194dd3c418bb]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x59e014d7df92 - std[b80a194dd3c418bb]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x59e014d62af8 - std[b80a194dd3c418bb]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x59e014d5a0c9 - std[b80a194dd3c418bb]::sys::backtrace::__rust_end_short_backtrace::<std[b80a194dd3c418bb]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x59e014d63a8d - __rustc[9698a3e60dd14283]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x59e014da15ec - core[10b6fa85044e1869]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x59e01440a1d0 - worldground::simulation::tests::per_phase_timing_within_budget::hcde1531f78ea1f8d
[INFO] [stdout]                                at /opt/rustwide/workdir/src/simulation/mod.rs:879:13
[INFO] [stdout]   20:     0x59e01440a347 - worldground::simulation::tests::per_phase_timing_within_budget::{{closure}}::h59ee3f9fbb01cba2
[INFO] [stdout]                                at /opt/rustwide/workdir/src/simulation/mod.rs:791:40
[INFO] [stdout]   21:     0x59e014513496 - core::ops::function::FnOnce::call_once::h2ec428065f1eadbe
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x59e0146718ab - <fn() -> core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x59e0146718ab - test[826cbc6ef54ab466]::__rust_begin_short_backtrace::<core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>, fn() -> core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:663:18
[INFO] [stdout]   24:     0x59e01467e29b - test[826cbc6ef54ab466]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:74
[INFO] [stdout]   25:     0x59e01467e29b - <core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   26:     0x59e01467e29b - std[b80a194dd3c418bb]::panicking::catch_unwind::do_call::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>, core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   27:     0x59e01467e29b - std[b80a194dd3c418bb]::panicking::catch_unwind::<core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>, core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   28:     0x59e01467e29b - std[b80a194dd3c418bb]::panic::catch_unwind::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>, core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x59e01467e29b - test[826cbc6ef54ab466]::run_test_in_process
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:27
[INFO] [stdout]   30:     0x59e01467e29b - test[826cbc6ef54ab466]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:607:43
[INFO] [stdout]   31:     0x59e0146799b4 - test[826cbc6ef54ab466]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:637:41
[INFO] [stdout]   32:     0x59e0146799b4 - std[b80a194dd3c418bb]::sys::backtrace::__rust_begin_short_backtrace::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   33:     0x59e014680ea2 - std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   34:     0x59e014680ea2 - <core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   35:     0x59e014680ea2 - std[b80a194dd3c418bb]::panicking::catch_unwind::do_call::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x59e014680ea2 - std[b80a194dd3c418bb]::panicking::catch_unwind::<(), core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x59e014680ea2 - std[b80a194dd3c418bb]::panic::catch_unwind::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x59e014680ea2 - std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   39:     0x59e014680ea2 - <std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1} as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x59e014d85fdf - <alloc[dd269455e567d8e9]::boxed::Box<dyn core[10b6fa85044e1869]::ops::function::FnOnce<(), Output = ()> + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   41:     0x59e014d85fdf - <std[b80a194dd3c418bb]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   42:     0x703dc9a0faa4 - <unknown>
[INFO] [stdout]   43:     0x703dc9a9ca64 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- simulation::tests::performance_10k_tiles_100_ticks stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'simulation::tests::performance_10k_tiles_100_ticks' (182) panicked at src/simulation/mod.rs:774:9:
[INFO] [stdout] Average tick should be ≤ 10000ms at 10K tiles, got 17316.1ms
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x59e014d86f2a - std[b80a194dd3c418bb]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x59e014d86f2a - std[b80a194dd3c418bb]::backtrace_rs::backtrace::trace_unsynchronized::<std[b80a194dd3c418bb]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x59e014d86f2a - std[b80a194dd3c418bb]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x59e014d86f2a - <<std[b80a194dd3c418bb]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[10b6fa85044e1869]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x59e014da0cda - <core[10b6fa85044e1869]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x59e014da0cda - core[10b6fa85044e1869]::fmt::write
[INFO] [stdout]    6:     0x59e014d8bfc2 - std[b80a194dd3c418bb]::io::default_write_fmt::<alloc[dd269455e567d8e9]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x59e014d8bfc2 - <alloc[dd269455e567d8e9]::vec::Vec<u8> as std[b80a194dd3c418bb]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x59e014d62a3f - <std[b80a194dd3c418bb]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x59e014d62a3f - std[b80a194dd3c418bb]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x59e014d7dd19 - std[b80a194dd3c418bb]::panicking::default_hook
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x59e01467d7cc - <alloc[dd269455e567d8e9]::boxed::Box<dyn for<'a, 'b> core[10b6fa85044e1869]::ops::function::Fn<(&'a std[b80a194dd3c418bb]::panic::PanicHookInfo<'b>,), Output = ()> + core[10b6fa85044e1869]::marker::Sync + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::Fn<(&std[b80a194dd3c418bb]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x59e01467d7cc - test[826cbc6ef54ab466]::test_main_with_exit_callback::<test[826cbc6ef54ab466]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x59e014d7df92 - <alloc[dd269455e567d8e9]::boxed::Box<dyn for<'a, 'b> core[10b6fa85044e1869]::ops::function::Fn<(&'a std[b80a194dd3c418bb]::panic::PanicHookInfo<'b>,), Output = ()> + core[10b6fa85044e1869]::marker::Sync + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::Fn<(&std[b80a194dd3c418bb]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x59e014d7df92 - std[b80a194dd3c418bb]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x59e014d62af8 - std[b80a194dd3c418bb]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x59e014d5a0c9 - std[b80a194dd3c418bb]::sys::backtrace::__rust_end_short_backtrace::<std[b80a194dd3c418bb]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x59e014d63a8d - __rustc[9698a3e60dd14283]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x59e014da15ec - core[10b6fa85044e1869]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x59e01440aa79 - worldground::simulation::tests::performance_10k_tiles_100_ticks::hd91bb72a5f72cb93
[INFO] [stdout]                                at /opt/rustwide/workdir/src/simulation/mod.rs:774:9
[INFO] [stdout]   20:     0x59e01440ac57 - worldground::simulation::tests::performance_10k_tiles_100_ticks::{{closure}}::h6d84b46db2fde37f
[INFO] [stdout]                                at /opt/rustwide/workdir/src/simulation/mod.rs:692:41
[INFO] [stdout]   21:     0x59e014512f86 - core::ops::function::FnOnce::call_once::h1c5283209eb3de9a
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x59e0146718ab - <fn() -> core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x59e0146718ab - test[826cbc6ef54ab466]::__rust_begin_short_backtrace::<core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>, fn() -> core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:663:18
[INFO] [stdout]   24:     0x59e01467e29b - test[826cbc6ef54ab466]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:74
[INFO] [stdout]   25:     0x59e01467e29b - <core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   26:     0x59e01467e29b - std[b80a194dd3c418bb]::panicking::catch_unwind::do_call::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>, core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   27:     0x59e01467e29b - std[b80a194dd3c418bb]::panicking::catch_unwind::<core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>, core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   28:     0x59e01467e29b - std[b80a194dd3c418bb]::panic::catch_unwind::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<test[826cbc6ef54ab466]::run_test_in_process::{closure#0}>, core[10b6fa85044e1869]::result::Result<(), alloc[dd269455e567d8e9]::string::String>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x59e01467e29b - test[826cbc6ef54ab466]::run_test_in_process
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:686:27
[INFO] [stdout]   30:     0x59e01467e29b - test[826cbc6ef54ab466]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:607:43
[INFO] [stdout]   31:     0x59e0146799b4 - test[826cbc6ef54ab466]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/test/src/lib.rs:637:41
[INFO] [stdout]   32:     0x59e0146799b4 - std[b80a194dd3c418bb]::sys::backtrace::__rust_begin_short_backtrace::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   33:     0x59e014680ea2 - std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   34:     0x59e014680ea2 - <core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   35:     0x59e014680ea2 - std[b80a194dd3c418bb]::panicking::catch_unwind::do_call::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x59e014680ea2 - std[b80a194dd3c418bb]::panicking::catch_unwind::<(), core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x59e014680ea2 - std[b80a194dd3c418bb]::panic::catch_unwind::<core[10b6fa85044e1869]::panic::unwind_safe::AssertUnwindSafe<std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x59e014680ea2 - std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked::<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   39:     0x59e014680ea2 - <std[b80a194dd3c418bb]::thread::lifecycle::spawn_unchecked<test[826cbc6ef54ab466]::run_test::{closure#1}, ()>::{closure#1} as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x59e014d85fdf - <alloc[dd269455e567d8e9]::boxed::Box<dyn core[10b6fa85044e1869]::ops::function::FnOnce<(), Output = ()> + core[10b6fa85044e1869]::marker::Send> as core[10b6fa85044e1869]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   41:     0x59e014d85fdf - <std[b80a194dd3c418bb]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/ad726b5063362ec9897ef3d67452fc5606ee70fa/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   42:     0x703dc9a0faa4 - <unknown>
[INFO] [stdout]   43:     0x703dc9a9ca64 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     persistence::snapshot::tests::serialization_round_trip_10k_tiles_within_one_second
[INFO] [stdout]     simulation::tests::per_phase_timing_within_budget
[INFO] [stdout]     simulation::tests::performance_10k_tiles_100_ticks
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 191 passed; 3 failed; 0 ignored; 0 measured; 0 filtered out; finished in 462.37s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "abd06789afab68a7fe45eccd695225ce83fe9a943110b91457257a5b6e848cc8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "abd06789afab68a7fe45eccd695225ce83fe9a943110b91457257a5b6e848cc8", kill_on_drop: false }`
[INFO] [stdout] abd06789afab68a7fe45eccd695225ce83fe9a943110b91457257a5b6e848cc8
