To update a parachain in a dev environment without redeploying the relaychain and other parachains I used sudoScheduleParaCleanup
extrinsic.
The cleanup and new onboarding seemed successful initially. The problem happened after a few blocks when the collator crashed with the following error:
2022-10-18 09:03:30 Starting collation. relay_parent=0x9e5e9e6dcbf78cf17346e6573d3fe257d430059408745031dec80dd8d66e0ff4 at=0x94e9c7738a66713e577ad027fb099160ca44eb72426b8e110669645e22928e52
2022-10-18 09:03:31 💤 Idle (4 peers), best: #10141 (0x3bfb…8afe), finalized #10138 (0x6950…3eae), ⬇ 10.2kiB/s ⬆ 4.6kiB/s
2022-10-18 09:03:31 💤 Idle (0 peers), best: #23 (0x94e9…8e52), finalized #23 (0x94e9…8e52), ⬇ 1.9kiB/s ⬆ 2.2kiB/s
2022-10-18 09:03:36 💤 Idle (4 peers), best: #10141 (0x3bfb…8afe), finalized #10139 (0xd224…475b), ⬇ 3.9kiB/s ⬆ 2.0kiB/s
2022-10-18 09:03:36 ✨ Imported #10142 (0xc883…f8d4)
2022-10-18 09:03:36 Starting collation. relay_parent=0xc883fc56364e142ba5a9f85fb138dc0993e58be2dce9b122b8fdd6cf7e84f8d4 at=0x94e9c7738a66713e577ad027fb099160ca44eb72426b8e110669645e22928e52
2022-10-18 09:03:36 🙌 Starting consensus session on top of parent 0x94e9c7738a66713e577ad027fb099160ca44eb72426b8e110669645e22928e52
2022-10-18 09:03:36 panicked at 'assertion failed: `(left == right)`
left: `0x3e6a5c84463407e77553ef347433d4a572c8231b3ffd2354122b64d03acd273d`,
right: `0x0000000000000000000000000000000000000000000000000000000000000000`', /usr/local/cargo/git/checkouts/cumulus-59522f43471fa161/e43b8b8/pallets/parachain-system/src/lib.rs:837:9
2022-10-18 09:03:36 1 storage transactions are left open by the runtime. Those will be rolled back.
2022-10-18 09:03:36 1 storage transactions are left open by the runtime. Those will be rolled back.
2022-10-18 09:03:36 ❗️ Inherent extrinsic returned unexpected error: Error at calling runtime api: Execution failed: Execution aborted due to trap: wasm trap: wasm `unreachable` instruction executed
WASM backtrace:
0: 0x25c39b - <unknown>!rust_begin_unwind
1: 0x1b0ae6 - <unknown>!core::panicking::panic_fmt::h63691436dedafe6d
2: 0x1b1062 - <unknown>!core::panicking::assert_failed_inner::h1d186295e5367630
3: 0x16e7dd - <unknown>!core::panicking::assert_failed::h4b0117c0b1dd3f55
4: 0x4510c - <unknown>!cumulus_pallet_parachain_system::pallet::Pallet<T>::set_validation_data::hd7af8de3e13ce66d
5: 0x90f50 - <unknown>!frame_support::storage::transactional::in_storage_layer::h7baa97a0134057d0
6: 0x156698 - <unknown>!<acurast_runtime::Call as frame_support::traits::dispatch::UnfilteredDispatchable>::dispatch_bypass_filter::hf20466489c06f7c1
7: 0x1564f4 - <unknown>!<acurast_runtime::Call as sp_runtime::traits::Dispatchable>::dispatch::h9e89655c23bde5b8
8: 0x173fdb - <unknown>!<sp_runtime::generic::checked_extrinsic::CheckedExtrinsic<AccountId,Call,Extra> as sp_runtime::traits::Applyable>::apply::h81eadf6a6d516e25
9: 0x1107d9 - <unknown>!frame_executive::Executive<System,Block,Context,UnsignedValidator,AllPalletsWithSystem,COnRuntimeUpgrade>::apply_extrinsic::h3fcb07763bfcee8a
10: 0x64903 - <unknown>!BlockBuilder_apply_extrinsic
. Dropping.
2022-10-18 09:03:36 panicked at 'set_validation_data inherent needs to be present in every block!', /usr/local/cargo/git/checkouts/cumulus-59522f43471fa161/e43b8b8/pallets/parachain-system/src/lib.rs:191:13
2022-10-18 09:03:36 Proposing failed: Import failed: Error at calling runtime api: Execution failed: Execution aborted due to trap: wasm trap: wasm `unreachable` instruction executed
WASM backtrace:
0: 0x25c39b - <unknown>!rust_begin_unwind
1: 0x1b0ae6 - <unknown>!core::panicking::panic_fmt::h63691436dedafe6d
2: 0x3480c - <unknown>!<(TupleElement0,TupleElement1) as frame_support::traits::hooks::OnFinalize<BlockNumber>>::on_finalize::ha360e62e0930872d
3: 0x110bc0 - <unknown>!frame_executive::Executive<System,Block,Context,UnsignedValidator,AllPalletsWithSystem,COnRuntimeUpgrade>::finalize_block::h586a07c505998964
4: 0x649b5 - <unknown>!BlockBuilder_finalize_block
Does anyone have any hint about what may be causing this error?
UPDATE 1: It seems that the crash occurs when calling sudoEstablishHrmpChannel
on the relaychain.