jormungandr: not yet implemented: method to load a Ref from the storage is not yet there

Describe the bug When restarting a node with trusted peer this happen:

Sep 17 21:20:44.134 INFO Starting jormungandr 0.3.3 (, release, linux [x86_64]) - [rustc 1.36.0 (a53f9df32 2019-07-03)], task: init
Sep 17 21:20:44.134 INFO storing blockchain in '"./storage/blocks.sqlite"', task: init
Sep 17 21:20:44.151 INFO connecting to bootstrap peer 3.122.73.200:3000, peer: /ip4/3.122.73.200/tcp/3000, network: bootstrap, task: bootstrap
thread 'main' panicked at 'not yet implemented: method to load a Ref from the storage is not yet there', jormungandr/src/blockchain/chain.rs:259:37
stack backtrace:
   0: std::sys::unix::backtrace::tracing::imp::unwind_backtrace
   1: std::sys_common::backtrace::_print
   2: std::panicking::default_hook::{{closure}}
   3: std::panicking::default_hook
   4: std::panicking::rust_panic_with_hook
   5: std::panicking::continue_panic_fmt
   6: std::panicking::begin_panic_fmt
   7: futures::future::chain::Chain<A,B,C>::poll
   8: futures::future::chain::Chain<A,B,C>::poll
   9: futures::future::chain::Chain<A,B,C>::poll
  10: futures::future::chain::Chain<A,B,C>::poll
  11: futures::future::chain::Chain<A,B,C>::poll
  12: futures::future::chain::Chain<A,B,C>::poll
  13: futures::future::chain::Chain<A,B,C>::poll
  14: <futures::stream::fold::Fold<S,F,Fut,T> as futures::future::Future>::poll
  15: futures::future::chain::Chain<A,B,C>::poll
  16: futures::future::chain::Chain<A,B,C>::poll
  17: futures::future::chain::Chain<A,B,C>::poll
  18: futures::task_impl::std::set
  19: std::thread::local::LocalKey<T>::with
  20: tokio_current_thread::Entered<P>::block_on
  21: std::thread::local::LocalKey<T>::with
  22: std::thread::local::LocalKey<T>::with
  23: std::thread::local::LocalKey<T>::with
  24: std::thread::local::LocalKey<T>::with
  25: tokio::runtime::current_thread::runtime::Runtime::block_on
  26: tokio::runtime::current_thread::block_on_all
  27: jormungandr::network::bootstrap::bootstrap_from_peer
  28: jormungandr::network::bootstrap
  29: jormungandr::main
  30: std::rt::lang_start::{{closure}}
  31: std::panicking::try::do_call
  32: __rust_maybe_catch_panic
  33: std::rt::lang_start_internal
  34: main
  35: __libc_start_main
  36: _start

Mandatory Information running revision 646b07116e2f40be66aee51df5e353c56b4fdd9e.

To Reproduce Steps to reproduce the behavior: 1. nix-shell https://github.com/input-output-hk/jormungandr-nix/archive/listen-address.tar.gz --argstr trusted_peers /ip4/3.122.73.200/tcp/3000 2. mkdir storage 3. uncompress/copy attached sqlite db into the storage folder 4. RUST_BACKTRACE=1 run-jormungandr

Expected behavior the node start correctly.

Additional context the genesis block of the cluster was generated using the following command: nix-shell https://github.com/input-output-hk/jormungandr-nix/archive/listen-address.tar.gz --arg numberOfStakePools 7 --arg faucetAmounts '[ 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 100000000 100000000 100000000 ]' --arg slots_per_epoch 21600 --arg slot_duration 20 --arg consensus_genesis_praos_active_slot_coeff 0.1 --arg kes_update_speed 86400 --arg numberOfLeaders 7

blocks.zip

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Comments: 29 (20 by maintainers)

Commits related to this issue

Most upvoted comments

This still exists on 0.5.6

So it looks like this error arise when a node try to bootstrap from a trusted peer that is offering a shorter blockchain that what the node already has in local storage. @NicolasDP do you confirm that this is a plausible scenario for this error?

Sam and Priyank told me this error could be related to #788 and to post the output here. I am using Mac OSX 10.14.6 and Jormungandr 0.5.5 on a node that normally runs many hours without a crash. This is not a Nix build but built from jormungandr-v0.5.5-x86_64-apple-darwin.tar

Oct 02 21:16:38.642 WARN UploadBlocks request failed: Error { code: Internal, source: Status { code: Internal, message: “h2 protocol error: protocol error: unexpected internal error encountered” } }, node_id: 15250992350008249921, peer_addr: 3.115.57.216:3000, task: network thread ‘block1’ panicked at ‘not yet implemented: method to load a Ref from the storage is not yet there’, jormungandr/src/blockchain/chain.rs:259:37 note: run with RUST_BACKTRACE=1 environment variable to display a backtrace. not yet implemented: method to load a Ref from the storage is not yet there thread ‘leadership0’ panicked at ‘Expect the event to not close’, src/libcore/option.rs:1166:5