Mon nœud a crashé!

2024-09-29 04:56:52 💤 Idle (0 peers), best: #3253555 (0x53ff…ca6d), finalized #3253554 (0x06b2…8f43), ⬇ 7.7kiB/s ⬆ 3.5kiB/s    
2024-09-29 04:56:53 💔 Verification failed for block 0xc7466f0b945f9680eec78d2c78b56b6fd06dd4070679e3c1cd0c750f84f89483 received from (12D3KooWGvtbSM9SXMTAukT9zQo26QWegPcvP7pRhPU4HxK151Sx): "Header 0xc7466f0b945f9680eec78d2c78b56b6fd06dd4070679e3c1cd0c750f84f89483 rejected: too far in the future"    
2024-09-29 04:56:53 Report 12D3KooWGvtbSM9SXMTAukT9zQo26QWegPcvP7pRhPU4HxK151Sx: -536870912 to -2147483648. Reason: Block verification failed. Banned, disconnecting.    

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

Version: 0.8.0-unknown

   0: sp_panic_handler::set::{{closure}}
   1: <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call
             at /rustc/8ace7ea1f7cbba7b4f031e66c54ca237a0d65de6/library/alloc/src/boxed.rs:2029:9
      std::panicking::rust_panic_with_hook
             at /rustc/8ace7ea1f7cbba7b4f031e66c54ca237a0d65de6/library/std/src/panicking.rs:785:13
   2: std::panicking::begin_panic_handler::{{closure}}
             at /rustc/8ace7ea1f7cbba7b4f031e66c54ca237a0d65de6/library/std/src/panicking.rs:659:13
   3: std::sys_common::backtrace::__rust_end_short_backtrace
             at /rustc/8ace7ea1f7cbba7b4f031e66c54ca237a0d65de6/library/std/src/sys_common/backtrace.rs:171:18
   4: rust_begin_unwind
             at /rustc/8ace7ea1f7cbba7b4f031e66c54ca237a0d65de6/library/std/src/panicking.rs:647:5
   5: core::panicking::panic_fmt
             at /rustc/8ace7ea1f7cbba7b4f031e66c54ca237a0d65de6/library/core/src/panicking.rs:72:14
   6: core::result::unwrap_failed
             at /rustc/8ace7ea1f7cbba7b4f031e66c54ca237a0d65de6/library/core/src/result.rs:1649:5
   7: dc_distance::create_distance_inherent_data_provider
   8: <F as sp_inherents::client_side::CreateInherentDataProviders<Block,ExtraArgs>>::create_inherent_data_providers::{{closure}}
   9: sc_consensus_slots::start_slot_worker::{{closure}}
  10: <futures_util::future::future::map::Map<Fut,F> as core::future::future::Future>::poll
  11: <sc_service::task_manager::prometheus_future::PrometheusFuture<T> as core::future::future::Future>::poll
  12: <futures_util::future::select::Select<A,B> as core::future::future::Future>::poll
  13: <tracing_futures::Instrumented<T> as core::future::future::Future>::poll
  14: tokio::runtime::context::runtime::enter_runtime
  15: tokio::runtime::task::core::Core<T,S>::poll
  16: tokio::runtime::task::harness::Harness<T,S>::poll
  17: tokio::runtime::blocking::pool::Inner::run
  18: std::sys_common::backtrace::__rust_begin_short_backtrace
  19: core::ops::function::FnOnce::call_once{{vtable.shim}}
  20: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
             at /rustc/8ace7ea1f7cbba7b4f031e66c54ca237a0d65de6/library/alloc/src/boxed.rs:2015:9
      <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
             at /rustc/8ace7ea1f7cbba7b4f031e66c54ca237a0d65de6/library/alloc/src/boxed.rs:2015:9
      std::sys::pal::unix::thread::Thread::new::thread_start
             at /rustc/8ace7ea1f7cbba7b4f031e66c54ca237a0d65de6/library/std/src/sys/pal/unix/thread.rs:108:17
  21: start_thread
  22: clone


Thread 'tokio-runtime-worker' panicked at 'CurrentIndex is Err: UnknownBlock("State already discarded for 0x53ff5f01f535c60e8d50550365d7a738bbc6bf6f5e3bdd78cee9bb20c04eca6d")', /root/client/distance/src/lib.rs:58

This is a bug. Please report it at:

	https://forum.duniter.org/

À prendre en compte le fait que mon nœud se comporte déjà bizarrement, ce qui pourraît être la source du problème.

Très intéressant, merci !!

Ça se passe ici : client/distance/src/lib.rs · master · nodes / rust / Duniter v2S · GitLab

En gros, le nœud a voulu récupérer les résultats de la règle de distance à un bloc donné dont l’état n’était plus disponible. C’est intéressant, je n’aurais pas dû laisser passer ça. Il faut corriger et empêcher le nœud de crasher, quitte à ne pas publier l’inhérent.

Mieux vaut trouver ça en dev qu’en prod, c’est tracé dans #255.

4 Likes

En fait on dirait que le nœud n’a pas crashé, mais uniquement le runtime et uniquement à ce bloc. Donc ton nœud continue à produire des blocs et fonctionner “normalement” (mal en l’occurrence).

Je ne sais pas à quel bloc ça s’est produit, mais il fait référence au bloc 3253555 0x53ff5f01f535c60e8d50550365d7a738bbc6bf6f5e3bdd78cee9bb20c04eca6d qui est vide et forgé par toi.