timeout-tracing 0.1.2

Returns stack and span trace when the future hits a timeout
Documentation
---
source: src/tests/tokio_select.rs
expression: err
---
timeout elapsed at:
trace 0:
span trace:
   0: timeout_tracing::tests::tokio_select::do_sleep_a
             at src/tests/tokio_select.rs:[NNN]
   1: timeout_tracing::tests::tokio_select::do_sleep
             at src/tests/tokio_select.rs:[NNN]
stack trace:
   0: timeout_tracing::trace::StackAndSpanTrace::capture
             at ./src/trace.rs:[NNN]:[NNN]
   1: <timeout_tracing::trace::CaptureSpanAndStackTrace as timeout_tracing::trace::CaptureTrace>::capture
             at ./src/trace.rs:[NNN]:[NNN]
   2: timeout_tracing::waker::TracingTimeoutWaker<C>::clone
             at ./src/waker.rs:[NNN]:[NNN]
   3: timeout_tracing::waker::TracingTimeoutWaker<C>::raw_clone
             at ./src/waker.rs:[NNN]:[NNN]
   4: <core::task::wake::Waker as core::clone::Clone>::clone
   5: <&core::task::wake::Waker as tokio::sync::task::atomic_waker::WakerRef>::into_waker
             at [crates]/tokio-[ver]/src/sync/task/atomic_waker.rs:[NNN]:[NNN]
   6: tokio::sync::task::atomic_waker::AtomicWaker::do_register::{{closure}}
             at [crates]/tokio-[ver]/src/sync/task/atomic_waker.rs:[NNN]:[NNN]
   7: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
   8: std::panicking::try::do_call
   9: __rust_try
  10: std::panicking::try
  11: std::panic::catch_unwind
  12: tokio::sync::task::atomic_waker::AtomicWaker::do_register::catch_unwind
             at [crates]/tokio-[ver]/src/sync/task/atomic_waker.rs:[NNN]:[NNN]
  13: tokio::sync::task::atomic_waker::AtomicWaker::do_register
             at [crates]/tokio-[ver]/src/sync/task/atomic_waker.rs:[NNN]:[NNN]
  14: tokio::sync::task::atomic_waker::AtomicWaker::register_by_ref
             at [crates]/tokio-[ver]/src/sync/task/atomic_waker.rs:[NNN]:[NNN]
  15: tokio::runtime::time::entry::StateCell::poll
             at [crates]/tokio-[ver]/src/runtime/time/entry.rs:[NNN]:[NNN]
  16: tokio::runtime::time::entry::TimerEntry::poll_elapsed
             at [crates]/tokio-[ver]/src/runtime/time/entry.rs:[NNN]:[NNN]
  17: tokio::time::sleep::Sleep::poll_elapsed
             at [crates]/tokio-[ver]/src/time/sleep.rs:[NNN]:[NNN]
  18: <tokio::time::sleep::Sleep as core::future::future::Future>::poll
             at [crates]/tokio-[ver]/src/time/sleep.rs:[NNN]:[NNN]
  19: timeout_tracing::tests::tokio_select::do_sleep_a::{{closure}}::{{closure}}
             at ./src/tests/tokio_select.rs:[NNN]:[NNN]
  20: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll
             at [crates]/tracing-[ver]/src/instrument.rs:[NNN]:[NNN]
  21: timeout_tracing::tests::tokio_select::do_sleep_a::{{closure}}
             at ./src/tests/tokio_select.rs:[NNN]:[NNN]
  22: <futures_util::future::future::fuse::Fuse<Fut> as core::future::future::Future>::poll
             at [crates]/futures-util-[ver]/src/future/future/fuse.rs:[NNN]:[NNN]
  23: timeout_tracing::tests::tokio_select::do_sleep::{{closure}}::{{closure}}::{{closure}}
             at [crates]/tokio-[ver]/src/macros/select.rs:[NNN]:[NNN]
  24: <core::future::poll_fn::PollFn<F> as core::future::future::Future>::poll
  25: timeout_tracing::tests::tokio_select::do_sleep::{{closure}}::{{closure}}
             at ./src/tests/tokio_select.rs:[NNN]:[NNN]
  26: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll
             at [crates]/tracing-[ver]/src/instrument.rs:[NNN]:[NNN]
  27: timeout_tracing::tests::tokio_select::do_sleep::{{closure}}
             at ./src/tests/tokio_select.rs:[NNN]:[NNN]
  28: <timeout_tracing::TimeoutFuture<C,Fut> as core::future::future::Future>::poll
             at ./src/lib.rs:[NNN]:[NNN]
  29: timeout_tracing::tests::run_with_tracing::{{closure}}
             at ./src/tests/mod.rs:[NNN]:[NNN]
  30: timeout_tracing::tests::tokio_select::with_select::{{closure}}::{{closure}}
             at ./src/tests/tokio_select.rs:[NNN]:[NNN]
  31: <core::pin::Pin<P> as core::future::future::Future>::poll
  32: <core::pin::Pin<P> as core::future::future::Future>::poll
  33: tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::{{closure}}
             at [crates]/tokio-[ver]/src/runtime/scheduler/current_thread/mod.rs:[NNN]:[NNN]
  34: tokio::task::coop::with_budget
             at [crates]/tokio-[ver]/src/task/coop/mod.rs:[NNN]:[NNN]
  35: tokio::task::coop::budget
             at [crates]/tokio-[ver]/src/task/coop/mod.rs:[NNN]:[NNN]
  36: tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}
             at [crates]/tokio-[ver]/src/runtime/scheduler/current_thread/mod.rs:[NNN]:[NNN]
  37: tokio::runtime::scheduler::current_thread::Context::enter
             at [crates]/tokio-[ver]/src/runtime/scheduler/current_thread/mod.rs:[NNN]:[NNN]
  38: tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}
             at [crates]/tokio-[ver]/src/runtime/scheduler/current_thread/mod.rs:[NNN]:[NNN]
  39: tokio::runtime::scheduler::current_thread::CoreGuard::enter::{{closure}}
             at [crates]/tokio-[ver]/src/runtime/scheduler/current_thread/mod.rs:[NNN]:[NNN]
  40: tokio::runtime::context::scoped::Scoped<T>::set
             at [crates]/tokio-[ver]/src/runtime/context/scoped.rs:[NNN]:[NNN]
  41: tokio::runtime::context::set_scheduler::{{closure}}
             at [crates]/tokio-[ver]/src/runtime/context.rs:[NNN]:[NNN]
  42: std::thread::local::LocalKey<T>::try_with
  43: std::thread::local::LocalKey<T>::with
  44: tokio::runtime::context::set_scheduler
             at [crates]/tokio-[ver]/src/runtime/context.rs:[NNN]:[NNN]
  45: tokio::runtime::scheduler::current_thread::CoreGuard::enter
             at [crates]/tokio-[ver]/src/runtime/scheduler/current_thread/mod.rs:[NNN]:[NNN]
  46: tokio::runtime::scheduler::current_thread::CoreGuard::block_on
             at [crates]/tokio-[ver]/src/runtime/scheduler/current_thread/mod.rs:[NNN]:[NNN]
  47: tokio::runtime::scheduler::current_thread::CurrentThread::block_on::{{closure}}
             at [crates]/tokio-[ver]/src/runtime/scheduler/current_thread/mod.rs:[NNN]:[NNN]
  48: tokio::runtime::context::runtime::enter_runtime
             at [crates]/tokio-[ver]/src/runtime/context/runtime.rs:[NNN]:[NNN]
  49: tokio::runtime::scheduler::current_thread::CurrentThread::block_on
             at [crates]/tokio-[ver]/src/runtime/scheduler/current_thread/mod.rs:[NNN]:[NNN]
  50: tokio::runtime::runtime::Runtime::block_on_inner
             at [crates]/tokio-[ver]/src/runtime/runtime.rs:[NNN]:[NNN]
  51: tokio::runtime::runtime::Runtime::block_on
             at [crates]/tokio-[ver]/src/runtime/runtime.rs:[NNN]:[NNN]
  52: timeout_tracing::tests::tokio_select::with_select::{{closure}}
             at ./src/tests/tokio_select.rs:[NNN]:[NNN]
  53: core::ops::function::FnOnce::call_once
  54: serial_test::serial_code_lock::local_serial_core
             at [crates]/serial_test-[ver]/src/serial_code_lock.rs:[NNN]:[NNN]
  55: timeout_tracing::tests::tokio_select::with_select
             at ./src/tests/tokio_select.rs:[NNN]:[NNN]
  56: timeout_tracing::tests::tokio_select::with_select::{{closure}}
             at ./src/tests/tokio_select.rs:[NNN]:[NNN]
  57: core::ops::function::FnOnce::call_once
  58: core::ops::function::FnOnce::call_once
  59: test::__rust_begin_short_backtrace
  60: test::run_test_in_process::{{closure}}
  61: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
  62: std::panicking::try::do_call
  63: std::panicking::try
  64: std::panic::catch_unwind
  65: test::run_test_in_process
  66: test::run_test::{{closure}}
  67: test::run_test::{{closure}}
  68: std::sys::backtrace::__rust_begin_short_backtrace
  69: std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}
  70: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
  71: std::panicking::try::do_call
  72: std::panicking::try
  73: std::panic::catch_unwind
  74: std::thread::Builder::spawn_unchecked_::{{closure}}
  75: core::ops::function::FnOnce::call_once{{vtable.shim}}
  76: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
  77: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
  78: std::sys::pal::unix::thread::Thread::new::thread_start
  79: <unknown>
  80: <unknown>

trace 1:
span trace:
   0: timeout_tracing::tests::tokio_select::do_sleep_b
             at src/tests/tokio_select.rs:[NNN]
   1: timeout_tracing::tests::tokio_select::do_sleep
             at src/tests/tokio_select.rs:[NNN]
stack trace:
   0: timeout_tracing::trace::StackAndSpanTrace::capture
             at ./src/trace.rs:[NNN]:[NNN]
   1: <timeout_tracing::trace::CaptureSpanAndStackTrace as timeout_tracing::trace::CaptureTrace>::capture
             at ./src/trace.rs:[NNN]:[NNN]
   2: timeout_tracing::waker::TracingTimeoutWaker<C>::clone
             at ./src/waker.rs:[NNN]:[NNN]
   3: timeout_tracing::waker::TracingTimeoutWaker<C>::raw_clone
             at ./src/waker.rs:[NNN]:[NNN]
   4: <core::task::wake::Waker as core::clone::Clone>::clone
   5: <&core::task::wake::Waker as tokio::sync::task::atomic_waker::WakerRef>::into_waker
             at [crates]/tokio-[ver]/src/sync/task/atomic_waker.rs:[NNN]:[NNN]
   6: tokio::sync::task::atomic_waker::AtomicWaker::do_register::{{closure}}
             at [crates]/tokio-[ver]/src/sync/task/atomic_waker.rs:[NNN]:[NNN]
   7: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
   8: std::panicking::try::do_call
   9: __rust_try
  10: std::panicking::try
  11: std::panic::catch_unwind
  12: tokio::sync::task::atomic_waker::AtomicWaker::do_register::catch_unwind
             at [crates]/tokio-[ver]/src/sync/task/atomic_waker.rs:[NNN]:[NNN]
  13: tokio::sync::task::atomic_waker::AtomicWaker::do_register
             at [crates]/tokio-[ver]/src/sync/task/atomic_waker.rs:[NNN]:[NNN]
  14: tokio::sync::task::atomic_waker::AtomicWaker::register_by_ref
             at [crates]/tokio-[ver]/src/sync/task/atomic_waker.rs:[NNN]:[NNN]
  15: tokio::runtime::time::entry::StateCell::poll
             at [crates]/tokio-[ver]/src/runtime/time/entry.rs:[NNN]:[NNN]
  16: tokio::runtime::time::entry::TimerEntry::poll_elapsed
             at [crates]/tokio-[ver]/src/runtime/time/entry.rs:[NNN]:[NNN]
  17: tokio::time::sleep::Sleep::poll_elapsed
             at [crates]/tokio-[ver]/src/time/sleep.rs:[NNN]:[NNN]
  18: <tokio::time::sleep::Sleep as core::future::future::Future>::poll
             at [crates]/tokio-[ver]/src/time/sleep.rs:[NNN]:[NNN]
  19: timeout_tracing::tests::tokio_select::do_sleep_b::{{closure}}::{{closure}}
             at ./src/tests/tokio_select.rs:[NNN]:[NNN]
  20: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll
             at [crates]/tracing-[ver]/src/instrument.rs:[NNN]:[NNN]
  21: timeout_tracing::tests::tokio_select::do_sleep_b::{{closure}}
             at ./src/tests/tokio_select.rs:[NNN]:[NNN]
  22: <futures_util::future::future::fuse::Fuse<Fut> as core::future::future::Future>::poll
             at [crates]/futures-util-[ver]/src/future/future/fuse.rs:[NNN]:[NNN]
  23: timeout_tracing::tests::tokio_select::do_sleep::{{closure}}::{{closure}}::{{closure}}
             at [crates]/tokio-[ver]/src/macros/select.rs:[NNN]:[NNN]
  24: <core::future::poll_fn::PollFn<F> as core::future::future::Future>::poll
  25: timeout_tracing::tests::tokio_select::do_sleep::{{closure}}::{{closure}}
             at ./src/tests/tokio_select.rs:[NNN]:[NNN]
  26: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll
             at [crates]/tracing-[ver]/src/instrument.rs:[NNN]:[NNN]
  27: timeout_tracing::tests::tokio_select::do_sleep::{{closure}}
             at ./src/tests/tokio_select.rs:[NNN]:[NNN]
  28: <timeout_tracing::TimeoutFuture<C,Fut> as core::future::future::Future>::poll
             at ./src/lib.rs:[NNN]:[NNN]
  29: timeout_tracing::tests::run_with_tracing::{{closure}}
             at ./src/tests/mod.rs:[NNN]:[NNN]
  30: timeout_tracing::tests::tokio_select::with_select::{{closure}}::{{closure}}
             at ./src/tests/tokio_select.rs:[NNN]:[NNN]
  31: <core::pin::Pin<P> as core::future::future::Future>::poll
  32: <core::pin::Pin<P> as core::future::future::Future>::poll
  33: tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::{{closure}}
             at [crates]/tokio-[ver]/src/runtime/scheduler/current_thread/mod.rs:[NNN]:[NNN]
  34: tokio::task::coop::with_budget
             at [crates]/tokio-[ver]/src/task/coop/mod.rs:[NNN]:[NNN]
  35: tokio::task::coop::budget
             at [crates]/tokio-[ver]/src/task/coop/mod.rs:[NNN]:[NNN]
  36: tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}
             at [crates]/tokio-[ver]/src/runtime/scheduler/current_thread/mod.rs:[NNN]:[NNN]
  37: tokio::runtime::scheduler::current_thread::Context::enter
             at [crates]/tokio-[ver]/src/runtime/scheduler/current_thread/mod.rs:[NNN]:[NNN]
  38: tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}
             at [crates]/tokio-[ver]/src/runtime/scheduler/current_thread/mod.rs:[NNN]:[NNN]
  39: tokio::runtime::scheduler::current_thread::CoreGuard::enter::{{closure}}
             at [crates]/tokio-[ver]/src/runtime/scheduler/current_thread/mod.rs:[NNN]:[NNN]
  40: tokio::runtime::context::scoped::Scoped<T>::set
             at [crates]/tokio-[ver]/src/runtime/context/scoped.rs:[NNN]:[NNN]
  41: tokio::runtime::context::set_scheduler::{{closure}}
             at [crates]/tokio-[ver]/src/runtime/context.rs:[NNN]:[NNN]
  42: std::thread::local::LocalKey<T>::try_with
  43: std::thread::local::LocalKey<T>::with
  44: tokio::runtime::context::set_scheduler
             at [crates]/tokio-[ver]/src/runtime/context.rs:[NNN]:[NNN]
  45: tokio::runtime::scheduler::current_thread::CoreGuard::enter
             at [crates]/tokio-[ver]/src/runtime/scheduler/current_thread/mod.rs:[NNN]:[NNN]
  46: tokio::runtime::scheduler::current_thread::CoreGuard::block_on
             at [crates]/tokio-[ver]/src/runtime/scheduler/current_thread/mod.rs:[NNN]:[NNN]
  47: tokio::runtime::scheduler::current_thread::CurrentThread::block_on::{{closure}}
             at [crates]/tokio-[ver]/src/runtime/scheduler/current_thread/mod.rs:[NNN]:[NNN]
  48: tokio::runtime::context::runtime::enter_runtime
             at [crates]/tokio-[ver]/src/runtime/context/runtime.rs:[NNN]:[NNN]
  49: tokio::runtime::scheduler::current_thread::CurrentThread::block_on
             at [crates]/tokio-[ver]/src/runtime/scheduler/current_thread/mod.rs:[NNN]:[NNN]
  50: tokio::runtime::runtime::Runtime::block_on_inner
             at [crates]/tokio-[ver]/src/runtime/runtime.rs:[NNN]:[NNN]
  51: tokio::runtime::runtime::Runtime::block_on
             at [crates]/tokio-[ver]/src/runtime/runtime.rs:[NNN]:[NNN]
  52: timeout_tracing::tests::tokio_select::with_select::{{closure}}
             at ./src/tests/tokio_select.rs:[NNN]:[NNN]
  53: core::ops::function::FnOnce::call_once
  54: serial_test::serial_code_lock::local_serial_core
             at [crates]/serial_test-[ver]/src/serial_code_lock.rs:[NNN]:[NNN]
  55: timeout_tracing::tests::tokio_select::with_select
             at ./src/tests/tokio_select.rs:[NNN]:[NNN]
  56: timeout_tracing::tests::tokio_select::with_select::{{closure}}
             at ./src/tests/tokio_select.rs:[NNN]:[NNN]
  57: core::ops::function::FnOnce::call_once
  58: core::ops::function::FnOnce::call_once
  59: test::__rust_begin_short_backtrace
  60: test::run_test_in_process::{{closure}}
  61: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
  62: std::panicking::try::do_call
  63: std::panicking::try
  64: std::panic::catch_unwind
  65: test::run_test_in_process
  66: test::run_test::{{closure}}
  67: test::run_test::{{closure}}
  68: std::sys::backtrace::__rust_begin_short_backtrace
  69: std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}
  70: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
  71: std::panicking::try::do_call
  72: std::panicking::try
  73: std::panic::catch_unwind
  74: std::thread::Builder::spawn_unchecked_::{{closure}}
  75: core::ops::function::FnOnce::call_once{{vtable.shim}}
  76: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
  77: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
  78: std::sys::pal::unix::thread::Thread::new::thread_start
  79: <unknown>
  80: <unknown>