I've been running a local relay chain with two validators, and tried doing a runtime upgrade that failed showing the following errors on the validators:
2022-02-11 18:11:48 Running migration to v1 for session_historical with storage version StorageVersion(1)
2022-02-11 18:11:48 Attempted to apply migration to v1 but failed because storage version is StorageVersion(1)
and
panicked at 'Timestamp slot must match `CurrentSlot`', /Users/santibalaguer/.cargo/git/checkouts/substrate-7e08433d4c370a21/4aeb95f/frame/babe/src/lib.rs:845:9
2022-02-11 18:11:54 ❗️ Inherent extrinsic returned unexpected error: Error at calling runtime api: Execution failed: Other("Wasm execution trapped: wasm trap: wasm `unreachable` instruction executed\nwasm backtrace:\n 0: 0x693c - <unknown>!rust_begin_unwind\n"). Dropping.
2022-02-11 18:11:54 panicked at 'Timestamp must be updated once in the block', /Users/santibalaguer/.cargo/git/checkouts/substrate-7e08433d4c370a21/4aeb95f/frame/timestamp/src/lib.rs:175:13
2022-02-11 18:11:54 Proposing failed: ClientImport("RuntimeApiError(Application(Execution(Other(\"Wasm execution trapped: wasm trap: wasm `unreachable` instruction executed\\nwasm backtrace:\\n 0: 0x693c - <unknown>!rust_begin_unwind\\n\"))))")
Given that this is a local setup and that I was just testing things out, I'd be curious of what's the best way to recover this chain. I tried looking for how to use the --revert
flag but could not find much (don't know either if it's the right way).