oxidecomputer / oxidecomputer/omicron

test failed in CI: test_vpc_system_router_sync_to_subnets

Open
#8,661 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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 main:

https://github.com/oxidecomputer/omicron/runs/46482703116

Log showing the specific test failure:

https://buildomat.eng.oxide.computer/wg/0/details/01K0S8NGSKV9S03FVB34B5QVDY/91MEomRidbzKHpw17Z0JdW7Ds22A97EJp3skddgaT1IRVgwZ/01K0S8NV29WAEJK7BP261G2M4A

Excerpt from the log showing the failure:

7365	2025-07-22T14:53:47.112Z	    log file: /var/tmp/omicron_tmp/nexus_db_queries-6a77d78764adaefe-test_vpc_system_router_sync_to_subnets.56274.0.log
7366	2025-07-22T14:53:47.112Z	    note: configured to log to "/var/tmp/omicron_tmp/nexus_db_queries-6a77d78764adaefe-test_vpc_system_router_sync_to_subnets.56274.0.log"
7367	2025-07-22T14:53:47.112Z	
7368	2025-07-22T14:53:47.112Z	    thread 'db::datastore::vpc::tests::test_vpc_system_router_sync_to_subnets' panicked at nexus/db-queries/src/db/datastore/vpc.rs:3608:14:
7369	2025-07-22T14:53:47.112Z	    called `Result::unwrap()` on an `Err` value: OverlappingIpRange(V6(Ipv6Net { addr: fd20:99b1:61fc:31c5::, width: 64 }))
7370	2025-07-22T14:53:47.113Z	    stack backtrace:
7371	2025-07-22T14:53:47.113Z	       0: __rustc::rust_begin_unwind
7372	2025-07-22T14:53:47.113Z	                 at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/panicking.rs:697:5
7373	2025-07-22T14:53:47.113Z	       1: core::panicking::panic_fmt
7374	2025-07-22T14:53:47.113Z	                 at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/panicking.rs:75:14
7375	2025-07-22T14:53:47.113Z	       2: core::result::unwrap_failed
7376	2025-07-22T14:53:47.113Z	                 at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/result.rs:1732:5
7377	2025-07-22T14:53:47.113Z	       3: unwrap<(nexus_auth::authz::api_resources::VpcSubnet, nexus_db_model::vpc_subnet::VpcSubnet), nexus_db_queries::db::queries::vpc_subnet::InsertVpcSubnetError>
7378	2025-07-22T14:53:47.113Z	                 at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/result.rs:1137:23
7379	2025-07-22T14:53:47.113Z	       4: {async_fn#0}
7380	2025-07-22T14:53:47.113Z	                 at ./src/db/datastore/vpc.rs:3591:19
7381	2025-07-22T14:53:47.113Z	       5: {async_block#0}
7382	2025-07-22T14:53:47.113Z	                 at ./src/db/datastore/vpc.rs:3703:10
7383	2025-07-22T14:53:47.113Z	       6: poll<&mut dyn core::future::future::Future<Output=()>>
7384	2025-07-22T14:53:47.113Z	                 at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/future/future.rs:124:9
7385	2025-07-22T14:53:47.113Z	       7: poll<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output=()>>>
7386	2025-07-22T14:53:47.113Z	                 at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/future/future.rs:124:9
7387	2025-07-22T14:53:47.113Z	       8: {closure#0}<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output=()>>>>
7388	2025-07-22T14:53:47.113Z	                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/current_thread/mod.rs:733:54
7389	2025-07-22T14:53:47.113Z	       9: with_budget<core::task::poll::Poll<()>, tokio::runtime::scheduler::current_thread::{impl#8}::block_on::{closure#0}::{closure#0}::{closure_env#0}<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output=()>>>>>
7390	2025-07-22T14:53:47.113Z	                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/task/coop/mod.rs:167:5
7391	2025-07-22T14:53:47.113Z	      10: budget<core::task::poll::Poll<()>, tokio::runtime::scheduler::current_thread::{impl#8}::block_on::{closure#0}::{closure#0}::{closure_env#0}<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output=()>>>>>
7392	2025-07-22T14:53:47.113Z	                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/task/coop/mod.rs:133:5
7393	2025-07-22T14:53:47.113Z	      11: {closure#0}<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output=()>>>>
7394	2025-07-22T14:53:47.113Z	                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/current_thread/mod.rs:733:25
7395	2025-07-22T14:53:47.113Z	      12: tokio::runtime::scheduler::current_thread::Context::enter
7396	2025-07-22T14:53:47.113Z	                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/current_thread/mod.rs:432:19
7397	2025-07-22T14:53:47.113Z	      13: {closure#0}<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output=()>>>>
7398	2025-07-22T14:53:47.113Z	                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/current_thread/mod.rs:732:36
7399	2025-07-22T14:53:47.113Z	      14: tokio::runtime::scheduler::current_thread::CoreGuard::enter::{{closure}}
7400	2025-07-22T14:53:47.113Z	                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/current_thread/mod.rs:820:68
7401	2025-07-22T14:53:47.113Z	      15: tokio::runtime::context::scoped::Scoped<T>::set
7402	2025-07-22T14:53:47.113Z	                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/context/scoped.rs:40:9
7403	2025-07-22T14:53:47.113Z	      16: tokio::runtime::context::set_scheduler::{{closure}}
7404	2025-07-22T14:53:47.113Z	                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/context.rs:176:26
7405	2025-07-22T14:53:47.114Z	      17: try_with<tokio::runtime::context::Context, tokio::runtime::context::set_scheduler::{closure_env#0}<(alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core, alloc::alloc::Global>, core::option::Option<()>), tokio::runtime::scheduler::current_thread::{impl#8}::enter::{closure_env#0}<tokio::runtime::scheduler::current_thread::{impl#8}::block_on::{closure_env#0}<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output=()>>>>, core::option::Option<()>>>, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core, alloc::alloc::Global>, core::option::Option<()>)>
7406	2025-07-22T14:53:47.114Z	                 at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/thread/local.rs:315:12
7407	2025-07-22T14:53:47.114Z	      18: std::thread::local::LocalKey<T>::with
7408	2025-07-22T14:53:47.114Z	                 at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/thread/local.rs:279:15
7409	2025-07-22T14:53:47.114Z	      19: tokio::runtime::context::set_scheduler
7410	2025-07-22T14:53:47.114Z	                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/context.rs:176:9
7411	2025-07-22T14:53:47.114Z	      20: tokio::runtime::scheduler::current_thread::CoreGuard::enter
7412	2025-07-22T14:53:47.114Z	                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/current_thread/mod.rs:820:27
7413	2025-07-22T14:53:47.114Z	      21: tokio::runtime::scheduler::current_thread::CoreGuard::block_on
7414	2025-07-22T14:53:47.114Z	                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/current_thread/mod.rs:720:19
7415	2025-07-22T14:53:47.114Z	      22: {closure#0}<core::pin::Pin<&mut dyn core::future::future::Future<Output=()>>>
7416	2025-07-22T14:53:47.115Z	                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/current_thread/mod.rs:200:28
7417	2025-07-22T14:53:47.115Z	      23: tokio::runtime::context::runtime::enter_runtime
7418	2025-07-22T14:53:47.115Z	                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/context/runtime.rs:65:16
7419	2025-07-22T14:53:47.115Z	      24: block_on<core::pin::Pin<&mut dyn core::future::future::Future<Output=()>>>
7420	2025-07-22T14:53:47.115Z	                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/scheduler/current_thread/mod.rs:188:9
7421	2025-07-22T14:53:47.115Z	      25: tokio::runtime::runtime::Runtime::block_on_inner
7422	2025-07-22T14:53:47.115Z	                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/runtime.rs:356:47
7423	2025-07-22T14:53:47.115Z	      26: block_on<core::pin::Pin<&mut dyn core::future::future::Future<Output=()>>>
7424	2025-07-22T14:53:47.115Z	                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.45.1/src/runtime/runtime.rs:330:13
7425	2025-07-22T14:53:47.115Z	      27: test_vpc_system_router_sync_to_subnets
7426	2025-07-22T14:53:47.115Z	                 at ./src/db/datastore/vpc.rs:3808:9
7427	2025-07-22T14:53:47.115Z	      28: nexus_db_queries::db::datastore::vpc::tests::test_vpc_system_router_sync_to_subnets::{{closure}}
7428	2025-07-22T14:53:47.115Z	                 at ./src/db/datastore/vpc.rs:3651:54
7429	2025-07-22T14:53:47.115Z	      29: core::ops::function::FnOnce::call_once
7430	2025-07-22T14:53:47.115Z	                 at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/ops/function.rs:250:5
7431	2025-07-22T14:53:47.115Z	      30: core::ops::function::FnOnce::call_once
7432	2025-07-22T14:53:47.115Z	                 at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/ops/function.rs:250:5

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.

Research direction

Start with nexus/db-queries/src/db/datastore/vpc.rs and the test_vpc_system_router_sync_to_subnets entry point around the reported lines. Reproduce the test and inspect the linked CI log, focusing on the OverlappingIpRange error and the unwrap failure. Done means the test completes successfully without the reported panic.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
databases
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.