paritytech / polkadot-sdk

The Parity Polkadot Blockchain SDK

Home Page:https://polkadot.network/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Parachain] panicked at 'set_validation_data inherent needs to be present in every block!'

usherasnick opened this issue · comments

Hi, I'm a substrate developer and wanted to provide randomness in our parachain by importing vrf randomness from relay chain. But when I launch the rococo local testnet and parachain using zombienet, I see the logs said it's a bug and report it here.

Version: 0.1.0-a167b30f389

   0: backtrace::capture::Backtrace::new
   1: sp_panic_handler::set::{{closure}}
   2: std::panicking::rust_panic_with_hook
   3: std::panicking::begin_panic_handler::{{closure}}
   4: std::sys_common::backtrace::__rust_end_short_backtrace
   5: _rust_begin_unwind
   6: core::panicking::panic_fmt
   7: core::option::expect_failed
   8: <(TupleElement0,TupleElement1,TupleElement2,TupleElement3,TupleElement4,TupleElement5,TupleElement6,TupleElement7,TupleElement8,TupleElement9,TupleElement10,TupleElement11,TupleElement12,TupleElement13,TupleElement14,TupleElement15,TupleElement16,TupleElement17,TupleElement18,TupleElement19,TupleElement20) as frame_support::traits::hooks::OnFinalize<BlockNumber>>::on_finalize
   9: frame_executive::Executive<System,Block,Context,UnsignedValidator,AllPalletsWithSystem,COnRuntimeUpgrade>::finalize_block
  10: popsicle_runtime::api::dispatch
  11: environmental::using
  12: sc_executor::executor::WasmExecutor<H>::with_instance::{{closure}}
  13: sc_executor::wasm_runtime::RuntimeCache::with_instance
  14: <sc_executor::executor::NativeElseWasmExecutor<D> as sp_core::traits::CodeExecutor>::call
  15: sp_state_machine::execution::StateMachine<B,H,Exec>::execute
  16: <sc_service::client::client::Client<B,E,Block,RA> as sp_api::CallApiAt<Block>>::call_api_at
  17: <popsicle_runtime::RuntimeApiImpl<__SrApiBlock__,RuntimeApiImplCall> as sp_api::Core<__SrApiBlock__>>::__runtime_api_internal_call_api_at
  18: sp_block_builder::BlockBuilder::finalize_block
  19: sc_block_builder::BlockBuilder<Block,C>::build
  20: <sc_basic_authorship::basic_authorship::Proposer<Block,C,A,PR> as sp_consensus::Proposer<Block>>::propose::{{closure}}
  21: <sc_service::task_manager::prometheus_future::PrometheusFuture<T> as core::future::future::Future>::poll
  22: <futures_util::future::select::Select<A,B> as core::future::future::Future>::poll
  23: <tracing_futures::Instrumented<T> as core::future::future::Future>::poll
  24: tokio::runtime::park::CachedParkThread::block_on
  25: <tokio::runtime::blocking::task::BlockingTask<T> as core::future::future::Future>::poll
  26: tokio::runtime::task::core::Core<T,S>::poll
  27: tokio::runtime::task::harness::Harness<T,S>::poll
  28: std::sys_common::backtrace::__rust_begin_short_backtrace
  29: core::ops::function::FnOnce::call_once{{vtable.shim}}
  30: std::sys::pal::unix::thread::Thread::new::thread_start
  31: __pthread_deallocate


Thread 'tokio-runtime-worker' panicked at 'set_validation_data inherent needs to be present in every block!', /Users/gerry/.cargo/registry/src/index.crates.io-6f17d22bba15001f/cumulus-pallet-parachain-system-0.10.0/src/lib.rs:266

This is a bug. Please report it at:

	https://github.com/paritytech/polkadot-sdk/issues/new

2024-05-31 19:10:54 [Relaychain] ✨ Imported #12 (0x3d81…1d87)    
2024-05-31 19:10:54 [Parachain] 🙌 Starting consensus session on top of parent 0x2de60b1143bad1cb8b7652f67e84fe08223d12d716de5995674aa578bea29086    
2024-05-31 19:10:54 [Parachain] Evicting failed runtime instance error=Runtime panicked: no space left for the block in the unincluded segment
2024-05-31 19:10:54 [Parachain] 1 storage transactions are left open by the runtime. Those will be rolled back.    
2024-05-31 19:10:54 [Parachain] 1 storage transactions are left open by the runtime. Those will be rolled back.    
2024-05-31 19:10:54 [Parachain] ❗️ Inherent extrinsic returned unexpected error: Error at calling runtime api: Execution failed: Runtime panicked: no space left for the block in the unincluded segment. Dropping.    
2024-05-31 19:10:54 [Parachain] Evicting failed runtime instance error=Runtime panicked: set in `set_validation_data`
2024-05-31 19:10:54 [Parachain] 1 storage transactions are left open by the runtime. Those will be rolled back.    
2024-05-31 19:10:54 [Parachain] 1 storage transactions are left open by the runtime. Those will be rolled back.    
2024-05-31 19:10:54 [Parachain] ❗️ Inherent extrinsic returned unexpected error: Error at calling runtime api: Execution failed: Runtime panicked: set in `set_validation_data`. Dropping.    
2024-05-31 19:10:54 [Parachain] Evicting failed runtime instance error=Runtime panicked: set_validation_data inherent needs to be present in every block!
2024-05-31 19:10:54 [Parachain] err=Error { inner: Proposing

Caused by:
    0: Error at calling runtime api: Execution failed: Runtime panicked: set_validation_data inherent needs to be present in every block!
    1: Execution failed: Runtime panicked: set_validation_data inherent needs to be present in every block!

Stack backtrace:
   0: std::backtrace::Backtrace::create
   1: anyhow::error::<impl anyhow::Error>::new
   2: <cumulus_client_consensus_proposer::Proposer<B,T> as cumulus_client_consensus_proposer::ProposerInterface<B>>::propose::{{closure}}
   3: cumulus_client_consensus_aura::collators::basic::run::{{closure}}
   4: <futures_util::future::future::map::Map<Fut,F> as core::future::future::Future>::poll
   5: <sc_service::task_manager::prometheus_future::PrometheusFuture<T> as core::future::future::Future>::poll
   6: <futures_util::future::select::Select<A,B> as core::future::future::Future>::poll
   7: <tracing_futures::Instrumented<T> as core::future::future::Future>::poll
   8: tokio::runtime::task::core::Core<T,S>::poll
   9: tokio::runtime::task::harness::Harness<T,S>::poll
  10: tokio::runtime::scheduler::multi_thread::worker::Context::run_task
  11: tokio::runtime::scheduler::multi_thread::worker::Context::run
  12: tokio::runtime::context::runtime::enter_runtime
  13: tokio::runtime::scheduler::multi_thread::worker::run
  14: <tokio::runtime::blocking::task::BlockingTask<T> as core::future::future::Future>::poll
  15: tokio::runtime::task::core::Core<T,S>::poll
  16: tokio::runtime::task::harness::Harness<T,S>::poll
  17: std::sys_common::backtrace::__rust_begin_short_backtrace
  18: core::ops::function::FnOnce::call_once{{vtable.shim}}
  19: std::sys::pal::unix::thread::Thread::new::thread_start
  20: __pthread_deallocate }

Collators are unable to produce any block.
Does it relate to anything about InherentDataProvider? Can you help me? Thanks!

Runtime panicked: no space left for the block in the unincluded segment

This is your problem. For how long did you let it run?

Runtime panicked: no space left for the block in the unincluded segment

This is your problem. For how long did you let it run?

I figured out that it might be because the polkadot-sdk version is not compatible with the version of parachain, since when I changed to use the v1.5.0 polkadot-sdk, the problem disappeared. But there's anther issue that the log prints "Collation wasn't advertised to any validator. ..", I think I'd rather close this issue and open another one to describe it more clearly. Thanks for you replying!