Skip to content

Instantly share code, notes, and snippets.

@saethlin
Created August 22, 2022 23:26
Show Gist options
  • Save saethlin/9802cbcea530006137e5010c4c22e3a4 to your computer and use it in GitHub Desktop.
Save saethlin/9802cbcea530006137e5010c4c22e3a4 to your computer and use it in GitHub Desktop.
test test_cancellations ... error: Undefined Behavior: not granting access to tag <4173394> because incompatible item [Unique for <4173405>] is protected by call 1061456
--> /home/ben/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/sync/atomic.rs:2964:24
|
2964 | Acquire => intrinsics::atomic_load_acquire(dst),
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not granting access to tag <4173394> because incompatible item [Unique for <4173405>] is protected by call 1061456
|
= help: this indicates a potential bug in the program: it performed an invalid operation, but the Stacked Borrows rules it violated are still experimental
= help: see https://github.com/rust-lang/unsafe-code-guidelines/blob/master/wip/stacked-borrows.md for further information
help: <4173394> was created by a SharedReadWrite retag at offsets [0x1c..0x1e]
--> /home/ben/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:108:17
|
108 | Box::from_raw(main as *mut Box<dyn FnOnce()>)();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
help: <4173394> was protected due to <4173389> which was created here
--> /home/ben/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:108:17
|
108 | Box::from_raw(main as *mut Box<dyn FnOnce()>)();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
help: this protector is live for this call
--> /home/ben/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:108:17
|
108 | Box::from_raw(main as *mut Box<dyn FnOnce()>)();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
= note: backtrace:
= note: inside `std::sync::atomic::atomic_load::<u16>` at /home/ben/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/sync/atomic.rs:2964:24
= note: inside `std::sync::atomic::AtomicU16::load` at /home/ben/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/sync/atomic.rs:2077:26
= note: inside `tokio::runtime::thread_pool::queue::Steal::<std::sync::Arc<tokio::runtime::thread_pool::worker::Shared>>::steal_into2` at /home/ben/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.20.1/src/runtime/thread_pool/queue.rs:369:28
= note: inside `tokio::runtime::thread_pool::queue::Steal::<std::sync::Arc<tokio::runtime::thread_pool::worker::Shared>>::steal_into` at /home/ben/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.20.1/src/runtime/thread_pool/queue.rs:331:21
= note: inside `tokio::runtime::thread_pool::worker::Core::steal_work` at /home/ben/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.20.1/src/runtime/thread_pool/worker.rs:592:33
= note: inside `tokio::runtime::thread_pool::worker::Context::run` at /home/ben/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.20.1/src/runtime/thread_pool/worker.rs:407:33
= note: inside closure at /home/ben/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.20.1/src/runtime/thread_pool/worker.rs:386:17
= note: inside `tokio::macros::scoped_tls::ScopedKey::<tokio::runtime::thread_pool::worker::Context>::set::<[closure@tokio::runtime::thread_pool::worker::run::{closure#0}], ()>` at /home/ben/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.20.1/src/macros/scoped_tls.rs:61:9
= note: inside `tokio::runtime::thread_pool::worker::run` at /home/ben/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.20.1/src/runtime/thread_pool/worker.rs:383:5
= note: inside closure at /home/ben/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.20.1/src/runtime/thread_pool/worker.rs:362:45
= note: inside `<tokio::runtime::blocking::task::BlockingTask<[closure@tokio::runtime::thread_pool::worker::Launch::launch::{closure#0}]> as std::future::Future>::poll` at /home/ben/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.20.1/src/runtime/blocking/task.rs:42:21
= note: inside closure at /home/ben/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.20.1/src/runtime/task/core.rs:165:17
= note: inside `tokio::loom::std::unsafe_cell::UnsafeCell::<tokio::runtime::task::core::Stage<tokio::runtime::blocking::task::BlockingTask<[closure@tokio::runtime::thread_pool::worker::Launch::launch::{closure#0}]>>>::with_mut::<std::task::Poll<()>, [closure@tokio::runtime::task::core::CoreStage<tokio::runtime::blocking::task::BlockingTask<[closure@tokio::runtime::thread_pool::worker::Launch::launch::{closure#0}]>>::poll::{closure#0}]>` at /home/ben/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.20.1/src/loom/std/unsafe_cell.rs:14:9
= note: inside `tokio::runtime::task::core::CoreStage::<tokio::runtime::blocking::task::BlockingTask<[closure@tokio::runtime::thread_pool::worker::Launch::launch::{closure#0}]>>::poll` at /home/ben/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.20.1/src/runtime/task/core.rs:155:13
= note: inside closure at /home/ben/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.20.1/src/runtime/task/harness.rs:480:19
= note: inside `<std::panic::AssertUnwindSafe<[closure@tokio::runtime::task::harness::poll_future<tokio::runtime::blocking::task::BlockingTask<[closure@tokio::runtime::thread_pool::worker::Launch::launch::{closure#0}]>, tokio::runtime::blocking::schedule::NoopSchedule>::{closure#0}]> as std::ops::FnOnce<()>>::call_once` at /home/ben/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/panic/unwind_safe.rs:271:9
= note: inside `std::panicking::r#try::do_call::<std::panic::AssertUnwindSafe<[closure@tokio::runtime::task::harness::poll_future<tokio::runtime::blocking::task::BlockingTask<[closure@tokio::runtime::thread_pool::worker::Launch::launch::{closure#0}]>, tokio::runtime::blocking::schedule::NoopSchedule>::{closure#0}]>, std::task::Poll<()>>` at /home/ben/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/panicking.rs:492:40
= note: inside `std::panicking::r#try::<std::task::Poll<()>, std::panic::AssertUnwindSafe<[closure@tokio::runtime::task::harness::poll_future<tokio::runtime::blocking::task::BlockingTask<[closure@tokio::runtime::thread_pool::worker::Launch::launch::{closure#0}]>, tokio::runtime::blocking::schedule::NoopSchedule>::{closure#0}]>>` at /home/ben/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/panicking.rs:456:19
= note: inside `std::panic::catch_unwind::<std::panic::AssertUnwindSafe<[closure@tokio::runtime::task::harness::poll_future<tokio::runtime::blocking::task::BlockingTask<[closure@tokio::runtime::thread_pool::worker::Launch::launch::{closure#0}]>, tokio::runtime::blocking::schedule::NoopSchedule>::{closure#0}]>, std::task::Poll<()>>` at /home/ben/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/panic.rs:137:14
= note: inside `tokio::runtime::task::harness::poll_future::<tokio::runtime::blocking::task::BlockingTask<[closure@tokio::runtime::thread_pool::worker::Launch::launch::{closure#0}]>, tokio::runtime::blocking::schedule::NoopSchedule>` at /home/ben/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.20.1/src/runtime/task/harness.rs:468:18
= note: inside `tokio::runtime::task::harness::Harness::<tokio::runtime::blocking::task::BlockingTask<[closure@tokio::runtime::thread_pool::worker::Launch::launch::{closure#0}]>, tokio::runtime::blocking::schedule::NoopSchedule>::poll_inner` at /home/ben/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.20.1/src/runtime/task/harness.rs:104:27
= note: inside `tokio::runtime::task::harness::Harness::<tokio::runtime::blocking::task::BlockingTask<[closure@tokio::runtime::thread_pool::worker::Launch::launch::{closure#0}]>, tokio::runtime::blocking::schedule::NoopSchedule>::poll` at /home/ben/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.20.1/src/runtime/task/harness.rs:57:15
= note: inside `tokio::runtime::task::raw::poll::<tokio::runtime::blocking::task::BlockingTask<[closure@tokio::runtime::thread_pool::worker::Launch::launch::{closure#0}]>, tokio::runtime::blocking::schedule::NoopSchedule>` at /home/ben/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.20.1/src/runtime/task/raw.rs:144:5
= note: inside `tokio::runtime::task::raw::RawTask::poll` at /home/ben/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.20.1/src/runtime/task/raw.rs:84:18
= note: inside `tokio::runtime::task::UnownedTask::<tokio::runtime::blocking::schedule::NoopSchedule>::run` at /home/ben/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.20.1/src/runtime/task/mod.rs:418:9
= note: inside `tokio::runtime::blocking::pool::Task::run` at /home/ben/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.20.1/src/runtime/blocking/pool.rs:91:9
= note: inside `tokio::runtime::blocking::pool::Inner::run` at /home/ben/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.20.1/src/runtime/blocking/pool.rs:325:17
= note: inside closure at /home/ben/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.20.1/src/runtime/blocking/pool.rs:300:13
= note: inside `std::sys_common::backtrace::__rust_begin_short_backtrace::<[closure@tokio::runtime::blocking::pool::Spawner::spawn_thread::{closure#0}], ()>` at /home/ben/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:122:18
= note: inside closure at /home/ben/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/thread/mod.rs:504:17
= note: inside `<std::panic::AssertUnwindSafe<[closure@std::thread::Builder::spawn_unchecked_<[closure@tokio::runtime::blocking::pool::Spawner::spawn_thread::{closure#0}], ()>::{closure#1}::{closure#0}]> as std::ops::FnOnce<()>>::call_once` at /home/ben/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/panic/unwind_safe.rs:271:9
= note: inside `std::panicking::r#try::do_call::<std::panic::AssertUnwindSafe<[closure@std::thread::Builder::spawn_unchecked_<[closure@tokio::runtime::blocking::pool::Spawner::spawn_thread::{closure#0}], ()>::{closure#1}::{closure#0}]>, ()>` at /home/ben/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/panicking.rs:492:40
= note: inside `std::panicking::r#try::<(), std::panic::AssertUnwindSafe<[closure@std::thread::Builder::spawn_unchecked_<[closure@tokio::runtime::blocking::pool::Spawner::spawn_thread::{closure#0}], ()>::{closure#1}::{closure#0}]>>` at /home/ben/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/panicking.rs:456:19
= note: inside `std::panic::catch_unwind::<std::panic::AssertUnwindSafe<[closure@std::thread::Builder::spawn_unchecked_<[closure@tokio::runtime::blocking::pool::Spawner::spawn_thread::{closure#0}], ()>::{closure#1}::{closure#0}]>, ()>` at /home/ben/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/panic.rs:137:14
= note: inside closure at /home/ben/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/thread/mod.rs:503:30
= note: inside `<[closure@std::thread::Builder::spawn_unchecked_<[closure@tokio::runtime::blocking::pool::Spawner::spawn_thread::{closure#0}], ()>::{closure#1}] as std::ops::FnOnce<()>>::call_once - shim(vtable)` at /home/ben/.rustup/toolchains/miri/lib/rustlib/src/rust/library/core/src/ops/function.rs:248:5
= note: inside `<std::boxed::Box<dyn std::ops::FnOnce()> as std::ops::FnOnce<()>>::call_once` at /home/ben/.rustup/toolchains/miri/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1935:9
= note: inside `<std::boxed::Box<std::boxed::Box<dyn std::ops::FnOnce()>> as std::ops::FnOnce<()>>::call_once` at /home/ben/.rustup/toolchains/miri/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1935:9
= note: inside `std::sys::unix::thread::Thread::new::thread_start` at /home/ben/.rustup/toolchains/miri/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:108:17
error: aborting due to previous error
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment