paritytech / parity-tokio-ipc

Parity tokio-ipc
Apache License 2.0
76 stars 48 forks source link

Panic on windows:The filename, directory name, or volume label syntax is incorrect #26

Closed jolestar closed 3 years ago

jolestar commented 4 years ago

I run the example on windows and got an error: "The filename, directory name, or volume label syntax is incorrect". I try to change the ipc file path, and also not work.

 wmic os get version

Version
10.0.18363

This is the backtrace:

.\target\debug\examples\server.exe test.ipc
thread 'main' panicked at 'failed to open new socket: Os { code: 123, kind: Other, message: "The filename, directory name, or volume label syntax is incorrect." }', examples\server.rs:14:24
stack backtrace:
   0:     0x7ff701d453bf - backtrace::backtrace::trace_unsynchronized
                               at C:\Users\VssAdministrator\.cargo\registry\src\github.com-1ecc6299db9ec823\backtrace-0.3.44\src\backtrace\mod.rs:66
   1:     0x7ff701d453bf - std::sys_common::backtrace::_print_fmt
                               at /rustc/8d69840ab92ea7f4d323420088dd8c9775f180cd\/src\libstd\sys_common\backtrace.rs:78
   2:     0x7ff701d453bf - std::sys_common::backtrace::_print::{{impl}}::fmt
                               at /rustc/8d69840ab92ea7f4d323420088dd8c9775f180cd\/src\libstd\sys_common\backtrace.rs:59
   3:     0x7ff701d546bb - core::fmt::write
                               at /rustc/8d69840ab92ea7f4d323420088dd8c9775f180cd\/src\libcore\fmt\mod.rs:1063
   4:     0x7ff701d42bfc - std::io::Write::write_fmt<std::sys::windows::stdio::Stderr>
                               at /rustc/8d69840ab92ea7f4d323420088dd8c9775f180cd\/src\libstd\io\mod.rs:1426
   5:     0x7ff701d4835c - std::sys_common::backtrace::_print
                               at /rustc/8d69840ab92ea7f4d323420088dd8c9775f180cd\/src\libstd\sys_common\backtrace.rs:62
   6:     0x7ff701d4835c - std::sys_common::backtrace::print
                               at /rustc/8d69840ab92ea7f4d323420088dd8c9775f180cd\/src\libstd\sys_common\backtrace.rs:49
   7:     0x7ff701d4835c - std::panicking::default_hook::{{closure}}
                               at /rustc/8d69840ab92ea7f4d323420088dd8c9775f180cd\/src\libstd\panicking.rs:204
   8:     0x7ff701d47faf - std::panicking::default_hook
                               at /rustc/8d69840ab92ea7f4d323420088dd8c9775f180cd\/src\libstd\panicking.rs:224
   9:     0x7ff701d48b37 - std::panicking::rust_panic_with_hook
                               at /rustc/8d69840ab92ea7f4d323420088dd8c9775f180cd\/src\libstd\panicking.rs:470
  10:     0x7ff701d486bf - std::panicking::begin_panic_handler
                               at /rustc/8d69840ab92ea7f4d323420088dd8c9775f180cd\/src\libstd\panicking.rs:378
  11:     0x7ff701d539c0 - core::panicking::panic_fmt
                               at /rustc/8d69840ab92ea7f4d323420088dd8c9775f180cd\/src\libcore\panicking.rs:85
  12:     0x7ff701d537e3 - core::option::expect_none_failed
                               at /rustc/8d69840ab92ea7f4d323420088dd8c9775f180cd\/src\libcore\option.rs:1211
  13:     0x7ff701cc1c0a - core::result::Result<parity_tokio_ipc::win::Incoming, std::io::error::Error>::expect<parity_tokio_ipc::win::Incoming,std::io::error::Error>
                               at /rustc/8d69840ab92ea7f4d323420088dd8c9775f180cd\src\libcore\result.rs:961
  14:     0x7ff701cc3299 - server::run_server::{{closure}}
                               at C:\Users\jolestar\opensource\src\github.com\NikVolf\parity-tokio-ipc\examples\server.rs:14
  15:     0x7ff701cc6871 - std::future::{{impl}}::poll<generator-0>
                               at /rustc/8d69840ab92ea7f4d323420088dd8c9775f180cd\src\libstd\future.rs:44
  16:     0x7ff701cc6557 - std::future::poll_with_tls_context<std::future::GenFuture<generator-0>>
                               at /rustc/8d69840ab92ea7f4d323420088dd8c9775f180cd\src\libstd\future.rs:102
  17:     0x7ff701cc3bfc - server::main::{{closure}}
                               at C:\Users\jolestar\opensource\src\github.com\NikVolf\parity-tokio-ipc\examples\server.rs:46
  18:     0x7ff701cc66b1 - std::future::{{impl}}::poll<generator-0>
                               at /rustc/8d69840ab92ea7f4d323420088dd8c9775f180cd\src\libstd\future.rs:44
  19:     0x7ff701cc9803 - tokio::runtime::basic_scheduler::{{impl}}::block_on::{{closure}}::{{closure}}<tokio::park::either::Either<tokio::time::driver::Driver<tokio::park::either::Either<tokio::io::driver::Driver, tokio::park::thread::ParkThread>>, tokio::park::either::Either<tok
                               at C:\Users\jolestar\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\basic_scheduler.rs:131
  20:     0x7ff701cc1246 - tokio::coop::with_budget::{{closure}}<core::task::poll::Poll<()>,closure-0>
                               at C:\Users\jolestar\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\coop.rs:127
  21:     0x7ff701cd22a4 - std::thread::local::LocalKey<core::cell::Cell<tokio::coop::Budget>>::try_with<core::cell::Cell<tokio::coop::Budget>,closure-0,core::task::poll::Poll<()>>
                               at /rustc/8d69840ab92ea7f4d323420088dd8c9775f180cd\src\libstd\thread\local.rs:262
  22:     0x7ff701cd189d - std::thread::local::LocalKey<core::cell::Cell<tokio::coop::Budget>>::with<core::cell::Cell<tokio::coop::Budget>,closure-0,core::task::poll::Poll<()>>
                               at /rustc/8d69840ab92ea7f4d323420088dd8c9775f180cd\src\libstd\thread\local.rs:239
  23:     0x7ff701cc92d7 - tokio::coop::with_budget
                               at C:\Users\jolestar\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\coop.rs:120
  24:     0x7ff701cc92d7 - tokio::coop::budget
                               at C:\Users\jolestar\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\coop.rs:96
  25:     0x7ff701cc92d7 - tokio::runtime::basic_scheduler::{{impl}}::block_on::{{closure}}<tokio::park::either::Either<tokio::time::driver::Driver<tokio::park::either::Either<tokio::io::driver::Driver, tokio::park::thread::ParkThread>>, tokio::park::either::Either<tokio::io::drive
                               at C:\Users\jolestar\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\basic_scheduler.rs:131
  26:     0x7ff701cc9cba - tokio::runtime::basic_scheduler::enter::{{closure}}<closure-0,(),tokio::park::either::Either<tokio::time::driver::Driver<tokio::park::either::Either<tokio::io::driver::Driver, tokio::park::thread::ParkThread>>, tokio::park::either::Either<tokio::io::drive
                               at C:\Users\jolestar\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\basic_scheduler.rs:213
  27:     0x7ff701cc57a4 - tokio::macros::scoped_tls::ScopedKey<tokio::runtime::basic_scheduler::Context>::set<tokio::runtime::basic_scheduler::Context,closure-0,()>
                               at C:\Users\jolestar\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\macros\scoped_tls.rs:63
  28:     0x7ff701cc9b3c - tokio::runtime::basic_scheduler::enter<closure-0,(),tokio::park::either::Either<tokio::time::driver::Driver<tokio::park::either::Either<tokio::io::driver::Driver, tokio::park::thread::ParkThread>>, tokio::park::either::Either<tokio::io::driver::Driver, to
                               at C:\Users\jolestar\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\basic_scheduler.rs:213
  29:     0x7ff701cc911e - tokio::runtime::basic_scheduler::BasicScheduler<tokio::park::either::Either<tokio::time::driver::Driver<tokio::park::either::Either<tokio::io::driver::Driver, tokio::park::thread::ParkThread>>, tokio::park::either::Either<tokio::io::driver::Driver, tokio:
                               at C:\Users\jolestar\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\basic_scheduler.rs:123
  30:     0x7ff701ccbb01 - tokio::runtime::{{impl}}::block_on::{{closure}}<std::future::GenFuture<generator-0>>
                               at C:\Users\jolestar\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\mod.rs:444
  31:     0x7ff701cca272 - tokio::runtime::context::enter<closure-0,()>
                               at C:\Users\jolestar\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\context.rs:72
  32:     0x7ff701ccc0df - tokio::runtime::handle::Handle::enter<closure-0,()>
                               at C:\Users\jolestar\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\handle.rs:76
  33:     0x7ff701ccba7e - tokio::runtime::Runtime::block_on<std::future::GenFuture<generator-0>>
                               at C:\Users\jolestar\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\mod.rs:441
  34:     0x7ff701cc4956 - server::main
                               at C:\Users\jolestar\opensource\src\github.com\NikVolf\parity-tokio-ipc\examples\server.rs:43
  35:     0x7ff701cc9e0b - std::rt::lang_start::{{closure}}<()>
                               at /rustc/8d69840ab92ea7f4d323420088dd8c9775f180cd\src\libstd\rt.rs:67
  36:     0x7ff701d48557 - std::rt::lang_start_internal::{{closure}}
                               at /rustc/8d69840ab92ea7f4d323420088dd8c9775f180cd\/src\libstd\rt.rs:52
  37:     0x7ff701d48557 - std::panicking::try::do_call<closure-0,i32>
                               at /rustc/8d69840ab92ea7f4d323420088dd8c9775f180cd\/src\libstd\panicking.rs:303
  38:     0x7ff701d4b472 - panic_unwind::__rust_maybe_catch_panic
                               at /rustc/8d69840ab92ea7f4d323420088dd8c9775f180cd\/src\libpanic_unwind\lib.rs:86
  39:     0x7ff701d48d78 - std::panicking::try
                               at /rustc/8d69840ab92ea7f4d323420088dd8c9775f180cd\/src\libstd\panicking.rs:281
  40:     0x7ff701d48d78 - std::panic::catch_unwind
                               at /rustc/8d69840ab92ea7f4d323420088dd8c9775f180cd\/src\libstd\panic.rs:394
  41:     0x7ff701d48d78 - std::rt::lang_start_internal
                               at /rustc/8d69840ab92ea7f4d323420088dd8c9775f180cd\/src\libstd\rt.rs:51
  42:     0x7ff701cc9de3 - std::rt::lang_start<()>
                               at /rustc/8d69840ab92ea7f4d323420088dd8c9775f180cd\src\libstd\rt.rs:67
  43:     0x7ff701cc4a00 - main
  44:     0x7ff701d58d50 - invoke_main
                               at d:\agent\_work\4\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78
  45:     0x7ff701d58d50 - __scrt_common_main_seh
                               at d:\agent\_work\4\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
  46:     0x7ff86f567bd4 - BaseThreadInitThunk
  47:     0x7ff870a4ce51 - RtlUserThreadStart
alvinhochun commented 4 years ago

Are you using a pipe name in the \\.\pipe\this_is_the_name_of_a_named_pipe format? You will get ERROR_INVALID_NAME if you don't use the right format.