fix: intermittent incorrect logging of CheckQueue for invalid blocks#7312
fix: intermittent incorrect logging of CheckQueue for invalid blocks#7312knst wants to merge 1 commit intodashpay:developfrom
Conversation
It helps to return valid error during ConnectBlock instead no-named failure
2024-09-23T13:13:10Z ERROR: ConnectBlock: CheckQueue failed
✅ No Merge Conflicts DetectedThis PR currently has no conflicts with other open PRs. |
|
ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
WalkthroughThe pull request modifies Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Tip 💬 Introducing Slack Agent: The best way for teams to turn conversations into code.Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.
Built for teams:
One agent for your entire SDLC. Right inside Slack. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
🔍 Review in progress — actively reviewing now (commit 76e6645) |
thepastaclaw
left a comment
There was a problem hiding this comment.
Code Review
I reviewed the exact queued head 76e6645cd43e73847e1444bb1aef788f58e8c0cf and only src/validation.cpp changes in this PR. The change is a narrowly scoped fix to object lifetime ordering in CChainState::ConnectBlock: txsdata is now guaranteed to outlive CCheckQueueControl, which matches the existing comment and prevents queued CScriptCheck workers from observing destroyed PrecomputedTransactionData. I did not find any correctness, consensus, or Dash-specific interaction issues in the current patch.
Reviewed commit: 76e6645
Issue being fixed or feature implemented
ConnectBlock may return no-named failure instead proper error code such as:
What was done?
This PR fixes this intermittent failure
How Has This Been Tested?
N/A
Breaking Changes
N/A
Checklist: