You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The send_recv_different_threads test (tests/loom.rs) occasionally fails with STATUS_STACK_BUFFER_OVERRUN on x86_64-pc-windows-msvc. Only default features, rustc 1.79.0-nightly (3a36386dc 2024-04-25).
Curiously, sometimes loom panics before this happens:
---- send_recv_different_threads stdout ----
thread 'send_recv_different_threads' panicked at C:\Users\Lenovo\.cargo\registry\src\index.crates.io-6f17d22bba15001f\loom-0.5.6\src\rt\path.rs:171:14:
Reached unexpected exploration state. Is the model fully deterministic?
stack backtrace:
0: std::panicking::begin_panic_handler
at /rustc/3a36386dc1075018dc7ca2640a2656adb31a61fe/library\std\src\panicking.rs:652
1: core::panicking::panic_fmt
at /rustc/3a36386dc1075018dc7ca2640a2656adb31a61fe/library\core\src\panicking.rs:72
2: core::panicking::panic_display<ref$<str$> >
at /rustc/3a36386dc1075018dc7ca2640a2656adb31a61fe/library\core\src\panicking.rs:263
3: core::option::expect_failed
at /rustc/3a36386dc1075018dc7ca2640a2656adb31a61fe/library\core\src\option.rs:1994
4: enum2$<core::option::Option<loom::rt::object::Ref<loom::rt::path::Load> > >::expect<loom::rt::object::Ref<loom::rt::path::Load> >
at /rustc/3a36386dc1075018dc7ca2640a2656adb31a61fe\library\core\src\option.rs:895
5: loom::rt::path::Path::branch_load
at C:\Users\Lenovo\.cargo\registry\src\index.crates.io-6f17d22bba15001f\loom-0.5.6\src\rt\path.rs:169
6: loom::rt::atomic::impl$0::rmw::closure$0<u8,loom::sync::atomic::atomic::impl$0::rmw::closure_env$0<u8,loom::sync::atomic::atomic::impl$0::swap::closure_env$0<u8> >,tuple$<> >
at C:\Users\Lenovo\.cargo\registry\src\index.crates.io-6f17d22bba15001f\loom-0.5.6\src\rt\atomic.rs:321
7: loom::rt::synchronize::closure$0<loom::rt::atomic::impl$0::rmw::closure_env$0<u8,loom::sync::atomic::atomic::impl$0::rmw::closure_env$0<u8,loom::sync::atomic::atomic::impl$0::swap::closure_env$0<u8> >,tuple$<> >,enum2$<core::result::Result<u8,tuple$<> > >
at C:\Users\Lenovo\.cargo\registry\src\index.crates.io-6f17d22bba15001f\loom-0.5.6\src\rt\mod.rs:141
8: loom::rt::scheduler::impl$0::with_execution::closure$0<loom::rt::synchronize::closure_env$0<loom::rt::atomic::impl$0::rmw::closure_env$0<u8,loom::sync::atomic::atomic::impl$0::rmw::closure_env$0<u8,loom::sync::atomic::atomic::impl$0::swap::closure_env$0<u
at C:\Users\Lenovo\.cargo\registry\src\index.crates.io-6f17d22bba15001f\loom-0.5.6\src\rt\scheduler.rs:48
9: loom::rt::scheduler::impl$0::with_state::closure$0<loom::rt::scheduler::impl$0::with_execution::closure_env$0<loom::rt::synchronize::closure_env$0<loom::rt::atomic::impl$0::rmw::closure_env$0<u8,loom::sync::atomic::atomic::impl$0::rmw::closure_env$0<u8,lo
at C:\Users\Lenovo\.cargo\registry\src\index.crates.io-6f17d22bba15001f\loom-0.5.6\src\rt\scheduler.rs:130
10: scoped_tls::ScopedKey<core::cell::RefCell<loom::rt::scheduler::State> >::with<core::cell::RefCell<loom::rt::scheduler::State>,loom::rt::scheduler::impl$0::with_state::closure_env$0<loom::rt::scheduler::impl$0::with_execution::closure_env$0<loom::rt::synch
at C:\Users\Lenovo\.cargo\registry\src\index.crates.io-6f17d22bba15001f\scoped-tls-1.0.1\src\lib.rs:171
11: loom::rt::scheduler::Scheduler::with_state<loom::rt::scheduler::impl$0::with_execution::closure_env$0<loom::rt::synchronize::closure_env$0<loom::rt::atomic::impl$0::rmw::closure_env$0<u8,loom::sync::atomic::atomic::impl$0::rmw::closure_env$0<u8,loom::sync
at C:\Users\Lenovo\.cargo\registry\src\index.crates.io-6f17d22bba15001f\loom-0.5.6\src\rt\scheduler.rs:130
12: loom::rt::scheduler::Scheduler::with_execution<loom::rt::synchronize::closure_env$0<loom::rt::atomic::impl$0::rmw::closure_env$0<u8,loom::sync::atomic::atomic::impl$0::rmw::closure_env$0<u8,loom::sync::atomic::atomic::impl$0::swap::closure_env$0<u8> >,tup
at C:\Users\Lenovo\.cargo\registry\src\index.crates.io-6f17d22bba15001f\loom-0.5.6\src\rt\scheduler.rs:48
13: loom::rt::execution<loom::rt::synchronize::closure_env$0<loom::rt::atomic::impl$0::rmw::closure_env$0<u8,loom::sync::atomic::atomic::impl$0::rmw::closure_env$0<u8,loom::sync::atomic::atomic::impl$0::swap::closure_env$0<u8> >,tuple$<> >,enum2$<core::result
at C:\Users\Lenovo\.cargo\registry\src\index.crates.io-6f17d22bba15001f\loom-0.5.6\src\rt\mod.rs:171
14: loom::rt::synchronize<loom::rt::atomic::impl$0::rmw::closure_env$0<u8,loom::sync::atomic::atomic::impl$0::rmw::closure_env$0<u8,loom::sync::atomic::atomic::impl$0::swap::closure_env$0<u8> >,tuple$<> >,enum2$<core::result::Result<u8,tuple$<> > > >
at C:\Users\Lenovo\.cargo\registry\src\index.crates.io-6f17d22bba15001f\loom-0.5.6\src\rt\mod.rs:138
15: loom::rt::atomic::Atomic<u8>::rmw<u8,loom::sync::atomic::atomic::impl$0::rmw::closure_env$0<u8,loom::sync::atomic::atomic::impl$0::swap::closure_env$0<u8> >,tuple$<> >
at C:\Users\Lenovo\.cargo\registry\src\index.crates.io-6f17d22bba15001f\loom-0.5.6\src\rt\atomic.rs:309
16: loom::sync::atomic::atomic::Atomic<u8>::try_rmw<u8,loom::sync::atomic::atomic::impl$0::rmw::closure_env$0<u8,loom::sync::atomic::atomic::impl$0::swap::closure_env$0<u8> >,tuple$<> >
at C:\Users\Lenovo\.cargo\registry\src\index.crates.io-6f17d22bba15001f\loom-0.5.6\src\sync\atomic\atomic.rs:57
17: loom::sync::atomic::atomic::Atomic<u8>::rmw<u8,loom::sync::atomic::atomic::impl$0::swap::closure_env$0<u8> >
at C:\Users\Lenovo\.cargo\registry\src\index.crates.io-6f17d22bba15001f\loom-0.5.6\src\sync\atomic\atomic.rs:49
18: loom::sync::atomic::atomic::Atomic<u8>::swap<u8>
at C:\Users\Lenovo\.cargo\registry\src\index.crates.io-6f17d22bba15001f\loom-0.5.6\src\sync\atomic\atomic.rs:62
19: loom::sync::atomic::int::AtomicU8::swap
at C:\Users\Lenovo\.cargo\registry\src\index.crates.io-6f17d22bba15001f\loom-0.5.6\src\sync\atomic\int.rs:70
20: oneshot::impl$5::recv_deadline::closure$0<u128>
at .\src\lib.rs:711
21: oneshot::Receiver<u128>::start_recv_ref<u128,oneshot::errors::RecvTimeoutError,oneshot::impl$5::recv_deadline::closure_env$0<u128> >
at .\src\lib.rs:798
22: oneshot::Receiver<u128>::recv_deadline<u128>
at .\src\lib.rs:684
23: oneshot::Receiver<u128>::recv_timeout<u128>
at .\src\lib.rs:639
24: loom::send_recv_different_threads::closure$0::closure$0
at .\tests\loom.rs:44
25: loom::thread::spawn_internal::closure$0<loom::send_recv_different_threads::closure$0::closure_env$0,tuple$<> >
at C:\Users\Lenovo\.cargo\registry\src\index.crates.io-6f17d22bba15001f\loom-0.5.6\src\thread.rs:161
26: loom::rt::spawn::closure$1<loom::thread::spawn_internal::closure_env$0<loom::send_recv_different_threads::closure$0::closure_env$0,tuple$<> > >
at C:\Users\Lenovo\.cargo\registry\src\index.crates.io-6f17d22bba15001f\loom-0.5.6\src\rt\mod.rs:76
27: core::ops::function::FnOnce::call_once<loom::rt::spawn::closure_env$1<loom::thread::spawn_internal::closure_env$0<loom::send_recv_different_threads::closure$0::closure_env$0,tuple$<> > >,tuple$<> >
at /rustc/3a36386dc1075018dc7ca2640a2656adb31a61fe\library\core\src\ops\function.rs:250
28: alloc::boxed::impl$48::call_once<tuple$<>,dyn$<core::ops::function::FnOnce<tuple$<>,assoc$<Output,tuple$<> > > >,alloc::alloc::Global>
at /rustc/3a36386dc1075018dc7ca2640a2656adb31a61fe\library\alloc\src\boxed.rs:2022
29: loom::rt::scheduler::spawn_threads::closure$0::closure$0
at C:\Users\Lenovo\.cargo\registry\src\index.crates.io-6f17d22bba15001f\loom-0.5.6\src\rt\scheduler.rs:149
30: generator::gen_impl::impl$9::init_code::closure$0<enum2$<core::option::Option<alloc::boxed::Box<dyn$<core::ops::function::FnOnce<tuple$<>,assoc$<Output,tuple$<> > > >,alloc::alloc::Global> > >,tuple$<>,loom::rt::scheduler::spawn_threads::closure$0::closur
at C:\Users\Lenovo\.cargo\registry\src\index.crates.io-6f17d22bba15001f\generator-0.7.5\src\gen_impl.rs:336
31: generator::stack::StackBox<generator::gen_impl::impl$9::init_code::closure_env$0<enum2$<core::option::Option<alloc::boxed::Box<dyn$<core::ops::function::FnOnce<tuple$<>,assoc$<Output,tuple$<> > > >,alloc::alloc::Global> > >,tuple$<>,loom::rt::scheduler::s
at C:\Users\Lenovo\.cargo\registry\src\index.crates.io-6f17d22bba15001f\generator-0.7.5\src\stack\mod.rs:139
32: generator::stack::Func::call_once
at C:\Users\Lenovo\.cargo\registry\src\index.crates.io-6f17d22bba15001f\generator-0.7.5\src\stack\mod.rs:121
33: generator::gen_impl::gen_init::closure$0
at C:\Users\Lenovo\.cargo\registry\src\index.crates.io-6f17d22bba15001f\generator-0.7.5\src\gen_impl.rs:552
34: core::ops::function::FnOnce::call_once<generator::gen_impl::gen_init::closure_env$0,tuple$<> >
at /rustc/3a36386dc1075018dc7ca2640a2656adb31a61fe\library\core\src\ops\function.rs:250
35: std::panicking::try::do_call<generator::gen_impl::gen_init::closure_env$0,tuple$<> >
at /rustc/3a36386dc1075018dc7ca2640a2656adb31a61fe\library\std\src\panicking.rs:559
36: generator::stack::impl$13::fmt
37: std::panicking::try<tuple$<>,generator::gen_impl::gen_init::closure_env$0>
at /rustc/3a36386dc1075018dc7ca2640a2656adb31a61fe\library\std\src\panicking.rs:523
38: std::panic::catch_unwind<generator::gen_impl::gen_init::closure_env$0,tuple$<> >
at /rustc/3a36386dc1075018dc7ca2640a2656adb31a61fe\library\std\src\panic.rs:149
39: generator::gen_impl::catch_unwind_filter<generator::gen_impl::gen_init::closure_env$0,tuple$<> >
at C:\Users\Lenovo\.cargo\registry\src\index.crates.io-6f17d22bba15001f\generator-0.7.5\src\gen_impl.rs:543
40: generator::gen_impl::gen_init
at C:\Users\Lenovo\.cargo\registry\src\index.crates.io-6f17d22bba15001f\generator-0.7.5\src\gen_impl.rs:570
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
It appears that the callback from recv_deadline is doing something nasty when reaching the end of the timeout...
I'm seeing four different results for this test in total:
Test passes
Test fails
Test crashes
Loom panics
The text was updated successfully, but these errors were encountered:
The
send_recv_different_threads
test (tests/loom.rs
) occasionally fails withSTATUS_STACK_BUFFER_OVERRUN
onx86_64-pc-windows-msvc
. Only default features,rustc 1.79.0-nightly (3a36386dc 2024-04-25)
.Curiously, sometimes loom panics before this happens:
It appears that the callback from
recv_deadline
is doing something nasty when reaching the end of the timeout...I'm seeing four different results for this test in total:
The text was updated successfully, but these errors were encountered: