oxidecomputer / oxidecomputer/omicron

test failed in CI: test_delete_volume_region_snapshot_replacement_state_requested_3

Open
#8,927 1 comment 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 https://github.com/oxidecomputer/omicron/pull/8923:

https://github.com/oxidecomputer/omicron/pull/8923/checks?check_run_id=49021845698

Log showing the specific test failure:

https://buildomat.eng.oxide.computer/wg/0/details/01K3P5ZA97Q9F3AF2751KTAV09/mYS9ScmdtQtkWcv2XxHfEe3TQ60S0fKSUiABwqOZlhe6n9TD/01K3P5ZXWV0TJ5YZDA8M5SH0ZH

Excerpt from the log showing the failure:

7477	2025-08-27T17:55:50.908Z	  stdout ───
7478	2025-08-27T17:55:50.908Z	
7479	2025-08-27T17:55:50.908Z	    running 1 test
7480	2025-08-27T17:55:50.908Z	    test integration_tests::crucible_replacements::test_delete_volume_region_snapshot_replacement_state_requested_3 has been running for over 60 seconds
7481	2025-08-27T17:55:50.908Z	    test integration_tests::crucible_replacements::test_delete_volume_region_snapshot_replacement_state_requested_3 ... FAILED
7482	2025-08-27T17:55:50.908Z	
7483	2025-08-27T17:55:50.908Z	    failures:
7484	2025-08-27T17:55:50.908Z	
7485	2025-08-27T17:55:50.908Z	    failures:
7486	2025-08-27T17:55:50.908Z	        integration_tests::crucible_replacements::test_delete_volume_region_snapshot_replacement_state_requested_3
7487	2025-08-27T17:55:50.908Z	
7488	2025-08-27T17:55:50.908Z	    test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 456 filtered out; finished in 85.17s
7489	2025-08-27T17:55:50.909Z	    
7490	2025-08-27T17:55:50.909Z	  stderr ───
7491	2025-08-27T17:55:50.909Z	    log file: /var/tmp/omicron_tmp/test_all-916b4bf438c2e923-test_delete_volume_region_snapshot_replacement_state_requested_3.22822.0.log
7492	2025-08-27T17:55:50.909Z	    note: configured to log to "/var/tmp/omicron_tmp/test_all-916b4bf438c2e923-test_delete_volume_region_snapshot_replacement_state_requested_3.22822.0.log"
7493	2025-08-27T17:55:50.909Z	    DB URL: postgresql://root@[::1]:44661/omicron?sslmode=disable
7494	2025-08-27T17:55:50.909Z	    DB address: [::1]:44661
7495	2025-08-27T17:55:50.909Z	    log file: /var/tmp/omicron_tmp/test_all-916b4bf438c2e923-test_delete_volume_region_snapshot_replacement_state_requested_3.22822.2.log
7496	2025-08-27T17:55:50.909Z	    note: configured to log to "/var/tmp/omicron_tmp/test_all-916b4bf438c2e923-test_delete_volume_region_snapshot_replacement_state_requested_3.22822.2.log"
7497	2025-08-27T17:55:50.910Z	    log file: /var/tmp/omicron_tmp/test_all-916b4bf438c2e923-test_delete_volume_region_snapshot_replacement_state_requested_3.22822.3.log
7498	2025-08-27T17:55:50.910Z	    note: configured to log to "/var/tmp/omicron_tmp/test_all-916b4bf438c2e923-test_delete_volume_region_snapshot_replacement_state_requested_3.22822.3.log"
7499	2025-08-27T17:55:50.910Z	    [Volume { identity: VolumeIdentity { id: 7d767c15-943b-4ce1-8064-99726213c7bd (volume), time_created: 2025-08-27T17:55:27.501306Z, time_modified: 2025-08-27T17:55:27.501306Z }, time_deleted: Some(2025-08-27T17:55:41.155695Z), rcgen: Generation(Generation(1)), data: "{\"type\":\"volume\",\"id\":\"db483749-0b6a-4ff1-aa32-c566448f7699\",\"block_size\":512,\"sub_volumes\":[{\"type\":\"region\",\"block_size\":512,\"blocks_per_extent\":131072,\"extent_count\":16,\"opts\":{\"id\":\"e11fa5a9-d4a1-4bf3-ab89-1d24f6dd612e\",\"target\":[\"[::1]:2002\",\"[::1]:1002\",\"[::1]:3001\"],\"lossy\":false,\"flush_timeout\":null,\"key\":\"yDHxDT/g3ofXXgUauf28hhLsWOZ1+nzbDtKvptN0r0o=\",\"cert_pem\":null,\"key_pem\":null,\"root_cert_pem\":null,\"control\":null,\"read_only\":true},\"gen\":3}],\"read_only_parent\":null}", resources_to_clean_up: Some("{\"V3\":{\"regions\":[],\"region_snapshots\":[]}}") }]
7500	2025-08-27T17:55:50.910Z	
7501	2025-08-27T17:55:50.910Z	    thread 'integration_tests::crucible_replacements::test_delete_volume_region_snapshot_replacement_state_requested_3' panicked at nexus/tests/integration_tests/crucible_replacements.rs:1501:13:
7502	2025-08-27T17:55:50.910Z	    assertion failed: volumes.is_empty()
7503	2025-08-27T17:55:50.910Z	    stack backtrace:
7504	2025-08-27T17:55:50.910Z	       0: __rustc::rust_begin_unwind
7505	2025-08-27T17:55:50.910Z	                 at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/std/src/panicking.rs:697:5
7506	2025-08-27T17:55:50.910Z	       1: core::panicking::panic_fmt
7507	2025-08-27T17:55:50.910Z	                 at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/core/src/panicking.rs:75:14
7508	2025-08-27T17:55:50.910Z	       2: core::panicking::panic
7509	2025-08-27T17:55:50.910Z	                 at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/core/src/panicking.rs:145:5
7510	2025-08-27T17:55:50.910Z	       3: {async_fn#0}
7511	2025-08-27T17:55:50.910Z	                 at ./tests/integration_tests/crucible_replacements.rs:1501:13
7512	2025-08-27T17:55:50.910Z	       4: {async_fn#0}
7513	2025-08-27T17:55:50.910Z	                 at ./tests/integration_tests/crucible_replacements.rs:1785:32
7514	2025-08-27T17:55:50.911Z	       5: {async_block#0}
7515	2025-08-27T17:55:50.911Z	                 at ./tests/integration_tests/crucible_replacements.rs:1768:1
7516	2025-08-27T17:55:50.911Z	       6: poll<&mut dyn core::future::future::Future<Output=()>>
7517	2025-08-27T17:55:50.911Z	                 at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/core/src/future/future.rs:124:9
7518	2025-08-27T17:55:50.911Z	       7: poll<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output=()>>>
7519	2025-08-27T17:55:50.911Z	                 at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/core/src/future/future.rs:124:9
7520	2025-08-27T17:55:50.911Z	       8: {closure#0}<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output=()>>>>
7521	2025-08-27T17:55:50.911Z	                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.0/src/runtime/scheduler/current_thread/mod.rs:742:70
7522	2025-08-27T17:55:50.911Z	       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=()>>>>>
7523	2025-08-27T17:55:50.911Z	                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.0/src/task/coop/mod.rs:167:5
7524	2025-08-27T17:55:50.911Z	      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=()>>>>>
7525	2025-08-27T17:55:50.911Z	                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.0/src/task/coop/mod.rs:133:5
7526	2025-08-27T17:55:50.913Z	      11: {closure#0}<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output=()>>>>
7527	2025-08-27T17:55:50.939Z	                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.0/src/runtime/scheduler/current_thread/mod.rs:742:25
7528	2025-08-27T17:55:50.939Z	      12: tokio::runtime::scheduler::current_thread::Context::enter
7529	2025-08-27T17:55:50.939Z	                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.0/src/runtime/scheduler/current_thread/mod.rs:432:19
7530	2025-08-27T17:55:50.939Z	      13: {closure#0}<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output=()>>>>
7531	2025-08-27T17:55:50.939Z	                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.0/src/runtime/scheduler/current_thread/mod.rs:741:44
7532	2025-08-27T17:55:50.939Z	      14: tokio::runtime::scheduler::current_thread::CoreGuard::enter::{{closure}}
7533	2025-08-27T17:55:50.939Z	                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.0/src/runtime/scheduler/current_thread/mod.rs:829:68
7534	2025-08-27T17:55:50.939Z	      15: tokio::runtime::context::scoped::Scoped<T>::set
7535	2025-08-27T17:55:50.939Z	                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.0/src/runtime/context/scoped.rs:40:9
7536	2025-08-27T17:55:50.939Z	      16: tokio::runtime::context::set_scheduler::{{closure}}
7537	2025-08-27T17:55:50.939Z	                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.0/src/runtime/context.rs:176:38
7538	2025-08-27T17:55:50.939Z	      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<()>)>
7539	2025-08-27T17:55:50.939Z	                 at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/std/src/thread/local.rs:315:12
7540	2025-08-27T17:55:50.939Z	      18: std::thread::local::LocalKey<T>::with
7541	2025-08-27T17:55:50.939Z	                 at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/std/src/thread/local.rs:279:20
7542	2025-08-27T17:55:50.939Z	      19: tokio::runtime::context::set_scheduler
7543	2025-08-27T17:55:50.939Z	                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.0/src/runtime/context.rs:176:17
7544	2025-08-27T17:55:50.939Z	      20: tokio::runtime::scheduler::current_thread::CoreGuard::enter
7545	2025-08-27T17:55:50.939Z	                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.0/src/runtime/scheduler/current_thread/mod.rs:829:27
7546	2025-08-27T17:55:50.939Z	      21: tokio::runtime::scheduler::current_thread::CoreGuard::block_on
7547	2025-08-27T17:55:50.939Z	                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.0/src/runtime/scheduler/current_thread/mod.rs:729:24
7548	2025-08-27T17:55:50.939Z	      22: {closure#0}<core::pin::Pin<&mut dyn core::future::future::Future<Output=()>>>
7549	2025-08-27T17:55:50.939Z	                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.0/src/runtime/scheduler/current_thread/mod.rs:200:33
7550	2025-08-27T17:55:50.939Z	      23: tokio::runtime::context::runtime::enter_runtime
7551	2025-08-27T17:55:50.939Z	                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.0/src/runtime/context/runtime.rs:65:16
7552	2025-08-27T17:55:50.939Z	      24: block_on<core::pin::Pin<&mut dyn core::future::future::Future<Output=()>>>
7553	2025-08-27T17:55:50.939Z	                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.0/src/runtime/scheduler/current_thread/mod.rs:188:9
7554	2025-08-27T17:55:50.939Z	      25: tokio::runtime::runtime::Runtime::block_on_inner
7555	2025-08-27T17:55:50.939Z	                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.0/src/runtime/runtime.rs:356:52
7556	2025-08-27T17:55:50.939Z	      26: block_on<core::pin::Pin<&mut dyn core::future::future::Future<Output=()>>>
7557	2025-08-27T17:55:50.939Z	                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.0/src/runtime/runtime.rs:330:18
7558	2025-08-27T17:55:50.939Z	      27: test_delete_volume_region_snapshot_replacement_state_requested_3
7559	2025-08-27T17:55:50.940Z	                 at ./tests/integration_tests/crucible_replacements.rs:1768:1
7560	2025-08-27T17:55:50.940Z	      28: test_all::integration_tests::crucible_replacements::test_delete_volume_region_snapshot_replacement_state_requested_3::{{closure}}
7561	2025-08-27T17:55:50.940Z	                 at ./tests/integration_tests/crucible_replacements.rs:1771:2
7562	2025-08-27T17:55:50.940Z	      29: core::ops::function::FnOnce::call_once
7563	2025-08-27T17:55:50.940Z	                 at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/core/src/ops/function.rs:250:5
7564	2025-08-27T17:55:50.940Z	      30: core::ops::function::FnOnce::call_once
7565	2025-08-27T17:55:50.940Z	                 at /rustc/29483883eed69d5fb4db01964cdf2af4d86e9cb2/library/core/src/ops/function.rs:250:5
7566	2025-08-27T17:55:50.940Z	    note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
7567	2025-08-27T17:55:50.940Z	    WARN: dropped CockroachInstance without cleaning it up first (there may still be a child process running and a temporary directory leaked)
7568	2025-08-27T17:55:50.941Z	    WARN: temporary directory leaked: "/var/tmp/omicron_tmp/.tmpNgJ6Tg"
7569	2025-08-27T17:55:50.941Z	    	If you would like to access the database for debugging, run the following:
7570	2025-08-27T17:55:50.941Z	
7571	2025-08-27T17:55:50.941Z	    	# Run the database
7572	2025-08-27T17:55:50.941Z	    	cargo xtask db-dev run --no-populate --store-dir "/var/tmp/omicron_tmp/.tmpNgJ6Tg/data"
7573	2025-08-27T17:55:50.941Z	    	# Access the database. Note the port may change if you run multiple databases.
7574	2025-08-27T17:55:50.941Z	    	cockroach sql --host=localhost:32221 --insecure
7575	2025-08-27T17:55:50.941Z	    WARN: dropped ClickHouse process without cleaning it up first (there may still be a child process running (PID 22831) and a temporary directory leaked, /var/tmp/omicron_tmp/test_all-916b4bf438c2e923-test_delete_volume_region_snapshot_replacement_state_requested_3.22822.1-clickhouse-jHKiKO)
7576	2025-08-27T17:55:50.941Z	    failed to clean up ClickHouse data dir:
7577	2025-08-27T17:55:50.941Z	    - /var/tmp/omicron_tmp/test_all-916b4bf438c2e923-test_delete_volume_region_snapshot_replacement_state_requested_3.22822.1-clickhouse-jHKiKO: File exists (os error 17)
7578	2025-08-27T17:55:50.941Z	    WARN: dropped DendriteInstance without cleaning it up first (there may still be a child process running and a temporary directory leaked)
7579	2025-08-27T17:55:50.942Z	    WARN: dendrite temporary directory leaked: /var/tmp/omicron_tmp/.tmpaoBdn1
7580	2025-08-27T17:55:50.942Z	    WARN: dropped DendriteInstance without cleaning it up first (there may still be a child process running and a temporary directory leaked)
7581	2025-08-27T17:55:50.942Z	    WARN: dendrite temporary directory leaked: /var/tmp/omicron_tmp/.tmp9RkRSu
7582	2025-08-27T17:55:50.942Z	    WARN: dropped MgdInstance without cleaning it up first (there may still be a child process running and a temporary directory leaked)
7583	2025-08-27T17:55:50.942Z	    WARN: mgd temporary directory leaked: /var/tmp/omicron_tmp/.tmpxiLBXi
7584	2025-08-27T17:55:50.942Z	    WARN: dropped MgdInstance without cleaning it up first (there may still be a child process running and a temporary directory leaked)
7585	2025-08-27T17:55:50.942Z	    WARN: mgd temporary directory leaked: /var/tmp/omicron_tmp/.tmpIEPhA2

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 tests/integration_tests/crucible_replacements.rs, especially test_delete_volume_region_snapshot_replacement_state_requested_3 and the assertion at line 1501. Review the linked CI run and failure log to determine why the volume remains, then verify the test completes successfully with the expected empty volume list.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
backend, testing-qa
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.