-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
IBFT: Ensure that Committed Seal is not zero value #1118
IBFT: Ensure that Committed Seal is not zero value #1118
Conversation
When a commit message is processed, if the Proposal is missing due to some reason, we should not generate a Zero address Committed Seal. Such an incorrect seal causes `BAD BLOCK` failure with an `invalid signature` error during operations such as Block import
Hi team - Is there any input on this issue and proposed fix? We have seen this in another customer environment recently, running
|
This reverts commit 279be71.
Thanks for the review @ricardolyn . I've added a test that attempts to finalize a |
@vdamle can you please update with the latest |
Co-authored-by: baptiste-b-pegasys <[email protected]>
Consensys#1118 fixed an issue due to which some blocks could be produced with an invalid seal in the list of signers. This change ignores the error during block import/sync.
Hey @vdamle could you advise how one should sync now with a chain that already has blocks with a zero committed seal (made before this fix)? |
Ambisafe@36aa739 here is the fix we used. |
@lastperson My bad, I tagged only one commit with this issue, there are 2 commits on the branch you looked at, this view might help: https://github.com/kaleido-io/quorum/compare/6c76d8165eda4560e1f87ff0efd9a9a533a9d206..disable-signature-check |
When a commit message is processed, if the Proposal is missing due to
some reason, we should not generate a zero value Committed Seal. Such
an incorrect seal causes
BAD BLOCK
failure with aninvalid signature
error during operations such as Block import.
Details
For an
IBFT
chain where we gathered a backup usinggeth export
, we hit aBAD BLOCK: invalid signature
error runningimport
on the chain data. Upon further investigation, I found that theinvalid signature
error was because one of theCommitted Seals
was a Zero address. Looking at the code, it appears that this can happen when a Commit message without a proposal is finalized (I haven't been able to pin point how this occurs, but this appears the only case where the committed seal is set to a zero value)Full Import Log
ExtraData
is: