fix(node): a stalled authoring loop said nothing at all - #15
Merged
Merged
Conversation
Three stage nodes sat at the same height for hours and produced no log above debug to say so. The first sign of it was the block explorer looking empty, and finding the cause meant reading the authoring loop rather than any log it had written. The per-tick error is rightly debug: the loop ticks every second and fails on most of them by design, because an authority that does not own the current slot cannot author and an idle chain holding this slot's block should not. What was missing is the distinction between failing this tick and having failed every tick for hours. Each authority owns one slot in authorities.len(), so a healthy node authors about every step_duration * len seconds -- 60s for the three-node stage set. Five minutes of continuous failure is a stall, not a quiet period, and it now warns with the actual error: which of the several reasons authoring can fail is the entire question when this fires. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Three stage nodes sat at height 84 for hours and produced no log above
debugto say so. The first sign was the block explorer looking empty, and finding the cause meant reading the authoring loop rather than any log it had written.The per-tick error is rightly
debug: the loop ticks every second and fails on most of them by design — an authority that does not own the current slot cannot author, and an idle chain already holding this slot's block should not. What was missing is the distinction between failing this tick and having failed every tick for hours.Each authority owns one slot in
authorities.len(), so a healthy node authors roughly everystep_duration * lenseconds — 60s for the three-node stage set. Five minutes of continuous failure is a stall, not a quiet period.It now warns with the actual error, because which of the several reasons authoring can fail is the entire question when this fires.
This does not fix the stall. It makes the next one diagnosable in one log line instead of an afternoon.
🤖 Generated with Claude Code