oxidecomputer / oxidecomputer/omicron

test failed in CI: `mgd_reconciler::bgp_reconciler::tests::proptest_full_reconciliation`

Open
#10,959 5 comments 0 reactions 1 assignee View on GitHub

@jgallagher is already working on this.

Since Jul 30, 2026.

Test Flake
Dominant language
Rust
Stars
572
Forks
97
Avg merge
2d 12h
Merged PRs (30d)
96

Description

This test failed on a CI run on https://github.com/oxidecomputer/omicron/pull/10956:

https://github.com/oxidecomputer/omicron/pull/10956/checks?check_run_id=90941093662

Log showing the specific test failure:

https://buildomat.eng.oxide.computer/wg/0/details/01KYSYVGHDD69ZZRJ2E5QC1MDE/1YCkSQm0Nk2MIuLFsxWn9UKqssQixRzyDvjNh4sTEXvvK5El/01KYSYVY59HK1DGGCB6F3YEHGM#S8956

Excerpt from the log showing the failure:

  TRY 1 FAIL [   4.714s] (─────────) sled-agent-scrimlet-reconcilers mgd_reconciler::bgp_reconciler::tests::proptest_full_reconciliation
  stdout ───

    running 1 test
    test mgd_reconciler::bgp_reconciler::tests::proptest_full_reconciliation ... FAILED

    failures:

    failures:
        mgd_reconciler::bgp_reconciler::tests::proptest_full_reconciliation

    test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 63 filtered out; finished in 4.62s
    
  stderr ───
    log file: /var/tmp/omicron_tmp/sled_agent_scrimlet_reconcilers-848d2c51ceb238b9-proptest_full_reconciliation.27051.0.log
    note: configured to log to "/var/tmp/omicron_tmp/sled_agent_scrimlet_reconcilers-848d2c51ceb238b9-proptest_full_reconciliation.27051.0.log"
    log file: /var/tmp/omicron_tmp/sled_agent_scrimlet_reconcilers-848d2c51ceb238b9-proptest_full_reconciliation.27051.1.log
    note: configured to log to "/var/tmp/omicron_tmp/sled_agent_scrimlet_reconcilers-848d2c51ceb238b9-proptest_full_reconciliation.27051.1.log"

    thread 'mgd_reconciler::bgp_reconciler::tests::proptest_full_reconciliation' (2) panicked at sled-agent/scrimlet-reconcilers/src/mgd_reconciler/bgp_reconciler/tests.rs:451:13:
    unexpected status: PartialSuccess { counts: MgdBgpReconcilerStatusOpCount { routers_deleted: 1, routers_updated: 0, routers_created: 1, origin4_deleted: 1, origin4_updated: 0, origin4_created: 1, origin6_deleted: 1, origin6_updated: 0, origin6_created: 1, shapers_deleted: 1, shapers_updated: 0, shapers_created: 0, checkers_deleted: 1, checkers_updated: 0, checkers_created: 1, numbered_peers_deleted: 5, numbered_peers_updated: 0, numbered_peers_created: 7, unnumbered_peers_deleted: 7, unnumbered_peers_updated: 0, unnumbered_peers_created: 8 }, did_change_max_paths: true, errors: ["failed to create numbered peer [5508:863d:1c6c:6284:51f5:487b:27ea:345a]:179 for asn 1089176058: Error Response: status: 500 Internal Server Error; headers: {\"content-type\": \"application/json\", \"x-request-id\": \"bc4418e4-be1f-429f-8712-7b89570627c7\", \"content-length\": \"124\", \"date\": \"Thu, 30 Jul 2026 17:15:53 GMT\"}; value: Error { error_code: Some(\"Internal\"), message: \"Internal Server Error\", request_id: \"bc4418e4-be1f-429f-8712-7b89570627c7\" }"] }
    stack backtrace:
       0: __rustc::rust_begin_unwind
                 at /rustc/8bab26f4f68e0e26f0bb7960be334d5b520ea452/library/std/src/panicking.rs:689:5
       1: core::panicking::panic_fmt
                 at /rustc/8bab26f4f68e0e26f0bb7960be334d5b520ea452/library/core/src/panicking.rs:80:14
       2: {async_fn#0}
                 at ./src/mgd_reconciler/bgp_reconciler/tests.rs:451:13
       3: poll<alloc::boxed::Box<sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::run_one_proptest_input::{async_fn_env#0}, alloc::alloc::Global>>
                 at /rustc/8bab26f4f68e0e26f0bb7960be334d5b520ea452/library/core/src/future/future.rs:133:9
       4: {closure#0}<core::pin::Pin<alloc::boxed::Box<sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::run_one_proptest_input::{async_fn_env#0}, alloc::alloc::Global>>>
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/park.rs:284:71
       5: with_budget<core::task::poll::Poll<()>, tokio::runtime::park::{impl#4}::block_on::{closure_env#0}<core::pin::Pin<alloc::boxed::Box<sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::run_one_proptest_input::{async_fn_env#0}, alloc::alloc::Global>>>>
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/task/coop/mod.rs:167:5
       6: budget<core::task::poll::Poll<()>, tokio::runtime::park::{impl#4}::block_on::{closure_env#0}<core::pin::Pin<alloc::boxed::Box<sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::run_one_proptest_input::{async_fn_env#0}, alloc::alloc::Global>>>>
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/task/coop/mod.rs:133:5
       7: block_on<core::pin::Pin<alloc::boxed::Box<sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::run_one_proptest_input::{async_fn_env#0}, alloc::alloc::Global>>>
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/park.rs:284:31
       8: <tokio::runtime::context::blocking::BlockingRegionGuard>::block_on::<core::pin::Pin<alloc::boxed::Box<sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::run_one_proptest_input::{closure#0}>>>
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/context/blocking.rs:66:14
       9: <tokio::runtime::handle::Handle>::block_on_inner::<core::pin::Pin<alloc::boxed::Box<sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::run_one_proptest_input::{closure#0}>>>::{closure#0}
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/handle.rs:369:22
      10: tokio::runtime::context::runtime::enter_runtime::<<tokio::runtime::handle::Handle>::block_on_inner<core::pin::Pin<alloc::boxed::Box<sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::run_one_proptest_input::{closure#0}>>>::{closure#0}, ()>
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/context/runtime.rs:65:16
      11: <tokio::runtime::handle::Handle>::block_on_inner::<core::pin::Pin<alloc::boxed::Box<sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::run_one_proptest_input::{closure#0}>>>
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/handle.rs:368:9
      12: block_on<sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::run_one_proptest_input::{async_fn_env#0}>
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/handle.rs:345:18
      13: sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::proptest_full_reconciliation::{closure#0}::{closure#1}::{closure#0}
                 at ./src/mgd_reconciler/bgp_reconciler/tests.rs:603:30
      14: tokio::runtime::context::runtime_mt::exit_runtime::<sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::proptest_full_reconciliation::{closure#0}::{closure#1}::{closure#0}, ()>
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/context/runtime_mt.rs:35:5
      15: tokio::runtime::scheduler::multi_thread::worker::block_in_place::<sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::proptest_full_reconciliation::{closure#0}::{closure#1}::{closure#0}, ()>
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/scheduler/multi_thread/worker.rs:486:9
      16: tokio::runtime::scheduler::block_in_place::block_in_place::<sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::proptest_full_reconciliation::{closure#0}::{closure#1}::{closure#0}, ()>
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/scheduler/block_in_place.rs:8:5
      17: tokio::task::blocking::block_in_place::<sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::proptest_full_reconciliation::{closure#0}::{closure#1}::{closure#0}, ()>
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/task/blocking.rs:78:9
      18: sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::proptest_full_reconciliation::{closure#0}::{closure#1}
                 at ./src/mgd_reconciler/bgp_reconciler/tests.rs:603:9
      19: <&sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::proptest_full_reconciliation::{closure#0}::{closure#1} as core::ops::function::Fn<(proptest::sugar::NamedArguments<&str, sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::TestInput>,)>>::call
                 at /rustc/8bab26f4f68e0e26f0bb7960be334d5b520ea452/library/core/src/ops/function.rs:263:22
      20: proptest::test_runner::runner::call_test::<proptest::sugar::NamedArguments<&str, sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::TestInput>, &sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::proptest_full_reconciliation::{closure#0}::{closure#1}, alloc::vec::into_iter::IntoIter<core::result::Result<(), proptest::test_runner::errors::TestCaseError>>>::{closure#4}::{closure#0}
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proptest-1.11.0/src/test_runner/runner.rs:258:56
      21: <core::panic::unwind_safe::AssertUnwindSafe<proptest::test_runner::runner::call_test<proptest::sugar::NamedArguments<&str, sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::TestInput>, &sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::proptest_full_reconciliation::{closure#0}::{closure#1}, alloc::vec::into_iter::IntoIter<core::result::Result<(), proptest::test_runner::errors::TestCaseError>>>::{closure#4}::{closure#0}> as core::ops::function::FnOnce<()>>::call_once
                 at /rustc/8bab26f4f68e0e26f0bb7960be334d5b520ea452/library/core/src/panic/unwind_safe.rs:275:9
      22: do_call<core::panic::unwind_safe::AssertUnwindSafe<proptest::test_runner::runner::call_test::{closure#4}::{closure_env#0}<proptest::sugar::NamedArguments<&str, sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::TestInput>, &sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::proptest_full_reconciliation::{async_block#0}::{closure_env#1}, alloc::vec::into_iter::IntoIter<core::result::Result<(), proptest::test_runner::errors::TestCaseError>, alloc::alloc::Global>>>, core::result::Result<(), proptest::test_runner::errors::TestCaseError>>
                 at /rustc/8bab26f4f68e0e26f0bb7960be334d5b520ea452/library/std/src/panicking.rs:581:40
      23: __rust_try
      24: catch_unwind<core::result::Result<(), proptest::test_runner::errors::TestCaseError>, core::panic::unwind_safe::AssertUnwindSafe<proptest::test_runner::runner::call_test::{closure#4}::{closure_env#0}<proptest::sugar::NamedArguments<&str, sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::TestInput>, &sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::proptest_full_reconciliation::{async_block#0}::{closure_env#1}, alloc::vec::into_iter::IntoIter<core::result::Result<(), proptest::test_runner::errors::TestCaseError>, alloc::alloc::Global>>>>
                 at /rustc/8bab26f4f68e0e26f0bb7960be334d5b520ea452/library/std/src/panicking.rs:544:19
      25: catch_unwind<core::panic::unwind_safe::AssertUnwindSafe<proptest::test_runner::runner::call_test::{closure#4}::{closure_env#0}<proptest::sugar::NamedArguments<&str, sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::TestInput>, &sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::proptest_full_reconciliation::{async_block#0}::{closure_env#1}, alloc::vec::into_iter::IntoIter<core::result::Result<(), proptest::test_runner::errors::TestCaseError>, alloc::alloc::Global>>>, core::result::Result<(), proptest::test_runner::errors::TestCaseError>>
                 at /rustc/8bab26f4f68e0e26f0bb7960be334d5b520ea452/library/std/src/panic.rs:359:14
      26: {closure#4}<proptest::sugar::NamedArguments<&str, sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::TestInput>, &sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::proptest_full_reconciliation::{async_block#0}::{closure_env#1}, alloc::vec::into_iter::IntoIter<core::result::Result<(), proptest::test_runner::errors::TestCaseError>, alloc::alloc::Global>>
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proptest-1.11.0/src/test_runner/runner.rs:258:16
      27: proptest::test_runner::scoped_panic_hook::internal::with_hook::<core::result::Result<core::result::Result<(), proptest::test_runner::errors::TestCaseError>, alloc::boxed::Box<dyn core::any::Any + core::marker::Send>>, proptest::test_runner::runner::call_test<proptest::sugar::NamedArguments<&str, sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::TestInput>, &sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::proptest_full_reconciliation::{closure#0}::{closure#1}, alloc::vec::into_iter::IntoIter<core::result::Result<(), proptest::test_runner::errors::TestCaseError>>>::{closure#3}, proptest::test_runner::runner::call_test<proptest::sugar::NamedArguments<&str, sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::TestInput>, &sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::proptest_full_reconciliation::{closure#0}::{closure#1}, alloc::vec::into_iter::IntoIter<core::result::Result<(), proptest::test_runner::errors::TestCaseError>>>::{closure#4}>
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proptest-1.11.0/src/test_runner/scoped_panic_hook.rs:130:9
      28: call_test<proptest::sugar::NamedArguments<&str, sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::TestInput>, &sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::proptest_full_reconciliation::{async_block#0}::{closure_env#1}, alloc::vec::into_iter::IntoIter<core::result::Result<(), proptest::test_runner::errors::TestCaseError>, alloc::alloc::Global>>
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proptest-1.11.0/src/test_runner/runner.rs:256:9
      29: run_one_with_replay<proptest::strategy::map::Map<alloc::boxed::Box<dyn proptest::strategy::traits::ValueTree<Value=sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::TestInput>, alloc::alloc::Global>, sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::proptest_full_reconciliation::{async_block#0}::{closure_env#0}>, &sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::proptest_full_reconciliation::{async_block#0}::{closure_env#1}, alloc::vec::into_iter::IntoIter<core::result::Result<(), proptest::test_runner::errors::TestCaseError>, alloc::alloc::Global>>
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proptest-1.11.0/src/test_runner/runner.rs:729:22
      30: gen_and_run_case<proptest::strategy::map::Map<proptest::strategy::traits::BoxedStrategy<sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::TestInput>, sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::proptest_full_reconciliation::{async_block#0}::{closure_env#0}>, sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::proptest_full_reconciliation::{async_block#0}::{closure_env#1}, alloc::vec::into_iter::IntoIter<core::result::Result<(), proptest::test_runner::errors::TestCaseError>, alloc::alloc::Global>>
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proptest-1.11.0/src/test_runner/runner.rs:671:28
      31: run_in_process_with_replay<proptest::strategy::map::Map<proptest::strategy::traits::BoxedStrategy<sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::TestInput>, sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::proptest_full_reconciliation::{async_block#0}::{closure_env#0}>, sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::proptest_full_reconciliation::{async_block#0}::{closure_env#1}, alloc::vec::into_iter::IntoIter<core::result::Result<(), proptest::test_runner::errors::TestCaseError>, alloc::alloc::Global>>
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proptest-1.11.0/src/test_runner/runner.rs:620:31
      32: run_in_process<proptest::strategy::map::Map<proptest::strategy::traits::BoxedStrategy<sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::TestInput>, sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::proptest_full_reconciliation::{async_block#0}::{closure_env#0}>, sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::proptest_full_reconciliation::{async_block#0}::{closure_env#1}>
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proptest-1.11.0/src/test_runner/runner.rs:575:14
      33: run<proptest::strategy::map::Map<proptest::strategy::traits::BoxedStrategy<sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::TestInput>, sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::proptest_full_reconciliation::{async_block#0}::{closure_env#0}>, sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::proptest_full_reconciliation::{async_block#0}::{closure_env#1}>
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/proptest-1.11.0/src/test_runner/runner.rs:418:18
      34: {async_block#0}
                 at ./src/mgd_reconciler/bgp_reconciler/tests.rs:600:5
      35: poll<&mut dyn core::future::future::Future<Output=()>>
                 at /rustc/8bab26f4f68e0e26f0bb7960be334d5b520ea452/library/core/src/future/future.rs:133:9
      36: {closure#0}<core::pin::Pin<&mut dyn core::future::future::Future<Output=()>>>
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/park.rs:284:71
      37: with_budget<core::task::poll::Poll<()>, tokio::runtime::park::{impl#4}::block_on::{closure_env#0}<core::pin::Pin<&mut dyn core::future::future::Future<Output=()>>>>
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/task/coop/mod.rs:167:5
      38: budget<core::task::poll::Poll<()>, tokio::runtime::park::{impl#4}::block_on::{closure_env#0}<core::pin::Pin<&mut dyn core::future::future::Future<Output=()>>>>
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/task/coop/mod.rs:133:5
      39: block_on<core::pin::Pin<&mut dyn core::future::future::Future<Output=()>>>
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/park.rs:284:31
      40: <tokio::runtime::context::blocking::BlockingRegionGuard>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/context/blocking.rs:66:14
      41: <tokio::runtime::scheduler::multi_thread::MultiThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/scheduler/multi_thread/mod.rs:92:22
      42: tokio::runtime::context::runtime::enter_runtime::<<tokio::runtime::scheduler::multi_thread::MultiThread>::block_on<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>::{closure#0}, ()>
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/context/runtime.rs:65:16
      43: <tokio::runtime::scheduler::multi_thread::MultiThread>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/scheduler/multi_thread/mod.rs:91:9
      44: <tokio::runtime::runtime::Runtime>::block_on_inner::<core::pin::Pin<&mut dyn core::future::future::Future<Output = ()>>>
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/runtime.rs:373:50
      45: block_on<core::pin::Pin<&mut dyn core::future::future::Future<Output=()>>>
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.1/src/runtime/runtime.rs:345:18
      46: proptest_full_reconciliation
                 at ./src/mgd_reconciler/bgp_reconciler/tests.rs:612:32
      47: sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::proptest_full_reconciliation::{closure#0}
                 at ./src/mgd_reconciler/bgp_reconciler/tests.rs:580:40
      48: <sled_agent_scrimlet_reconcilers::mgd_reconciler::bgp_reconciler::tests::proptest_full_reconciliation::{closure#0} as core::ops::function::FnOnce<()>>::call_once
                 at /rustc/8bab26f4f68e0e26f0bb7960be334d5b520ea452/library/core/src/ops/function.rs:250:5
      49: <fn() -> core::result::Result<(), alloc::string::String> as core::ops::function::FnOnce<()>>::call_once
                 at /rustc/8bab26f4f68e0e26f0bb7960be334d5b520ea452/library/core/src/ops/function.rs:250:5
    note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
    proptest: Saving this and future failures in /work/oxidecomputer/omicron/sled-agent/scrimlet-reconcilers/proptest-regressions/mgd_reconciler/bgp_reconciler/tests.txt
    proptest: If this test was run on a CI system, you may wish to add the following line to your copy of the file.
    cc f1f3723ef73f89df62ac3f11e2b3a9d24f74c3d676b287d4b0289522931f2b7f

    thread 'mgd_reconciler::bgp_reconciler::tests::proptest_full_reconciliation' (2) panicked at sled-agent/scrimlet-reconcilers/src/mgd_reconciler/bgp_reconciler/tests.rs:600:5:
    Test failed: unexpected status: PartialSuccess { counts: MgdBgpReconcilerStatusOpCount { routers_deleted: 1, routers_updated: 0, routers_created: 1, origin4_deleted: 1, origin4_updated: 0, origin4_created: 1, origin6_deleted: 1, origin6_updated: 0, origin6_created: 1, shapers_deleted: 1, shapers_updated: 0, shapers_created: 0, checkers_deleted: 1, checkers_updated: 0, checkers_created: 1, numbered_peers_deleted: 5, numbered_peers_updated: 0, numbered_peers_created: 7, unnumbered_peers_deleted: 7, unnumbered_peers_updated: 0, unnumbered_peers_created: 8 }, did_change_max_paths: true, errors: ["failed to create numbered peer [5508:863d:1c6c:6284:51f5:487b:27ea:345a]:179 for asn 1089176058: Error Response: status: 500 Internal Server Error; headers: {\"content-type\": \"application/json\", \"x-request-id\": \"bc4418e4-be1f-429f-8712-7b89570627c7\", \"content-length\": \"124\", \"date\": \"Thu, 30 Jul 2026 17:15:53 GMT\"}; value: Error { error_code: Some(\"Internal\"), message: \"Internal Server Error\", request_id: \"bc4418e4-be1f-429f-8712-7b89570627c7\" }"] }.
    minimal failing input: input = TestInput {
        asn: 1089176058,
        bgp_config: BgpConfig {
            asn: 1089176058,
            originate: [
                V6(
                    Ipv6Net {
                        addr: 61f2:d555:4e5a:51cc:cd3c:57b3:cf1d:6484,
                        width: 127,
                    },
                ),
                V6(
                    Ipv6Net {
                        addr: 1e37:9f73:45c6:a41:a791:23c8:f756:8697,
                        width: 128,
                    },
                ),
                V6(
                    Ipv6Net {
                        addr: 77e7:c54e:2cb4:67e6:3f5:a3f7:7b25:de35,
                        width: 128,
                    },
                ),
            ],
            shaper: None,
            checker: Some(
                "// v45w\nfn open(a, b, c) {}\nfn update(a, b, c) {}",
            ),
            max_paths: MaxPathConfig(
                5,
            ),
        },
...

It continues for quite a ways, but it's all similar random-ish proptest input.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.