Skip to content
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

LockoutsConflict in handling VoteStateUpdates with old roots #27348

Closed
carllin opened this issue Aug 23, 2022 · 0 comments · Fixed by #27323
Closed

LockoutsConflict in handling VoteStateUpdates with old roots #27348

carllin opened this issue Aug 23, 2022 · 0 comments · Fixed by #27323
Assignees

Comments

@carllin
Copy link
Contributor

carllin commented Aug 23, 2022

Problem

In a VoteStateUpdate, when a proposed root is:

  1. Not in the SlotHashes history
  2. Bigger than existing slots in the VoteState

It will get rejected due to LockoutsConflict

For instance:

Current VoteState {root: 0, 1, 2 ,5, 11, 15}
SlotHashes: {8}
Proposed VoteStateUpdate: {root: 5, 11, 15}

Because the proposed root 5 is not in SlotHashes, we currently leave the root as 0. Then we fail with LockoutsConflict on processing the VoteStateUpdate because 1, 2 should have been included in the VoteStateUpdate and not have been popped off from the current VoteState

Proposed Solution

Set root to largest slot in VoteState less than the proposed root

@carllin carllin changed the title LockoutsConflict on old roots LockoutsConflict in handling VoteStateUpdates with old roots Aug 23, 2022
@carllin carllin closed this as completed Aug 24, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants