oxidecomputer / oxidecomputer/omicron

test failed in CI: app::sagas::disk_create::test::test_action_failure_can_unwind_idempotently

Open
#10,116 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 PR #10108: https://github.com/oxidecomputer/omicron/pull/10108/checks?check_run_id=67947973228

Log showing the specific test failure: https://buildomat.eng.oxide.computer/wg/0/details/01KM66YK4546W0P4JC0PTHC9TR/GG4HutHIxijs894HtA3ss6MHSGAMt3n5g9QTRHac275Gkh0o/01KM66ZTEBB84REWSXZJ2AW9QN#S7048

Excerpt from the log showing the failure:

7069	2026-03-20T18:35:41.862Z	    thread 'app::sagas::disk_create::test::test_action_failure_can_unwind_idempotently' (2) panicked at nexus/src/app/sagas/disk_create.rs:1382:9:
7070	2026-03-20T18:35:41.862Z	    assertion failed: no_disk_records_exist(datastore).await
7071	2026-03-20T18:35:41.862Z	    stack backtrace:
7072	2026-03-20T18:35:41.862Z	       0: __rustc::rust_begin_unwind
7073	2026-03-20T18:35:41.862Z	                 at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:689:5
7074	2026-03-20T18:35:41.863Z	       1: core::panicking::panic_fmt
7075	2026-03-20T18:35:41.863Z	                 at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panicking.rs:80:14
7076	2026-03-20T18:35:41.863Z	       2: core::panicking::panic
7077	2026-03-20T18:35:41.863Z	                 at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panicking.rs:150:5
7078	2026-03-20T18:35:41.863Z	       3: {async_fn#0}
7079	2026-03-20T18:35:41.863Z	                 at ./src/app/sagas/disk_create.rs:1382:9
7080	2026-03-20T18:35:41.863Z	       4: {async_block#0}
7081	2026-03-20T18:35:41.863Z	                 at ./src/app/sagas/disk_create.rs:1473:71
7082	2026-03-20T18:35:41.863Z	       5: poll<alloc::boxed::Box<(dyn core::future::future::Future<Output=()> + core::marker::Send), alloc::alloc::Global>>
7083	2026-03-20T18:35:41.863Z	                 at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/future/future.rs:133:9
7084	2026-03-20T18:35:41.863Z	       6: {async_fn#0}<omicron_nexus::app::sagas::disk_create::SagaDiskCreate, omicron_nexus::app::sagas::disk_create::test::test_action_failure_can_unwind_idempotently::{async_block#0}::test_action_failure_can_unwind_idempotently::{async_fn#0}::{closure_env#0}, omicron_nexus::app::sagas::disk_create::test::test_action_failure_can_unwind_idempotently::{async_block#0}::test_action_failure_can_unwind_idempotently::{async_fn#0}::{closure_env#1}>
7085	2026-03-20T18:35:41.863Z	                 at ./src/app/sagas/test_helpers.rs:754:22

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/src/app/sagas/disk_create.rs, especially test_action_failure_can_unwind_idempotently and the assertion at line 1382. Review the CI log and the helper path in src/app/sagas/test_helpers.rs:754 to determine why cleanup leaves disk records behind. Done means the test passes and no disk records remain after the failed action unwinds.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.