Created
August 22, 2022 23:26
-
-
Save saethlin/9802cbcea530006137e5010c4c22e3a4 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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