Skip to content

Test flake in phd_tests::stats::instance_vcpu_stats #1072

@papertigers

Description

@papertigers

When I merged #1031 I noticed that we hit a test failure on the commit:
https://github.com/oxidecomputer/propolis/runs/66235331050

It looks like the instance failed to boot in a timely manner:

phd-runner: test phd_tests::stats::instance_vcpu_stats ... FAILED: timed out while waiting to boot
    
    Stack backtrace:
       0: anyhow::error::<impl anyhow::Error>::msg
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/backtrace.rs:27:14
       1: anyhow::__private::format_err
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.100/src/lib.rs:695:13
       2: phd_framework::test_vm::TestVm::wait_to_boot::{{closure}}
                 at ./oxidecomputer/propolis/phd-tests/framework/src/test_vm/mod.rs:890:23
       3: phd_tests::stats::instance_vcpu_stats::{{closure}}::{{closure}}
                 at ./oxidecomputer/propolis/phd-tests/tests/src/stats.rs:238:23
       4: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tracing-0.1.40/src/instrument.rs:321:15
       5: phd_tests::stats::instance_vcpu_stats::{{closure}}
                 at ./oxidecomputer/propolis/phd-tests/tests/src/stats.rs:198:1
       6: <core::pin::Pin<P> as core::future::future::Future>::poll
                 at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/future/future.rs:133:9
       7: phd_testcase::TestCase::run::{{closure}}
                 at ./oxidecomputer/propolis/phd-tests/testcase/src/lib.rs:79:32
       8: phd_runner::execute::run_tests_with_ctx::{{closure}}::{{closure}}::{{closure}}
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/macros/select.rs:707:49
       9: <core::future::poll_fn::PollFn<F> as core::future::future::Future>::poll
                 at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/future/poll_fn.rs:151:9
      10: phd_runner::execute::run_tests_with_ctx::{{closure}}::{{closure}}
                 at ./oxidecomputer/propolis/phd-tests/runner/src/execute.rs:106:13
      11: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/core.rs:374:24
      12: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/loom/std/unsafe_cell.rs:16:9
      13: tokio::runtime::task::core::Core<T,S>::poll
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/core.rs:363:30
      14: tokio::runtime::task::harness::poll_future::{{closure}}
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/harness.rs:535:30
      15: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
                 at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/panic/unwind_safe.rs:272:9
      16: std::panicking::catch_unwind::do_call
                 at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:589:40
      17: __rust_try
      18: std::panicking::catch_unwind
                 at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:552:19
      19: std::panic::catch_unwind
                 at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panic.rs:359:14
      20: tokio::runtime::task::harness::poll_future
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/harness.rs:523:18
      21: tokio::runtime::task::harness::Harness<T,S>::poll_inner
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/harness.rs:210:27
      22: tokio::runtime::task::harness::Harness<T,S>::poll
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/harness.rs:155:20
      23: tokio::runtime::task::raw::poll
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/raw.rs:337:13
      24: tokio::runtime::task::raw::RawTask::poll
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/raw.rs:267:18
      25: tokio::runtime::task::LocalNotified<S>::run
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/mod.rs:515:13
      26: tokio::runtime::scheduler::multi_thread::worker::Context::run_task::{{closure}}
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/multi_thread/worker.rs:643:18
      27: tokio::task::coop::with_budget
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/task/coop/mod.rs:167:5
      28: tokio::task::coop::budget
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/task/coop/mod.rs:133:5
      29: tokio::runtime::scheduler::multi_thread::worker::Context::run_task
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/multi_thread/worker.rs:634:9
      30: tokio::runtime::scheduler::multi_thread::worker::Context::run
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/multi_thread/worker.rs:567:29
      31: tokio::runtime::scheduler::multi_thread::worker::run::{{closure}}::{{closure}}
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/multi_thread/worker.rs:532:24
      32: tokio::runtime::context::scoped::Scoped<T>::set
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context/scoped.rs:40:9
      33: tokio::runtime::context::set_scheduler::{{closure}}
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context.rs:176:38
      34: std::thread::local::LocalKey<T>::try_with
                 at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/thread/local.rs:315:12
      35: std::thread::local::LocalKey<T>::with
                 at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/thread/local.rs:279:20
      36: tokio::runtime::context::set_scheduler
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context.rs:176:17
      37: tokio::runtime::scheduler::multi_thread::worker::run::{{closure}}
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/multi_thread/worker.rs:527:9
      38: tokio::runtime::context::runtime::enter_runtime
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context/runtime.rs:65:16
      39: tokio::runtime::scheduler::multi_thread::worker::run
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/multi_thread/worker.rs:519:5
      40: tokio::runtime::scheduler::multi_thread::worker::Launch::launch::{{closure}}
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/multi_thread/worker.rs:485:45
      41: <tokio::runtime::blocking::task::BlockingTask<T> as core::future::future::Future>::poll
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/blocking/task.rs:42:21
      42: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/core.rs:374:24
      43: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/loom/std/unsafe_cell.rs:16:9
      44: tokio::runtime::task::core::Core<T,S>::poll
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/core.rs:363:30
      45: tokio::runtime::task::harness::poll_future::{{closure}}
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/harness.rs:535:30
      46: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
                 at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/panic/unwind_safe.rs:272:9
      47: std::panicking::catch_unwind::do_call
                 at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:589:40
      48: __rust_try
      49: std::panicking::catch_unwind
                 at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:552:19
      50: std::panic::catch_unwind
                 at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panic.rs:359:14
      51: tokio::runtime::task::harness::poll_future
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/harness.rs:523:18
      52: tokio::runtime::task::harness::Harness<T,S>::poll_inner
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/harness.rs:210:27
      53: tokio::runtime::task::harness::Harness<T,S>::poll
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/harness.rs:155:20
      54: tokio::runtime::task::raw::poll
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/raw.rs:337:13
      55: tokio::runtime::task::raw::RawTask::poll
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/raw.rs:267:18
      56: tokio::runtime::task::UnownedTask<S>::run
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/mod.rs:552:13
      57: tokio::runtime::blocking::pool::Task::run
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/blocking/pool.rs:161:19
      58: tokio::runtime::blocking::pool::Inner::run
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/blocking/pool.rs:516:22
      59: tokio::runtime::blocking::pool::Spawner::spawn_thread::{{closure}}
                 at /home/build/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/blocking/pool.rs:474:47
      60: std::sys::backtrace::__rust_begin_short_backtrace
                 at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/backtrace.rs:158:18
      61: std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}
                 at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/thread/mod.rs:559:17
      62: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
                 at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/panic/unwind_safe.rs:272:9
      63: std::panicking::catch_unwind::do_call
                 at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:589:40
      64: __rust_try
      65: std::panicking::catch_unwind
                 at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:552:19
      66: std::panic::catch_unwind
                 at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panic.rs:359:14
      67: std::thread::Builder::spawn_unchecked_::{{closure}}
                 at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/thread/mod.rs:557:30
      68: core::ops::function::FnOnce::call_once{{vtable.shim}}
                 at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/function.rs:253:5
      69: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
                 at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/alloc/src/boxed.rs:1971:9
      70: std::sys::pal::unix::thread::Thread::new::thread_start
                 at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/pal/unix/thread.rs:107:17
      71: _thrp_setup
      72: <unknown>
    file = phd-tests/runner/src/execute.rs
    line = 130
    target = phd_runner::execute

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions