Skip to content

Running tokio is not supported on Windows #1719

Open
@HTGAzureX1212

Description

@HTGAzureX1212

Metadata

miri 0.1.0 (ea863353 2021-02-20)

Error Output, Upon Running cargo miri run

error: unsupported operation: can't call foreign function: CreateIoCompletionPort
   --> C:\Users\<redacted>\.cargo\registry\src\github.jpy.wang-1ecc6299db9ec823\miow-0.3.6\src\iocp.rs:48:28
    |
48  |         let ret = unsafe { CreateIoCompletionPort(INVALID_HANDLE_VALUE, 0 as *mut _, 0, threads) };
    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ can't call foreign function: CreateIoCompletionPort
    |
    = help: this is likely not a bug in the program; it indicates that the program performed an operation that the interpreter does not support

    = note: inside `miow::iocp::CompletionPort::new` at C:\Users\<redacted>\.cargo\registry\src\github.jpy.wang-1ecc6299db9ec823\miow-0.3.6\src\iocp.rs:48:28
    = note: inside `mio::sys::windows::selector::SelectorInner::new` at C:\Users\<redacted>\.cargo\registry\src\github.jpy.wang-1ecc6299db9ec823\mio-0.7.8\src\sys\windows\selector.rs:426:9
    = note: inside `mio::sys::windows::selector::Selector::new` at C:\Users\<redacted>\.cargo\registry\src\github.jpy.wang-1ecc6299db9ec823\mio-0.7.8\src\sys\windows\selector.rs:337:9
    = note: inside `mio::poll::Poll::new` at C:\Users\<redacted>\.cargo\registry\src\github.jpy.wang-1ecc6299db9ec823\mio-0.7.8\src\poll.rs:354:13
    = note: inside `tokio::io::driver::Driver::new` at C:\Users\<redacted>\.cargo\registry\src\github.jpy.wang-1ecc6299db9ec823\tokio-1.2.0\src\io\driver\mod.rs:115:20
    = note: inside `tokio::runtime::driver::create_io_stack` at C:\Users\<redacted>\.cargo\registry\src\github.jpy.wang-1ecc6299db9ec823\tokio-1.2.0\src\runtime\driver.rs:22:29
    = note: inside `tokio::runtime::driver::Driver::new` at C:\Users\<redacted>\.cargo\registry\src\github.jpy.wang-1ecc6299db9ec823\tokio-1.2.0\src\runtime\driver.rs:170:52
    = note: inside `tokio::runtime::Builder::build_threaded_runtime` at C:\Users\<redacted>\.cargo\registry\src\github.jpy.wang-1ecc6299db9ec823\tokio-1.2.0\src\runtime\builder.rs:533:39
    = note: inside `tokio::runtime::Builder::build` at C:\Users\<redacted>\.cargo\registry\src\github.jpy.wang-1ecc6299db9ec823\tokio-1.2.0\src\runtime\builder.rs:382:34
note: inside `main` at src\main.rs:285:1
   --> src\main.rs:285:1
    |
285 | #[tokio::main]
    | ^^^^^^^^^^^^^^
    = note: inside `<fn() -> std::result::Result<(), std::boxed::Box<dyn std::error::Error + std::marker::Send + std::marker::Sync>> as std::ops::FnOnce<()>>::call_once - shim(fn() -> std::result::Result<(), std::boxed::Box<dyn std::error::Error + std::marker::Send + std::marker::Sync>>)` at C:\Users\<redacted>\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ops\function.rs:227:5
    = note: inside `std::sys_common::backtrace::__rust_begin_short_backtrace::<fn() -> std::result::Result<(), std::boxed::Box<dyn std::error::Error + std::marker::Send + std::marker::Sync>>, std::result::Result<(), std::boxed::Box<dyn std::error::Error + std::marker::Send + std::marker::Sync>>>` at C:\Users\<redacted>\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\sys_common\backtrace.rs:125:18
    = note: inside closure at C:\Users\<redacted>\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\rt.rs:66:18
    = note: inside `std::ops::function::impls::<impl std::ops::FnOnce<()> for &dyn std::ops::Fn() -> i32 + std::marker::Sync + std::panic::RefUnwindSafe>::call_once` at C:\Users\<redacted>\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\core\src\ops\function.rs:259:13
    = note: inside `std::panicking::r#try::do_call::<&dyn std::ops::Fn() -> i32 + std::marker::Sync + std::panic::RefUnwindSafe, i32>` at C:\Users\<redacted>\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panicking.rs:379:40
    = note: inside `std::panicking::r#try::<i32, &dyn std::ops::Fn() -> i32 + std::marker::Sync + std::panic::RefUnwindSafe>` at C:\Users\<redacted>\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panicking.rs:343:19
    = note: inside `std::panic::catch_unwind::<&dyn std::ops::Fn() -> i32 + std::marker::Sync + std::panic::RefUnwindSafe, i32>` at C:\Users\<redacted>\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\panic.rs:431:14
    = note: inside `std::rt::lang_start_internal` at C:\Users\<redacted>\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\rt.rs:51:25
    = note: inside `std::rt::lang_start::<std::result::Result<(), std::boxed::Box<dyn std::error::Error + std::marker::Send + std::marker::Sync>>>` at C:\Users\<redacted>\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\library\std\src\rt.rs:65:5
    = note: this error originates in an attribute macro (in Nightly builds, run with -Z macro-backtrace for more info)

error: aborting due to previous error

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-filesArea: related to files, paths, sockets, file descriptors, or handlesA-shimsArea: This affects the external function shimsA-windowsArea: affects only Windows targetsC-enhancementCategory: a PR with an enhancement or an issue tracking an accepted enhancement

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions