ChainSafe / gossamer

πŸ•ΈοΈ Go Implementation of the Polkadot Host
https://chainsafe.github.io/gossamer
GNU Lesser General Public License v3.0
432 stars 116 forks source link

Storage root mismatch on Westend #2316689 #4271

Closed haikoschol closed 3 weeks ago

haikoschol commented 1 month ago

Describe the bug

During sync from genesis, importing block #2316689 on Westend fails with a storage root mismatch.

Expected Behavior

The block is imported and syncing continues.

Current Behavior

Import fails and is retried periodically, stalling the sync process.

To Reproduce

Run Gossamer on Westend from genesis or from a snapshot before block #2316689.

Log output

2024-10-18T18:15:40+07:00 INFO     πŸ”„ detected runtime code change, upgrading with block 0xccf9e1f54c1b36b9414bdcbf1f4012a5329aab98d29fcdfbf302d730f697fb6f from previous code hash 0x1b98cb2977fc72ed51f437208b4674d30cfd1fbc52836ab81779d6c062a98374 to new code hash 0xd1d0c751d8afda72cc664587de1a343a65e90b371deae186ce33681369907ced...   pkg=state
2024-10-18T18:15:41+07:00 CRITICAL target=runtime message=panicked at 'Storage root must match that calculated.', /Users/gav/.cargo/git/checkouts/substrate-7e08433d4c370a21/647ad15/frame/executive/src/lib.rs:398:9   ext_logging_log_version_1       pkg=runtime module=wazero
2024-10-18T18:15:41+07:00 ERROR    processing block #2316689 (0xd1bdb48d9da8e900e82944f968a9bfba6f08234581cf10e6c4cab538214aab2d) failed: processing block data with header and body: handling block: failed to execute block 2316689: running runtime function: wasm error: unreachable
wasm stack trace:
        .rust_begin_unwind(i32)
        .core::panicking::panic_fmt::h6aa2a8f84484b5f7(i32,i32)
        .core::panicking::panic::hc886a4cb4479b06e(i32,i32,i32)
        .Core_execute_block(i32,i32) i64        pkg=sync
2024-10-18T18:15:41+07:00 CRITICAL current sync strategy failed with: while handling ready block: processing block data with header and body: handling block: failed to execute block 2316689: running runtime function: wasm error: unreachable
wasm stack trace:
        .rust_begin_unwind(i32)
        .core::panicking::panic_fmt::h6aa2a8f84484b5f7(i32,i32)
        .core::panicking::panic::hc886a4cb4479b06e(i32,i32,i32)
        .Core_execute_block(i32,i32) i64        pkg=sync
2024-10-18T18:15:41+07:00 INFO     highest block: 2316688 target 23059523       pkg=sync

Specification

haikoschol commented 1 month ago

I created a test for debugging on this branch.

haikoschol commented 3 weeks ago

fixed in #4278