osmarks / skynet

Technically client-agnostic websocket communications server, designed for ComputerCraft
MIT License
7 stars 0 forks source link

Server panicked #12

Open TamaMcGlinn opened 3 years ago

TamaMcGlinn commented 3 years ago

I tried building and running the server, but got a panic:

tama@apollo11:~/code/computercraft/skynet$ cargo build --release
  Downloaded iovec v0.1.2
   ....
   Compiling skynet v1.0.0 (/home/tama/code/computercraft/skynet)
    Finished release [optimized] target(s) in 3m 33s
tama@apollo11:~/code/computercraft/skynet$ ./target/release/skynet
 INFO  skynet > Serving skynet on port 3030
thread 'main' panicked at 'attempted to leave type `internal::Local` uninitialized, which is invalid', /build/rustc-uCyMq3/rustc-1.50.0+dfsg1+llvm/library/core/src/mem/mod.rs:659:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread 'main' panicked at 'attempted to leave type `internal::Local` uninitialized, which is invalid', /build/rustc-uCyMq3/rustc-1.50.0+dfsg1+llvm/library/core/src/mem/mod.rs:659:9
stack backtrace:
   0:     0x56484e43469d - std::backtrace_rs::backtrace::libunwind::trace::hc8d4fcf0d8ea4428
                               at /build/rustc-uCyMq3/rustc-1.50.0+dfsg1+llvm/library/std/src/../../backtrace/src/backtrace/libunwind.rs:90:5
   1:     0x56484e43469d - std::backtrace_rs::backtrace::trace_unsynchronized::hbd1556ab3358e3f0
                               at /build/rustc-uCyMq3/rustc-1.50.0+dfsg1+llvm/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x56484e43469d - std::sys_common::backtrace::_print_fmt::h5ddc0ad615608f51
                               at /build/rustc-uCyMq3/rustc-1.50.0+dfsg1+llvm/library/std/src/sys_common/backtrace.rs:67:5
   3:     0x56484e43469d - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h553a833a92475001
                               at /build/rustc-uCyMq3/rustc-1.50.0+dfsg1+llvm/library/std/src/sys_common/backtrace.rs:46:22
   4:     0x56484e4679bf - core::fmt::write::h7c7b192fcfcad4fa
                               at /build/rustc-uCyMq3/rustc-1.50.0+dfsg1+llvm/library/core/src/fmt/mod.rs:1078:17
   5:     0x56484e433396 - std::io::Write::write_fmt::hf2e982bea4aae49c
                               at /build/rustc-uCyMq3/rustc-1.50.0+dfsg1+llvm/library/std/src/io/mod.rs:1517:15
   6:     0x56484e448a75 - std::sys_common::backtrace::_print::ha008e95a6b8c01e6
                               at /build/rustc-uCyMq3/rustc-1.50.0+dfsg1+llvm/library/std/src/sys_common/backtrace.rs:49:5
   7:     0x56484e448a75 - std::sys_common::backtrace::print::h80e564a0a3e9b8e4
                               at /build/rustc-uCyMq3/rustc-1.50.0+dfsg1+llvm/library/std/src/sys_common/backtrace.rs:36:9
   8:     0x56484e448a75 - std::panicking::default_hook::{{closure}}::h62b5d07e9f8132a2
                               at /build/rustc-uCyMq3/rustc-1.50.0+dfsg1+llvm/library/std/src/panicking.rs:208:50
   9:     0x56484e448616 - std::panicking::default_hook::h57fbf6299f476a5c
                               at /build/rustc-uCyMq3/rustc-1.50.0+dfsg1+llvm/library/std/src/panicking.rs:225:9
  10:     0x56484e4490a3 - std::panicking::rust_panic_with_hook::h96d67f0a4699ee3e
                               at /build/rustc-uCyMq3/rustc-1.50.0+dfsg1+llvm/library/std/src/panicking.rs:591:17
  11:     0x56484e434e67 - std::panicking::begin_panic_handler::{{closure}}::he279c1d4efa0e687
                               at /build/rustc-uCyMq3/rustc-1.50.0+dfsg1+llvm/library/std/src/panicking.rs:495:13
  12:     0x56484e4347fc - std::sys_common::backtrace::__rust_end_short_backtrace::hc1a733a6dcdfe514
                               at /build/rustc-uCyMq3/rustc-1.50.0+dfsg1+llvm/library/std/src/sys_common/backtrace.rs:141:18
  13:     0x56484e448c42 - rust_begin_unwind
                               at /build/rustc-uCyMq3/rustc-1.50.0+dfsg1+llvm/library/std/src/panicking.rs:493:5
  14:     0x56484e469bc1 - core::panicking::panic_fmt::hfdbcbffef4746e8a
                               at /build/rustc-uCyMq3/rustc-1.50.0+dfsg1+llvm/library/core/src/panicking.rs:92:14
  15:     0x56484e469b0d - core::panicking::panic::h143104d930e03bbe
                               at /build/rustc-uCyMq3/rustc-1.50.0+dfsg1+llvm/library/core/src/panicking.rs:50:5
  16:     0x56484e3e2bca - <crossbeam_epoch::internal::Local as crossbeam_epoch::sync::list::IsElement<crossbeam_epoch::internal::Local>>::entry_of::hcd71a81b125fcee9
  17:     0x56484e3e394e - std::thread::local::fast::Key<T>::try_initialize::hd1a1878b283c83c5
  18:     0x56484e3d11db - crossbeam_epoch::default::pin::he1bb6eab3bd54902
  19:     0x56484e3d2391 - crossbeam::seg_queue::SegQueue<T>::try_pop::h0827fe20d5ce9ffe
  20:     0x56484e3d19ec - <crossbeam::seg_queue::SegQueue<T> as core::ops::drop::Drop>::drop::hce95abc1437e277f
  21:     0x56484e3d3454 - tokio_threadpool::builder::Builder::build::heaac5d7925996499
  22:     0x56484e3af08f - tokio::runtime::threadpool::builder::Builder::build::hd9454766bb22376b
  23:     0x56484e3b37f5 - tokio::runtime::threadpool::Runtime::new::h6b46959283bea834
  24:     0x56484e2ace56 - tokio::runtime::threadpool::run::h78d83fee88cd86cf
  25:     0x56484e2cfe2a - warp::server::Server<S>::run::heaf82d923636baea
  26:     0x56484e29e54a - skynet::main::hc5c5176f03ca8b65
  27:     0x56484e2b8323 - std::sys_common::backtrace::__rust_begin_short_backtrace::hd1fb659866ca4a38
  28:     0x56484e2b833d - std::rt::lang_start::{{closure}}::hd31b45c9dc17609e
  29:     0x56484e44f7b1 - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::he3f61429e82647d3
                               at /build/rustc-uCyMq3/rustc-1.50.0+dfsg1+llvm/library/core/src/ops/function.rs:259:13
  30:     0x56484e44f7b1 - std::panicking::try::do_call::ha7481636e5f96f83
                               at /build/rustc-uCyMq3/rustc-1.50.0+dfsg1+llvm/library/std/src/panicking.rs:379:40
  31:     0x56484e44f7b1 - std::panicking::try::h44da0e62ecb8c2d6
                               at /build/rustc-uCyMq3/rustc-1.50.0+dfsg1+llvm/library/std/src/panicking.rs:343:19
  32:     0x56484e44f7b1 - std::panic::catch_unwind::h917814b84b434c97
                               at /build/rustc-uCyMq3/rustc-1.50.0+dfsg1+llvm/library/std/src/panic.rs:396:14
  33:     0x56484e44f7b1 - std::rt::lang_start_internal::h56928b968f8d21cb
                               at /build/rustc-uCyMq3/rustc-1.50.0+dfsg1+llvm/library/std/src/rt.rs:51:25
  34:     0x56484e29e6d2 - main
  35:     0x7fea268d3565 - __libc_start_main
  36:     0x56484e28409e - _start
  37:                0x0 - <unknown>
thread panicked while panicking. aborting.
Illegal instruction (core dumped)
osmarks commented 3 years ago

I have no idea why it's doing that. The libraries this uses are all somewhat outdated by now, so I don't know if this is a known thing which has been resolved or not. You could try updating them. Alternatively, I have a partial rewrite in progress which uses more modern async libraries, although it's not backward-compatible with the existing client protocol, so I can upload that somewhere if you want.