-
Notifications
You must be signed in to change notification settings - Fork 129
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
bug(sync/chain_processor): Failed to handle justification: start node does not exist
#3150
Comments
Actually what is happening is that at block height 198k we are not saving the round and set id for the latest finalized block but we still mark it as a finalized one. As you can check in the log lines above:
|
After a quick chat with Andre from Parity said that is likely that all the validators needed to restart at that time reseting the round counter to 0 and resuming the epoch 314 from there which explains why we see a block 198,656 with round 106 and set id 314 and then block 198,785 with round 3 and set 314. So I removed the verification from the |
Describe the bug
and then it is not possible to see finalization logs like:
After a quick investigation I notice the error originates in the function
VerifyBlockJustification
where, among other things, is responsible for callingblockState.SetFinalisedHash(...)
after all the checks are done.SetFinalisedHash
receives the hash to finalize, the round and the setID. Then it gets the highest finalized hash at the moment and tries to retrieve the subchain between thehighest finalized hash
and the hash we passed as the argument, and here the error happens since the functionRangeInMemory(highestHash, hashToFinalize)
returns the error:start node does not exists
, which means thehighestHash
was not found in the in-memory block tree.Here are my thoughts of the root cause:
root node
of the in-memory block tree is a finalized block, so this principle is broken or...GetHighestFinalisedHash
and it goes to the database to retrieve the highest round and set id known and with them retrieve the hash from database.The text was updated successfully, but these errors were encountered: