Skip to content
This repository has been archived by the owner on Nov 6, 2020. It is now read-only.

Crash on startup with with Rust stable: "cannot recursively call into Core" #10185

Closed
afck opened this issue Jan 15, 2019 · 5 comments
Closed
Assignees
Labels
F1-panic 🔨 The client panics and exits without proper error handling. M4-core ⛓ Core client code / Rust.
Milestone

Comments

@afck
Copy link
Contributor

afck commented Jan 15, 2019

  • Parity Ethereum version: 2.4.0-unstable-64704c456-20190115/x86_64-linux-gnu/rustc1.31.1
  • Operating system: Linux
  • Installation: built from source
  • Fully synchronized: no
  • Network: ethereum
  • Restarted: yes

Current master (64704c4, which is later than #10144) works fine with Rust nightly, but consistently fails to start for me with Rust 1.31.1:

$ cargo run
    Finished dev [unoptimized + debuginfo] target(s) in 0.52s                                                                                                                                                                                                                   
     Running `target/debug/parity`
2019-01-15 14:23:27  Starting Parity-Ethereum/v2.4.0-unstable-64704c456-20190115/x86_64-linux-gnu/rustc1.31.1
2019-01-15 14:23:27  Keys path /home/andreas/.local/share/io.parity.ethereum/keys/ethereum
2019-01-15 14:23:27  DB path /home/andreas/.local/share/io.parity.ethereum/chains/ethereum/db/906a34e69aec8c0d
2019-01-15 14:23:27  State DB configuration: fast
2019-01-15 14:23:27  Operating mode: active
2019-01-15 14:23:27  Configured for Ethereum using Ethash engine
2019-01-15 14:23:30  Updated conversion rate to Ξ1 = US$127.95 (37216916 wei/gas)


====================

stack backtrace:
   0:     0x55b101b876e6 - backtrace::backtrace::libunwind::trace::h67350768f045b497
                        at /home/andreas/.cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.9/src/backtrace/libunwind.rs:53
                         - backtrace::backtrace::trace::hfa024cb19a0de9eb
                        at /home/andreas/.cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.9/src/backtrace/mod.rs:42
   1:     0x55b101b81df3 - backtrace::capture::Backtrace::new_unresolved::ha4147d1e7635c793
                        at /home/andreas/.cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.9/src/capture.rs:88
   2:     0x55b101b81d4d - backtrace::capture::Backtrace::new::ha063bbb620b340dc
                        at /home/andreas/.cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.9/src/capture.rs:63
   3:     0x55b101b7f4b8 - panic_hook::gen_panic_msg::hf17abe166bf8dc87
                        at util/panic-hook/src/lib.rs:72
   4:     0x55b0fde4938d - panic_hook::set_with::{{closure}}::hcdd1edf254820b17
                        at /home/andreas/git/parity-ethereum/util/panic-hook/src/lib.rs:45
   5:     0x55b101d2e9b6 - std::panicking::rust_panic_with_hook::hde420d6fd4455550
                        at libstd/panicking.rs:480
   6:     0x55b101d2e501 - std::panicking::continue_panic_fmt::h8f394f3c578bcc76
                        at libstd/panicking.rs:390
   7:     0x55b101d2e3e5 - rust_begin_unwind
                        at libstd/panicking.rs:325
   8:     0x55b101d780dc - core::panicking::panic_fmt::hca5dc4e8b320bc56
                        at libcore/panicking.rs:77
   9:     0x55b101d78152 - core::option::expect_failed::hb2b5d5a53baf7df0
                        at libcore/option.rs:1008
  10:     0x55b100e6d221 - <core::option::Option<T>>::expect::h269ffadde393319f
                        at libcore/option.rs:322
  11:     0x55b0ff350526 - tokio_core::reactor::Core::run::hc6a1676774da3cf3
                        at /home/andreas/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-core-0.1.17/src/reactor/mod.rs:224
  12:     0x55b0ff3b0a90 - igd::gateway::Gateway::get_external_ip::h779e53d35aa78052
                        at /home/andreas/.cargo/registry/src/github.com-1ecc6299db9ec823/igd-0.7.0/src/gateway.rs:23
  13:     0x55b0ff257abe - ethcore_network_devp2p::ip_utils::map_external_address::hdaddcd44e1a211c6
                        at util/network-devp2p/src/ip_utils.rs:322
  14:     0x55b0ff2059a9 - ethcore_network_devp2p::host::Host::init_public_interface::h1ff0f74f7a9671eb
                        at util/network-devp2p/src/host.rs:455
  15:     0x55b0ff2139fb - <ethcore_network_devp2p::host::Host as ethcore_io::IoHandler<ethcore_network::NetworkIoMessage>>::message::hd1c9b5209c5d3ae3
                        at util/network-devp2p/src/host.rs:1139
  16:     0x55b0ff242866 - ethcore_io::worker::Worker::do_work::h60621b46833d8749
                        at /home/andreas/git/parity-ethereum/util/io/src/worker.rs:116
  17:     0x55b0ff241fb1 - ethcore_io::worker::Worker::new::{{closure}}::{{closure}}::h2fed75020ba4524d
                        at /home/andreas/git/parity-ethereum/util/io/src/worker.rs:86
  18:     0x55b0ff2e62e2 - <futures::future::loop_fn::LoopFn<A, F> as futures::future::Future>::poll::h8803acb279d3165d
                        at /home/andreas/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-0.1.25/src/future/loop_fn.rs:95
  19:     0x55b0ff2cbc83 - <futures::task_impl::Spawn<T>>::poll_future_notify::{{closure}}::h867f269a1602fbaa
                        at /home/andreas/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-0.1.25/src/task_impl/mod.rs:326
  20:     0x55b0ff2cbde0 - <futures::task_impl::Spawn<T>>::enter::{{closure}}::h2587e72f3483bf3c
                        at /home/andreas/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-0.1.25/src/task_impl/mod.rs:396
  21:     0x55b0ff302846 - futures::task_impl::std::set::h1c58d13a1d7e46b0
                        at /home/andreas/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-0.1.25/src/task_impl/std/mod.rs:78
  22:     0x55b0ff2cbd7e - <futures::task_impl::Spawn<T>>::enter::ha527f18d20e94641
                        at /home/andreas/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-0.1.25/src/task_impl/mod.rs:396
  23:     0x55b0ff2cbba7 - <futures::task_impl::Spawn<T>>::poll_fn_notify::h7a49fa397d1ca324
                        at /home/andreas/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-0.1.25/src/task_impl/mod.rs:288
  24:     0x55b0ff2cbc57 - <futures::task_impl::Spawn<T>>::poll_future_notify::h75f8257ba0bd71c6
                        at /home/andreas/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-0.1.25/src/task_impl/mod.rs:326
  25:     0x55b0ff2ff991 - <tokio_current_thread::Entered<'a, P>>::block_on::{{closure}}::h24dc03c6dc6052e6
                        at /home/andreas/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-current-thread-0.1.3/src/lib.rs:479
  26:     0x55b0ff2ff59d - <tokio_current_thread::Borrow<'a, U>>::enter::{{closure}}::{{closure}}::h3c6c2e5add476c4e
                        at /home/andreas/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-current-thread-0.1.3/src/lib.rs:779
  27:     0x55b0ff2ff35f - tokio_current_thread::CurrentRunner::set_spawn::h4a72d81280859b24
                        at /home/andreas/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-current-thread-0.1.3/src/lib.rs:816
  28:     0x55b0ff2ff544 - <tokio_current_thread::Borrow<'a, U>>::enter::{{closure}}::hb2ce3902422647d9
                        at /home/andreas/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-current-thread-0.1.3/src/lib.rs:778
  29:     0x55b0ff2f74bf - <std::thread::local::LocalKey<T>>::try_with::hde979937577f51ed
                        at libstd/thread/local.rs:300
  30:     0x55b0ff2f6712 - <std::thread::local::LocalKey<T>>::with::hc171f485f7f7d6d5
                        at libstd/thread/local.rs:254
  31:     0x55b0ff2ff49a - <tokio_current_thread::Borrow<'a, U>>::enter::h9f38e63d501e9f06
                        at /home/andreas/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-current-thread-0.1.3/src/lib.rs:776
  32:     0x55b0ff2ff6c3 - <tokio_current_thread::Entered<'a, P>>::block_on::h3f1ce4d9cc5c309d
                        at /home/andreas/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-current-thread-0.1.3/src/lib.rs:478
  33:     0x55b0ff2fff3e - tokio::runtime::current_thread::runtime::Runtime::block_on::{{closure}}::h08244c964eb60e65
                        at /home/andreas/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.1.11/src/runtime/current_thread/runtime.rs:187
  34:     0x55b0ff2ffe28 - tokio::runtime::current_thread::runtime::Runtime::enter::{{closure}}::{{closure}}::{{closure}}::{{closure}}::h573f8347c89c4939
                        at /home/andreas/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.1.11/src/runtime/current_thread/runtime.rs:228
  35:     0x55b0ff3016b3 - tokio_executor::global::with_default::{{closure}}::h68b364b0d4c83296
                        at /home/andreas/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-executor-0.1.5/src/global.rs:192
  36:     0x55b0ff2f7789 - <std::thread::local::LocalKey<T>>::try_with::hea8211aab007ee30
                        at libstd/thread/local.rs:300
  37:     0x55b0ff2f65c1 - <std::thread::local::LocalKey<T>>::with::h1088a48a10b75a8b
                        at libstd/thread/local.rs:254
  38:     0x55b0ff301527 - tokio_executor::global::with_default::hd848034a31d3bb73
                        at /home/andreas/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-executor-0.1.5/src/global.rs:162
  39:     0x55b0ff2ffcf5 - tokio::runtime::current_thread::runtime::Runtime::enter::{{closure}}::{{closure}}::{{closure}}::hc18e197f7e0160b6
                        at /home/andreas/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.1.11/src/runtime/current_thread/runtime.rs:226
  40:     0x55b0ff302fdc - tokio_timer::timer::handle::with_default::{{closure}}::h034bafc11737922f
                        at /home/andreas/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-timer-0.2.7/src/timer/handle.rs:94
  41:     0x55b0ff2f6a0d - <std::thread::local::LocalKey<T>>::try_with::h1e83c3d038cce847
                        at libstd/thread/local.rs:300
  42:     0x55b0ff2f66a1 - <std::thread::local::LocalKey<T>>::with::h6296afd3904d4874
                        at libstd/thread/local.rs:254
  43:     0x55b0ff302da1 - tokio_timer::timer::handle::with_default::h584d14983d470c84
                        at /home/andreas/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-timer-0.2.7/src/timer/handle.rs:81
  44:     0x55b0ff2ffc4f - tokio::runtime::current_thread::runtime::Runtime::enter::{{closure}}::{{closure}}::h37dc7bf86961f974
                        at /home/andreas/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.1.11/src/runtime/current_thread/runtime.rs:219
  45:     0x55b0ff307550 - tokio_timer::clock::clock::with_default::{{closure}}::h53395b228a7a507a
                        at /home/andreas/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-timer-0.2.7/src/clock/clock.rs:136
  46:     0x55b0ff2f7219 - <std::thread::local::LocalKey<T>>::try_with::hd5054c7c153d5a5f
                        at libstd/thread/local.rs:300
  47:     0x55b0ff2f6541 - <std::thread::local::LocalKey<T>>::with::h05825cc7ffb47209
                        at libstd/thread/local.rs:254
  48:     0x55b0ff3073f7 - tokio_timer::clock::clock::with_default::h9d5df9f036336f3e
                        at /home/andreas/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-timer-0.2.7/src/clock/clock.rs:119
  49:     0x55b0ff2ffbc8 - tokio::runtime::current_thread::runtime::Runtime::enter::{{closure}}::h556eca051343fc0a
                        at /home/andreas/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.1.11/src/runtime/current_thread/runtime.rs:218
  50:     0x55b0ff302bfe - tokio_reactor::with_default::{{closure}}::h78fa9144adfc168c
                        at /home/andreas/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-reactor-0.1.6/src/lib.rs:229
  51:     0x55b0ff2f6f29 - <std::thread::local::LocalKey<T>>::try_with::ha23e8ce0ed6290c7
                        at libstd/thread/local.rs:300
  52:     0x55b0ff2f6791 - <std::thread::local::LocalKey<T>>::with::he34a021aefaafd21
                        at libstd/thread/local.rs:254
  53:     0x55b0ff30296d - tokio_reactor::with_default::hb6cb500f78d05bc6
                        at /home/andreas/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-reactor-0.1.6/src/lib.rs:212
  54:     0x55b0ff2ffacb - tokio::runtime::current_thread::runtime::Runtime::enter::h60dffea24ce515b0
                        at /home/andreas/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.1.11/src/runtime/current_thread/runtime.rs:217
  55:     0x55b0ff2ffece - tokio::runtime::current_thread::runtime::Runtime::block_on::h82a0e62a042de59b
                        at /home/andreas/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.1.11/src/runtime/current_thread/runtime.rs:185
  56:     0x55b0ff25d672 - tokio::runtime::current_thread::block_on_all::h56ec18a3eb107502
                        at /home/andreas/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.1.11/src/runtime/current_thread/mod.rs:89
  57:     0x55b0ff2416d5 - ethcore_io::worker::Worker::new::{{closure}}::h40fd22fc86e3b222
                        at /home/andreas/git/parity-ethereum/util/io/src/worker.rs:93
  58:     0x55b0ff307132 - std::sys_common::backtrace::__rust_begin_short_backtrace::h9161343f978511c3
                        at libstd/sys_common/backtrace.rs:136
  59:     0x55b0ff2fbe54 - std::thread::Builder::spawn::{{closure}}::{{closure}}::h2e91beb79eb56cf7
                        at libstd/thread/mod.rs:409
  60:     0x55b0ff303b54 - <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hc52302d11b8737d9
                        at libstd/panic.rs:313
  61:     0x55b0ff307efb - std::panicking::try::do_call::h4bf0184d1571552c
                        at libstd/panicking.rs:310
  62:     0x55b101d40b99 - __rust_maybe_catch_panic
                        at libpanic_unwind/lib.rs:102
  63:     0x55b0ff307d61 - std::panicking::try::hc662c22bc6d972c3
                        at libstd/panicking.rs:289
  64:     0x55b0ff303bf4 - std::panic::catch_unwind::h1a0cf1739d75c380
                        at libstd/panic.rs:392
  65:     0x55b0ff2fbc40 - std::thread::Builder::spawn::{{closure}}::hc73236ab412bcc2e
                        at libstd/thread/mod.rs:408
  66:     0x55b0ff2fc0c0 - <F as alloc::boxed::FnBox<A>>::call_box::hc1a586d61aad384d
                        at liballoc/boxed.rs:672
  67:     0x55b101d2ae4d - <alloc::boxed::Box<(dyn alloc::boxed::FnBox<A, Output=R> + 'a)> as core::ops::function::FnOnce<A>>::call_once::h9d902c911a417e39
                        at liballoc/boxed.rs:682
                         - std::sys_common::thread::start_thread::h44127e03e78ca137
                        at libstd/sys_common/thread.rs:24
  68:     0x55b101d159d5 - std::sys::unix::thread::Thread::new::thread_start::h8f17b97f2223146c
                        at libstd/sys/unix/thread.rs:90
  69:     0x7f3da7456fa2 - start_thread
  70:     0x7f3da736d7ee - __clone
  71:                0x0 - <unknown>

Thread 'IO Worker #3' panicked at 'cannot recursively call into `Core`', libcore/option.rs:1008
@jam10o-new
Copy link
Contributor

master/nightly should be using rust nightly - we (try to) follow rust's release schedule with our releases.

@afck
Copy link
Contributor Author

afck commented Jan 15, 2019

Thank you for the quick reply! Feel free to close this issue if that panic is expected.
I just find it odd that it (compiles fine and) crashes with stable, and am wondering whether it points to another instance where a new Tokio core is created from inside a future.

@jam10o-new
Copy link
Contributor

I'll leave this open in case that might be true (@ngotchac)

@jam10o-new jam10o-new added Z0-unconfirmed 🤔 Issue might be valid, but it’s not yet known. M4-core ⛓ Core client code / Rust. F1-panic 🔨 The client panics and exits without proper error handling. labels Jan 15, 2019
@ngotchac
Copy link
Contributor

I didn't see this coming, it's a valid issue, I'll fix it tonight :/

@ngotchac ngotchac removed the Z0-unconfirmed 🤔 Issue might be valid, but it’s not yet known. label Jan 15, 2019
@ngotchac ngotchac self-assigned this Jan 15, 2019
@Tbaut
Copy link
Contributor

Tbaut commented Jan 16, 2019

I've just had this issue with the windows binary of 2.3.0 as well.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
F1-panic 🔨 The client panics and exits without proper error handling. M4-core ⛓ Core client code / Rust.
Projects
None yet
Development

No branches or pull requests

5 participants