Skip to content

wake_cross_thread still randomly crashes #512

@Berrysoft

Description

@Berrysoft

cc @Paraworker , the runnable seems still to be dropped on a different thread.

---- wake_cross_thread stdout ----

thread 'wake_cross_thread' (97985) panicked at /rustc/e65b983161d52688ff8e05245ed5dc70ef01a904/library/core/src/ptr/mod.rs:805:1:
Dropped SendWrapper<T> variable from a thread different to the one it has been created with.
stack backtrace:
   0: __rustc::rust_begin_unwind
             at /rustc/e65b983161d52688ff8e05245ed5dc70ef01a904/library/std/src/panicking.rs:690:5
error: test failed, to rerun pass `-p compio --test runtime`
   1: core::panicking::panic_fmt
             at /rustc/e65b983161d52688ff8e05245ed5dc70ef01a904/library/core/src/panicking.rs:80:14
   2: core::panicking::panic_display
             at /rustc/e65b983161d52688ff8e05245ed5dc70ef01a904/library/core/src/panicking.rs:259:5
   3: compio_runtime::runtime::scheduler::send_wrapper::invalid_drop
             at /Users/runner/work/compio/compio/compio-runtime/src/runtime/scheduler/send_wrapper.rs:110:9
   4: <compio_runtime::runtime::scheduler::send_wrapper::SendWrapper<T> as core::ops::drop::Drop>::drop
             at /Users/runner/work/compio/compio/compio-runtime/src/runtime/scheduler/send_wrapper.rs:95:13
   5: core::ptr::drop_in_place<compio_runtime::runtime::scheduler::send_wrapper::SendWrapper<compio_runtime::runtime::scheduler::local_queue::LocalQueue<async_task::runnable::Runnable>>>
             at /rustc/e65b983161d52688ff8e05245ed5dc70ef01a904/library/core/src/ptr/mod.rs:805:1
   6: core::ptr::drop_in_place<compio_runtime::runtime::scheduler::TaskQueue>
             at /rustc/e65b983161d52688ff8e05245ed5dc70ef01a904/library/core/src/ptr/mod.rs:805:1
   7: alloc::sync::Arc<T,A>::drop_slow
             at /rustc/e65b983161d52688ff8e05245ed5dc70ef01a904/library/alloc/src/sync.rs:2024:18
   8: <alloc::sync::Arc<T,A> as core::ops::drop::Drop>::drop
             at /rustc/e65b983161d52688ff8e05245ed5dc70ef01a904/library/alloc/src/sync.rs:2770:18
   9: core::ptr::drop_in_place<alloc::sync::Arc<compio_runtime::runtime::scheduler::TaskQueue>>
             at /rustc/e65b983161d52688ff8e05245ed5dc70ef01a904/library/core/src/ptr/mod.rs:805:1
  10: compio_runtime::runtime::scheduler::Scheduler::spawn_unchecked::{{closure}}
             at /Users/runner/work/compio/compio/compio-runtime/src/runtime/scheduler/mod.rs:161:70
  11: <F as async_task::runnable::Schedule<M>>::schedule
             at /Users/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/async-task-4.7.1/src/runnable.rs:108:9
  12: async_task::raw::RawTask<F,T,S,M>::wake_by_ref
             at /Users/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/async-task-4.7.1/src/raw.rs:349:45
  13: async_task::raw::RawTask<F,T,S,M>::wake
             at /Users/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/async-task-4.7.1/src/raw.rs:236:13
  14: core::task::wake::Waker::wake
             at /rustc/e65b983161d52688ff8e05245ed5dc70ef01a904/library/core/src/task/wake.rs:448:18
  15: futures_channel::oneshot::Inner<T>::drop_tx
             at /Users/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/oneshot.rs:218:22
  16: <futures_channel::oneshot::Sender<T> as core::ops::drop::Drop>::drop
             at /Users/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/oneshot.rs:389:20
  17: core::ptr::drop_in_place<futures_channel::oneshot::Sender<()>>
             at /rustc/e65b983161d52688ff8e05245ed5dc70ef01a904/library/core/src/ptr/mod.rs:805:1
  18: futures_channel::oneshot::Sender<T>::send
             at /Users/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/oneshot.rs:343:5
  19: runtime::wake_cross_thread::{{closure}}
             at ./tests/runtime.rs:190:8
  20: compio_runtime::runtime::Runtime::block_on::{{closure}}::{{closure}}
             at /Users/runner/work/compio/compio/compio-runtime/src/runtime/mod.rs:159:72
  21: <compio_runtime::runtime::scheduler::drop_hook::DropHook<Fut,Hook> as core::future::future::Future>::poll
             at /Users/runner/work/compio/compio/compio-runtime/src/runtime/scheduler/drop_hook.rs:41:31
  22: async_task::raw::RawTask<F,T,S,M>::run
             at /Users/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/async-task-4.7.1/src/raw.rs:557:17
  23: async_task::runnable::Runnable<M>::run
             at /Users/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/async-task-4.7.1/src/runnable.rs:781:18
  24: compio_runtime::runtime::scheduler::Scheduler::run
             at /Users/runner/work/compio/compio/compio-runtime/src/runtime/scheduler/mod.rs:197:27
  25: compio_runtime::runtime::Runtime::run
             at /Users/runner/work/compio/compio/compio-runtime/src/runtime/mod.rs:152:24
  26: compio_runtime::runtime::Runtime::block_on::{{closure}}
             at /Users/runner/work/compio/compio/compio-runtime/src/runtime/mod.rs:161:44
  27: scoped_tls::ScopedKey<T>::set
             at /Users/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/scoped-tls-1.0.1/src/lib.rs:137:9
  28: compio_runtime::runtime::Runtime::enter
             at /Users/runner/work/compio/compio/compio-runtime/src/runtime/mod.rs:131:25
  29: compio_runtime::runtime::Runtime::block_on
             at /Users/runner/work/compio/compio/compio-runtime/src/runtime/mod.rs:157:14
  30: runtime::wake_cross_thread
             at ./tests/runtime.rs:184:1
  31: runtime::wake_cross_thread::{{closure}}
             at ./tests/runtime.rs:185:29
  32: core::ops::function::FnOnce::call_once
             at /rustc/e65b983161d52688ff8e05245ed5dc70ef01a904/library/core/src/ops/function.rs:250:5
  33: core::ops::function::FnOnce::call_once
             at /rustc/e65b983161d52688ff8e05245ed5dc70ef01a904/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinghelp wantedExtra attention is neededpackage: runtimeRelated to compio-runtime

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions