Skip to content

Instantly share code, notes, and snippets.

@bladedoyle
Created December 17, 2020 00:02
Show Gist options
  • Save bladedoyle/43e239183240a787c36183704f16e64d to your computer and use it in GitHub Desktop.
Save bladedoyle/43e239183240a787c36183704f16e64d to your computer and use it in GitHub Desktop.
grin v5 beta3 wallet panic
On startup I see this panic message once: "Cannot start a runtime from within a runtime"
Full message:
20201216 23:20:15.448 INFO grin_util::logger - log4rs is initialized, file level: Info, stdout level: Warn, min. level: Info
20201216 23:20:15.448 INFO grin_wallet - Using wallet configuration file at /home/grin/.grin/main/grin-wallet.toml
20201216 23:20:15.448 INFO grin_wallet - This is Grin Wallet version 5.0.0-beta.3 (git v5.0.0-beta.3), built for x86_64-unknown-linux-gnu by rustc 1.48.0 (7eac88abb 2020-11-16).
20201216 23:20:15.536 WARN grin_wallet_controller::controller - Starting TOR Hidden Service for API listener at address xd5sj6kfqi5r3iuh6hv4frufpijb4mny3byyojemisumwsdwtsvsxbad, binding to 0.0.0.0:3415
20201216 23:20:21.541 WARN grin_wallet_controller::controller - Starting HTTP Foreign listener API server at 0.0.0.0:3415.
20201216 23:20:21.541 WARN grin_wallet_controller::controller - HTTP Foreign listener started.
20201216 23:20:21.541 WARN grin_wallet_controller::controller - Slatepack Address is: grin1hrajf729sga3mg58784u93590gfpuvdcmpccwfyvgj5vkjrknj4sq9gkzf
20201216 23:31:22.260 ERROR grin_util::logger -
thread 'tokio-runtime-worker' panicked at 'Cannot start a runtime from within a runtime. This happens because a function (like `block_on`) attempted to block the current thread while the thread is being used to drive asynchronous tasks.': /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/tokio-0.2.22/src/runtime/enter.rs:38 0: grin_util::logger::send_panic_to_log::{{closure}}
1: std::panicking::rust_panic_with_hook
at rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/std/src/panicking.rs:581
2: std::panicking::begin_panic::{{closure}}
3: std::sys_common::backtrace::__rust_end_short_backtrace
4: std::panicking::begin_panic
5: tokio::runtime::enter::enter
6: tokio::runtime::thread_pool::ThreadPool::block_on
7: tokio::runtime::context::enter
8: grin_wallet_impls::client_utils::client::Client::send_request
9: grin_wallet_impls::client_utils::client::Client::post
10: <grin_wallet_impls::node_clients::http::HTTPNodeClient as grin_wallet_libwallet::types::NodeClient>::get_version_info
11: <grin_wallet_api::foreign::Foreign<L,C,K> as grin_wallet_api::foreign_rpc::ForeignRpc>::build_coinbase
12: <dyn grin_wallet_api::foreign_rpc::ForeignRpc as easy_jsonrpc_mw::Handler>::handle
13: easy_jsonrpc_mw::handle_call
14: easy_jsonrpc_mw::handle_parsed_request
15: easy_jsonrpc_mw::Handler::handle_request
16: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
17: <hyper::proto::h1::dispatch::Server<S,hyper::body::body::Body> as hyper::proto::h1::dispatch::Dispatch>::poll_msg
18: hyper::proto::h1::dispatch::Dispatcher<D,Bs,I,T>::poll_inner
19: <hyper::server::conn::upgrades::UpgradeableConnection<I,S,E> as core::future::future::Future>::poll
20: tokio::runtime::task::core::Core<T,S>::poll
21: <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
22: tokio::runtime::task::raw::poll
23: std::thread::local::LocalKey<T>::with
24: tokio::runtime::thread_pool::worker::Context::run_task
25: tokio::runtime::thread_pool::worker::Context::run
26: tokio::macros::scoped_tls::ScopedKey<T>::set
27: tokio::runtime::thread_pool::worker::run
28: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut
29: <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
30: tokio::runtime::task::harness::Harness<T,S>::poll
31: tokio::runtime::blocking::pool::Inner::run
32: tokio::runtime::context::enter
33: std::sys_common::backtrace::__rust_begin_short_backtrace
34: core::ops::function::FnOnce::call_once{{vtable.shim}}
35: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
at rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/alloc/src/boxed.rs:1042
<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
at rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/alloc/src/boxed.rs:1042
std::sys::unix::thread::Thread::new::thread_start
at rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/std/src/sys/unix/thread.rs:87
36: start_thread
37: clone
After that, I see one panic each time the node contacts the wallet (port 3415) to get a coinbase.
Full message:
20201216 23:31:27.323 ERROR grin_util::logger -
thread 'tokio-runtime-worker' panicked at 'called `Result::unwrap()` on an `Err` value: "PoisonError { inner: .. }"': impls/src/client_utils/client.rs:344 0: grin_util::logger::send_panic_to_log::{{closure}}
1: std::panicking::rust_panic_with_hook
at rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/std/src/panicking.rs:581
2: std::panicking::begin_panic_handler::{{closure}}
at rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/std/src/panicking.rs:484
3: std::sys_common::backtrace::__rust_end_short_backtrace
at rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/std/src/sys_common/backtrace.rs:153
4: rust_begin_unwind
at rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/std/src/panicking.rs:483
5: core::panicking::panic_fmt
at rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/core/src/panicking.rs:85
6: core::option::expect_none_failed
at rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/core/src/option.rs:1234
7: grin_wallet_impls::client_utils::client::Client::send_request
8: grin_wallet_impls::client_utils::client::Client::post
9: <grin_wallet_impls::node_clients::http::HTTPNodeClient as grin_wallet_libwallet::types::NodeClient>::get_version_info
10: <grin_wallet_api::foreign::Foreign<L,C,K> as grin_wallet_api::foreign_rpc::ForeignRpc>::build_coinbase
11: <dyn grin_wallet_api::foreign_rpc::ForeignRpc as easy_jsonrpc_mw::Handler>::handle
12: easy_jsonrpc_mw::handle_call
13: easy_jsonrpc_mw::handle_parsed_request
14: easy_jsonrpc_mw::Handler::handle_request
15: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
16: <hyper::proto::h1::dispatch::Server<S,hyper::body::body::Body> as hyper::proto::h1::dispatch::Dispatch>::poll_msg
17: hyper::proto::h1::dispatch::Dispatcher<D,Bs,I,T>::poll_inner
18: <hyper::server::conn::upgrades::UpgradeableConnection<I,S,E> as core::future::future::Future>::poll
19: tokio::runtime::task::core::Core<T,S>::poll
20: <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
21: tokio::runtime::task::raw::poll
22: std::thread::local::LocalKey<T>::with
23: tokio::runtime::thread_pool::worker::Context::run_task
24: tokio::runtime::thread_pool::worker::Context::run
25: tokio::macros::scoped_tls::ScopedKey<T>::set
26: tokio::runtime::thread_pool::worker::run
27: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut
28: <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
29: tokio::runtime::task::harness::Harness<T,S>::poll
30: tokio::runtime::blocking::pool::Inner::run
31: tokio::runtime::context::enter
32: std::sys_common::backtrace::__rust_begin_short_backtrace
33: core::ops::function::FnOnce::call_once{{vtable.shim}}
34: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
at rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/alloc/src/boxed.rs:1042
<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
at rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/alloc/src/boxed.rs:1042
std::sys::unix::thread::Thread::new::thread_start
at rustc/7eac88abb2e57e752f3302f02be5f3ce3d7adfb4/library/std/src/sys/unix/thread.rs:87
35: start_thread
36: clone
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment