Closed Lichtso closed 2 years ago
I believe this also happened on slot: 124952204
running ledger tool before and after the identified pr (2ab4f34c029db5e5747dd2325379482e11a97f0a Refactor: Remove Message
and CompiledInstruction
from InvokeContext
interfaces (#22102)) resulted in the change to bad hash on the bank hash on that slot
I believe this also happened on slot: 124952204
running ledger tool before and after the identified pr (2ab4f34 Refactor: Remove
Message
andCompiledInstruction
fromInvokeContext
interfaces (#22102)) resulted in the change to bad hash on the bank hash on that slot
Confirmed that #23701 fixes the issue at this slot, too.
This issue has been automatically locked since there has not been any activity in past 7 days after it was closed. Please open a new issue for related bugs.
Problem
22102 seems to have introduced something that causes a consensus divergence in slot 124685989.
Of the three commits that were squashed and merged in that PR, https://github.com/solana-labs/solana/pull/22102/commits/fa8167a8c702442ece41bbda96708e0a383fddad is the relevant one.
Hashes and Difference
good (mnb):
bad (master):
Transaction
Log
This
Err(InstructionError(0, ProgramFailedToComplete))
only happens on master.Cause
As duplicate accounts were translated twice in the CPI, they were also charged for twice. And this program execution which was close to the compute meter limit got pushed over the edge.
Proposed Solution
Debug and fix.