-
Notifications
You must be signed in to change notification settings - Fork 678
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
Fix: never consider Stacks chain tips that are not on the canonical burn chain #4886
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! 👏
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The 4 mutant failures on this PR are about under-tested functions:
- 2 are for this
is_on_canonical_burnchain_fork
function returning true or false & not failing a test. - The other 2 are for
load_candidate_tips
returning empty/default & not failing a test.
The quickest workaround is to skip, but the best approach is to add the tests. I included as suggestions what is needed to skip the tests in case you prefer that route.
…onical-2.5.0.0.4 Fix: never consider Stacks chain tips that are not on the canonical burn chain #4886
This pull request has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
This PR fixes an incident from earlier this morning whereby miners consistently failed to mine blocks because their preferred chain tip was no longer on the canonical Bitcoin fork. This was due to (1) an omitted check when searching for ancestral Stacks tips to consider, and (2) an off-by-one error which meant that the highest considered ancestor had the same height as the already-filtered Stacks tips (instead of an earlier height).
You can see the difference as follows:
With the fix:
Without the fix: