crossbeam-rs / crossbeam

Tools for concurrent programming in Rust
Apache License 2.0
7.27k stars 457 forks source link

Pounds of miri provenance errors #957

Closed SUPERCILEX closed 1 year ago

SUPERCILEX commented 1 year ago

Not sure if this is solvable on stable yet, but there are quite a few miri errors.

warning: integer-to-pointer cast
   --> /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-epoch-0.9.13/src/atomic.rs:[204](https://github.com/SUPERCILEX/ftzz/actions/runs/4039367309/jobs/6944029052#step:5:205):11
    |
204 |         &*(ptr as *const T)
    |           ^^^^^^^^^^^^^^^^^ integer-to-pointer cast
    |
    = help: This program is using integer-to-pointer casts or (equivalently) `ptr::from_exposed_addr`,
    = help: which means that Miri might miss pointer bugs in this program.
    = help: See https://doc.rust-lang.org/nightly/std/ptr/fn.from_exposed_addr.html for more details on that operation.
    = help: To ensure that Miri does not miss bugs in your program, use Strict Provenance APIs (https://doc.rust-lang.org/nightly/std/ptr/index.html#strict-provenance, https://crates.io/crates/sptr) instead.
    = help: You can then pass the `-Zmiri-strict-provenance` flag to Miri, to ensure you are not relying on `from_exposed_addr` semantics.
    = help: Alternatively, the `-Zmiri-permissive-provenance` flag disables this warning.
    = note: BACKTRACE:
    = note: inside `<crossbeam_epoch::internal::Local as crossbeam_epoch::atomic::Pointable>::deref::<'_>` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-epoch-0.9.13/src/atomic.rs:204:11: 204:28
    = note: inside `crossbeam_epoch::atomic::Shared::<'_, crossbeam_epoch::internal::Local>::deref` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-epoch-0.9.13/src/atomic.rs:1436:9: 1436:22
    = note: inside `crossbeam_epoch::sync::list::List::<crossbeam_epoch::internal::Local>::insert` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-epoch-0.9.13/src/sync/list.rs:176:41: 176:58
    = note: inside `crossbeam_epoch::internal::Local::register` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-epoch-0.9.13/src/internal.rs:331:13: 331:65
    = note: inside `crossbeam_epoch::collector::Collector::register` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-epoch-0.9.13/src/collector.rs:45:9: 45:30
    = note: inside `crossbeam_epoch::default::HANDLE::__init` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-epoch-0.9.13/src/default.rs:34:34: 34:56
    = note: inside closure at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:354:25: 354:33
    = note: inside `std::thread::local::lazy::LazyKeyInner::<crossbeam_epoch::collector::LocalHandle>::initialize::<[closure@crossbeam_epoch::default::HANDLE::__getit::{closure#0}]>` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:810:25: 810:31
    = note: inside `std::thread::__FastLocalKeyInner::<crossbeam_epoch::collector::LocalHandle>::try_initialize::<[closure@crossbeam_epoch::default::HANDLE::__getit::{closure#0}]>` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:987:31: 987:58
    = note: inside `std::thread::__FastLocalKeyInner::<crossbeam_epoch::collector::LocalHandle>::get::<[closure@crossbeam_epoch::default::HANDLE::__getit::{closure#0}]>` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:970:29: 970:54
    = note: inside `crossbeam_epoch::default::HANDLE::__getit` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:346:21: 355:23
    = note: inside `std::thread::LocalKey::<crossbeam_epoch::collector::LocalHandle>::try_with::<[closure@crossbeam_epoch::default::with_handle<[closure@crossbeam_epoch::default::is_pinned::{closure#0}], bool>::{closure#0}], bool>` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:445:32: 445:50
    = note: inside `crossbeam_epoch::default::with_handle::<[closure@crossbeam_epoch::default::is_pinned::{closure#0}], bool>` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-epoch-0.9.13/src/default.rs:59:5: 60:28
    = note: inside `crossbeam_epoch::default::is_pinned` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-epoch-0.9.13/src/default.rs:46:5: 46:45
    = note: inside `crossbeam_deque::deque::Stealer::<rayon_core::job::JobRef>::steal` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-deque-0.8.2/src/deque.rs:637:12: 637:30
    = note: inside `rayon_core::registry::WorkerThread::take_local_job` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.10.2/src/registry.rs:737:19: 737:39
    = note: inside `rayon_core::registry::WorkerThread::wait_until_cold` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.10.2/src/registry.rs:775:32: 776:34
    = note: inside `rayon_core::registry::WorkerThread::wait_until::<rayon_core::latch::CountLatch>` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.10.2/src/registry.rs:755:13: 755:40
    = note: inside `rayon_core::registry::main_loop` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.10.2/src/registry.rs:889:5: 889:49
    = note: inside `rayon_core::registry::ThreadBuilder::run` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.10.2/src/registry.rs:53:18: 53:81
    = note: inside closure at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.10.2/src/registry.rs:98:20: 98:32
    = note: inside `std::sys_common::backtrace::__rust_begin_short_backtrace::<[closure@<rayon_core::registry::DefaultSpawn as rayon_core::registry::ThreadSpawn>::spawn::{closure#0}], ()>` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:121:18: 121:21
    = note: inside closure at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:558:17: 558:78
    = note: inside `<std::panic::AssertUnwindSafe<[closure@std::thread::Builder::spawn_unchecked_<'_, '_, [closure@<rayon_core::registry::DefaultSpawn as rayon_core::registry::ThreadSpawn>::spawn::{closure#0}], ()>::{closure#1}::{closure#0}]> as std::ops::FnOnce<()>>::call_once` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/panic/unwind_safe.rs:271:9: 271:19
    = note: inside `std::panicking::r#try::do_call::<std::panic::AssertUnwindSafe<[closure@std::thread::Builder::spawn_unchecked_<'_, '_, [closure@<rayon_core::registry::DefaultSpawn as rayon_core::registry::ThreadSpawn>::spawn::{closure#0}], ()>::{closure#1}::{closure#0}]>, ()>` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:483:40: 483:43
    = note: inside `std::panicking::r#try::<(), std::panic::AssertUnwindSafe<[closure@std::thread::Builder::spawn_unchecked_<'_, '_, [closure@<rayon_core::registry::DefaultSpawn as rayon_core::registry::ThreadSpawn>::spawn::{closure#0}], ()>::{closure#1}::{closure#0}]>>` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:447:19: 447:81
    = note: inside `std::panic::catch_unwind::<std::panic::AssertUnwindSafe<[closure@std::thread::Builder::spawn_unchecked_<'_, '_, [closure@<rayon_core::registry::DefaultSpawn as rayon_core::registry::ThreadSpawn>::spawn::{closure#0}], ()>::{closure#1}::{closure#0}]>, ()>` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:140:14: 140:33
    = note: inside closure at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:557:30: 559:16
    = note: inside `<[closure@std::thread::Builder::spawn_unchecked_<'_, '_, [closure@<rayon_core::registry::DefaultSpawn as rayon_core::registry::ThreadSpawn>::spawn::{closure#0}], ()>::{closure#1}] as std::ops::FnOnce<()>>::call_once - shim(vtable)` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5: 250:71
    = note: inside `<std::boxed::Box<dyn std::ops::FnOnce()> as std::ops::FnOnce<()>>::call_once` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1988:9: 1988:52
    = note: inside `<std::boxed::Box<std::boxed::Box<dyn std::ops::FnOnce()>> as std::ops::FnOnce<()>>::call_once` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1988:9: 1988:52
    = note: inside `std::sys::unix::thread::Thread::new::thread_start` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:108:17: 108:64

warning: integer-to-pointer cast
   --> /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-epoch-0.9.13/src/internal.rs:540:25
    |
540 |         let entry_ptr = (local as *const Local as usize + offset_of!(Local, entry)) as *const Entry;
    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ integer-to-pointer cast
    |
    = note: inside `<crossbeam_epoch::internal::Local as crossbeam_epoch::sync::list::IsElement<crossbeam_epoch::internal::Local>>::entry_of` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-epoch-0.9.13/src/internal.rs:540:25: 540:100
    = note: inside `crossbeam_epoch::sync::list::List::<crossbeam_epoch::internal::Local>::insert` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-epoch-0.9.13/src/sync/list.rs:176:29: 176:59
    = note: inside `crossbeam_epoch::internal::Local::register` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-epoch-0.9.13/src/internal.rs:331:13: 331:65
    = note: inside `crossbeam_epoch::collector::Collector::register` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-epoch-0.9.13/src/collector.rs:45:9: 45:30
    = note: inside `crossbeam_epoch::default::HANDLE::__init` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-epoch-0.9.13/src/default.rs:34:34: 34:56
    = note: inside closure at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:354:25: 354:33
    = note: inside `std::thread::local::lazy::LazyKeyInner::<crossbeam_epoch::collector::LocalHandle>::initialize::<[closure@crossbeam_epoch::default::HANDLE::__getit::{closure#0}]>` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:810:25: 810:31
    = note: inside `std::thread::__FastLocalKeyInner::<crossbeam_epoch::collector::LocalHandle>::try_initialize::<[closure@crossbeam_epoch::default::HANDLE::__getit::{closure#0}]>` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:987:31: 987:58
    = note: inside `std::thread::__FastLocalKeyInner::<crossbeam_epoch::collector::LocalHandle>::get::<[closure@crossbeam_epoch::default::HANDLE::__getit::{closure#0}]>` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:970:29: 970:54
    = note: inside `crossbeam_epoch::default::HANDLE::__getit` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:346:21: 355:23
    = note: inside `std::thread::LocalKey::<crossbeam_epoch::collector::LocalHandle>::try_with::<[closure@crossbeam_epoch::default::with_handle<[closure@crossbeam_epoch::default::is_pinned::{closure#0}], bool>::{closure#0}], bool>` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:445:32: 445:50
    = note: inside `crossbeam_epoch::default::with_handle::<[closure@crossbeam_epoch::default::is_pinned::{closure#0}], bool>` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-epoch-0.9.13/src/default.rs:59:5: 60:28
    = note: inside `crossbeam_epoch::default::is_pinned` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-epoch-0.9.13/src/default.rs:46:5: 46:45
    = note: inside `crossbeam_deque::deque::Stealer::<rayon_core::job::JobRef>::steal` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-deque-0.8.2/src/deque.rs:637:12: 637:30
    = note: inside `rayon_core::registry::WorkerThread::take_local_job` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.10.2/src/registry.rs:737:19: 737:39
    = note: inside `rayon_core::registry::WorkerThread::wait_until_cold` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.10.2/src/registry.rs:775:32: 776:34
    = note: inside `rayon_core::registry::WorkerThread::wait_until::<rayon_core::latch::CountLatch>` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.10.2/src/registry.rs:755:13: 755:40
    = note: inside `rayon_core::registry::main_loop` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.10.2/src/registry.rs:889:5: 889:49
    = note: inside `rayon_core::registry::ThreadBuilder::run` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.10.2/src/registry.rs:53:18: 53:81
    = note: inside closure at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.10.2/src/registry.rs:98:20: 98:32
    = note: inside `std::sys_common::backtrace::__rust_begin_short_backtrace::<[closure@<rayon_core::registry::DefaultSpawn as rayon_core::registry::ThreadSpawn>::spawn::{closure#0}], ()>` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:121:18: 121:21
    = note: inside closure at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:558:17: 558:78
    = note: inside `<std::panic::AssertUnwindSafe<[closure@std::thread::Builder::spawn_unchecked_<'_, '_, [closure@<rayon_core::registry::DefaultSpawn as rayon_core::registry::ThreadSpawn>::spawn::{closure#0}], ()>::{closure#1}::{closure#0}]> as std::ops::FnOnce<()>>::call_once` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/panic/unwind_safe.rs:271:9: 271:19
    = note: inside `std::panicking::r#try::do_call::<std::panic::AssertUnwindSafe<[closure@std::thread::Builder::spawn_unchecked_<'_, '_, [closure@<rayon_core::registry::DefaultSpawn as rayon_core::registry::ThreadSpawn>::spawn::{closure#0}], ()>::{closure#1}::{closure#0}]>, ()>` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:483:40: 483:43
    = note: inside `std::panicking::r#try::<(), std::panic::AssertUnwindSafe<[closure@std::thread::Builder::spawn_unchecked_<'_, '_, [closure@<rayon_core::registry::DefaultSpawn as rayon_core::registry::ThreadSpawn>::spawn::{closure#0}], ()>::{closure#1}::{closure#0}]>>` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:447:19: 447:81
    = note: inside `std::panic::catch_unwind::<std::panic::AssertUnwindSafe<[closure@std::thread::Builder::spawn_unchecked_<'_, '_, [closure@<rayon_core::registry::DefaultSpawn as rayon_core::registry::ThreadSpawn>::spawn::{closure#0}], ()>::{closure#1}::{closure#0}]>, ()>` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:140:14: 140:33
    = note: inside closure at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:557:30: 559:16
    = note: inside `<[closure@std::thread::Builder::spawn_unchecked_<'_, '_, [closure@<rayon_core::registry::DefaultSpawn as rayon_core::registry::ThreadSpawn>::spawn::{closure#0}], ()>::{closure#1}] as std::ops::FnOnce<()>>::call_once - shim(vtable)` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5: 250:71
    = note: inside `<std::boxed::Box<dyn std::ops::FnOnce()> as std::ops::FnOnce<()>>::call_once` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1988:9: 1988:52
    = note: inside `<std::boxed::Box<std::boxed::Box<dyn std::ops::FnOnce()>> as std::ops::FnOnce<()>>::call_once` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1988:9: 1988:52
    = note: inside `std::sys::unix::thread::Thread::new::thread_start` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:108:17: 108:64

warning: integer-to-pointer cast
    --> /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-epoch-0.9.13/src/atomic.rs:1360:9
     |
1360 |         raw as *const _
     |         ^^^^^^^^^^^^^^^ integer-to-pointer cast
     |
     = note: inside `crossbeam_epoch::atomic::Shared::<'_, crossbeam_epoch::internal::Local>::as_raw` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-epoch-0.9.13/src/atomic.rs:1360:9: 1360:24
     = note: inside `crossbeam_epoch::internal::Local::register` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-epoch-0.9.13/src/internal.rs:333:24: 333:38
     = note: inside `crossbeam_epoch::collector::Collector::register` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-epoch-0.9.13/src/collector.rs:45:9: 45:30
     = note: inside `crossbeam_epoch::default::HANDLE::__init` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-epoch-0.9.13/src/default.rs:34:34: 34:56
     = note: inside closure at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:354:25: 354:33
     = note: inside `std::thread::local::lazy::LazyKeyInner::<crossbeam_epoch::collector::LocalHandle>::initialize::<[closure@crossbeam_epoch::default::HANDLE::__getit::{closure#0}]>` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:810:25: 810:31
     = note: inside `std::thread::__FastLocalKeyInner::<crossbeam_epoch::collector::LocalHandle>::try_initialize::<[closure@crossbeam_epoch::default::HANDLE::__getit::{closure#0}]>` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:987:31: 987:58
     = note: inside `std::thread::__FastLocalKeyInner::<crossbeam_epoch::collector::LocalHandle>::get::<[closure@crossbeam_epoch::default::HANDLE::__getit::{closure#0}]>` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:970:29: 970:54
     = note: inside `crossbeam_epoch::default::HANDLE::__getit` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:346:21: 355:23
     = note: inside `std::thread::LocalKey::<crossbeam_epoch::collector::LocalHandle>::try_with::<[closure@crossbeam_epoch::default::with_handle<[closure@crossbeam_epoch::default::is_pinned::{closure#0}], bool>::{closure#0}], bool>` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:445:32: 445:50
     = note: inside `crossbeam_epoch::default::with_handle::<[closure@crossbeam_epoch::default::is_pinned::{closure#0}], bool>` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-epoch-0.9.13/src/default.rs:59:5: 60:28
     = note: inside `crossbeam_epoch::default::is_pinned` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-epoch-0.9.13/src/default.rs:46:5: 46:45
     = note: inside `crossbeam_deque::deque::Stealer::<rayon_core::job::JobRef>::steal` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-deque-0.8.2/src/deque.rs:637:12: 637:30
     = note: inside `rayon_core::registry::WorkerThread::take_local_job` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.10.2/src/registry.rs:737:19: 737:39
     = note: inside `rayon_core::registry::WorkerThread::wait_until_cold` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.10.2/src/registry.rs:775:32: 776:34
     = note: inside `rayon_core::registry::WorkerThread::wait_until::<rayon_core::latch::CountLatch>` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.10.2/src/registry.rs:755:13: 755:40
     = note: inside `rayon_core::registry::main_loop` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.10.2/src/registry.rs:889:5: 889:49
     = note: inside `rayon_core::registry::ThreadBuilder::run` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.10.2/src/registry.rs:53:18: 53:81
     = note: inside closure at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.10.2/src/registry.rs:98:20: 98:32
     = note: inside `std::sys_common::backtrace::__rust_begin_short_backtrace::<[closure@<rayon_core::registry::DefaultSpawn as rayon_core::registry::ThreadSpawn>::spawn::{closure#0}], ()>` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:121:18: 121:21
     = note: inside closure at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:558:17: 558:78
     = note: inside `<std::panic::AssertUnwindSafe<[closure@std::thread::Builder::spawn_unchecked_<'_, '_, [closure@<rayon_core::registry::DefaultSpawn as rayon_core::registry::ThreadSpawn>::spawn::{closure#0}], ()>::{closure#1}::{closure#0}]> as std::ops::FnOnce<()>>::call_once` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/panic/unwind_safe.rs:271:9: 271:19
     = note: inside `std::panicking::r#try::do_call::<std::panic::AssertUnwindSafe<[closure@std::thread::Builder::spawn_unchecked_<'_, '_, [closure@<rayon_core::registry::DefaultSpawn as rayon_core::registry::ThreadSpawn>::spawn::{closure#0}], ()>::{closure#1}::{closure#0}]>, ()>` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:483:40: 483:43
     = note: inside `std::panicking::r#try::<(), std::panic::AssertUnwindSafe<[closure@std::thread::Builder::spawn_unchecked_<'_, '_, [closure@<rayon_core::registry::DefaultSpawn as rayon_core::registry::ThreadSpawn>::spawn::{closure#0}], ()>::{closure#1}::{closure#0}]>>` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:447:19: 447:81
     = note: inside `std::panic::catch_unwind::<std::panic::AssertUnwindSafe<[closure@std::thread::Builder::spawn_unchecked_<'_, '_, [closure@<rayon_core::registry::DefaultSpawn as rayon_core::registry::ThreadSpawn>::spawn::{closure#0}], ()>::{closure#1}::{closure#0}]>, ()>` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:140:14: 140:33
     = note: inside closure at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:557:30: 559:16
     = note: inside `<[closure@std::thread::Builder::spawn_unchecked_<'_, '_, [closure@<rayon_core::registry::DefaultSpawn as rayon_core::registry::ThreadSpawn>::spawn::{closure#0}], ()>::{closure#1}] as std::ops::FnOnce<()>>::call_once - shim(vtable)` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5: 250:71
     = note: inside `<std::boxed::Box<dyn std::ops::FnOnce()> as std::ops::FnOnce<()>>::call_once` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1988:9: 1988:52
     = note: inside `<std::boxed::Box<std::boxed::Box<dyn std::ops::FnOnce()>> as std::ops::FnOnce<()>>::call_once` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1988:9: 1988:52
     = note: inside `std::sys::unix::thread::Thread::new::thread_start` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:108:17: 108:64

warning: integer-to-pointer cast
   --> /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-epoch-0.9.13/src/internal.rs:547:25
    |
547 |         let local_ptr = (entry as *const Entry as usize - offset_of!(Local, entry)) as *const Local;
    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ integer-to-pointer cast
    |
    = note: inside `<crossbeam_epoch::internal::Local as crossbeam_epoch::sync::list::IsElement<crossbeam_epoch::internal::Local>>::element_of` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-epoch-0.9.13/src/internal.rs:547:25: 547:100
    = note: inside `<crossbeam_epoch::sync::list::Iter<'_, crossbeam_epoch::internal::Local, crossbeam_epoch::internal::Local> as std::iter::Iterator>::next` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-epoch-0.9.13/src/sync/list.rs:290:37: 290:53
    = note: inside `crossbeam_epoch::internal::Global::try_advance` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-epoch-0.9.13/src/internal.rs:[237](https://github.com/SUPERCILEX/ftzz/actions/runs/4039367309/jobs/6944029052#step:5:238):22: 237:45
    = note: inside `crossbeam_epoch::internal::Global::collect` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-epoch-0.9.13/src/internal.rs:202:28: 202:51
    = note: inside `crossbeam_epoch::internal::Local::pin` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-epoch-0.9.13/src/internal.rs:436:17: 436:46
    = note: inside `crossbeam_epoch::collector::LocalHandle::pin` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-epoch-0.9.13/src/collector.rs:81:18: 81:37
    = note: inside closure at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-epoch-0.9.13/src/default.rs:40:26: 40:38
    = note: inside closure at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-epoch-0.9.13/src/default.rs:60:23: 60:27
    = note: inside `std::thread::LocalKey::<crossbeam_epoch::collector::LocalHandle>::try_with::<[closure@crossbeam_epoch::default::with_handle<[closure@crossbeam_epoch::default::pin::{closure#0}], crossbeam_epoch::guard::Guard>::{closure#0}], crossbeam_epoch::guard::Guard>` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:446:16: 446:31
    = note: inside `crossbeam_epoch::default::with_handle::<[closure@crossbeam_epoch::default::pin::{closure#0}], crossbeam_epoch::guard::Guard>` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-epoch-0.9.13/src/default.rs:59:5: 60:28
    = note: inside `crossbeam_epoch::default::pin` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-epoch-0.9.13/src/default.rs:40:5: 40:39
    = note: inside `crossbeam_deque::deque::Stealer::<rayon_core::job::JobRef>::steal` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/crossbeam-deque-0.8.2/src/deque.rs:641:22: 641:34
    = note: inside `rayon_core::registry::WorkerThread::take_local_job` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.10.2/src/registry.rs:737:19: 737:39
    = note: inside `rayon_core::registry::WorkerThread::wait_until_cold` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.10.2/src/registry.rs:775:32: 776:34
    = note: inside `rayon_core::registry::WorkerThread::wait_until::<rayon_core::latch::CountLatch>` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.10.2/src/registry.rs:755:13: 755:40
    = note: inside `rayon_core::registry::main_loop` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.10.2/src/registry.rs:889:5: 889:49
    = note: inside `rayon_core::registry::ThreadBuilder::run` at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.10.2/src/registry.rs:53:18: 53:81
    = note: inside closure at /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/rayon-core-1.10.2/src/registry.rs:98:20: 98:32
    = note: inside `std::sys_common::backtrace::__rust_begin_short_backtrace::<[closure@<rayon_core::registry::DefaultSpawn as rayon_core::registry::ThreadSpawn>::spawn::{closure#0}], ()>` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:121:18: 121:21
    = note: inside closure at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:558:17: 558:78
    = note: inside `<std::panic::AssertUnwindSafe<[closure@std::thread::Builder::spawn_unchecked_<'_, '_, [closure@<rayon_core::registry::DefaultSpawn as rayon_core::registry::ThreadSpawn>::spawn::{closure#0}], ()>::{closure#1}::{closure#0}]> as std::ops::FnOnce<()>>::call_once` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/panic/unwind_safe.rs:271:9: 271:19
    = note: inside `std::panicking::r#try::do_call::<std::panic::AssertUnwindSafe<[closure@std::thread::Builder::spawn_unchecked_<'_, '_, [closure@<rayon_core::registry::DefaultSpawn as rayon_core::registry::ThreadSpawn>::spawn::{closure#0}], ()>::{closure#1}::{closure#0}]>, ()>` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:483:40: 483:43
    = note: inside `std::panicking::r#try::<(), std::panic::AssertUnwindSafe<[closure@std::thread::Builder::spawn_unchecked_<'_, '_, [closure@<rayon_core::registry::DefaultSpawn as rayon_core::registry::ThreadSpawn>::spawn::{closure#0}], ()>::{closure#1}::{closure#0}]>>` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:447:19: 447:81
    = note: inside `std::panic::catch_unwind::<std::panic::AssertUnwindSafe<[closure@std::thread::Builder::spawn_unchecked_<'_, '_, [closure@<rayon_core::registry::DefaultSpawn as rayon_core::registry::ThreadSpawn>::spawn::{closure#0}], ()>::{closure#1}::{closure#0}]>, ()>` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:140:14: 140:33
    = note: inside closure at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/mod.rs:557:30: 559:16
    = note: inside `<[closure@std::thread::Builder::spawn_unchecked_<'_, '_, [closure@<rayon_core::registry::DefaultSpawn as rayon_core::registry::ThreadSpawn>::spawn::{closure#0}], ()>::{closure#1}] as std::ops::FnOnce<()>>::call_once - shim(vtable)` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5: 250:71
    = note: inside `<std::boxed::Box<dyn std::ops::FnOnce()> as std::ops::FnOnce<()>>::call_once` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1988:9: 1988:52
    = note: inside `<std::boxed::Box<std::boxed::Box<dyn std::ops::FnOnce()>> as std::ops::FnOnce<()>>::call_once` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/alloc/src/boxed.rs:1988:9: 1988:52
    = note: inside `std::sys::unix::thread::Thread::new::thread_start` at /home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/unix/thread.rs:108:17: 108:64
taiki-e commented 1 year ago

I believe the strict-provenance-related stuff has been fixed in the master (https://github.com/crossbeam-rs/crossbeam/pull/796). As for stacked-borrows-related stuff in the epoch, there is a fix in https://github.com/crossbeam-rs/crossbeam/pull/871, but feedback on the new API is needed.

taiki-e commented 1 year ago

Closing as already fixed.