Quick Reference: Nightly Test Failures - Dec 19, 2025¶
TL;DR¶
37 tests failed in the nightly comprehensive test suite. 76% are timeout-related state synchronization issues.
Priority Actions¶
๐ฅ Critical (Do First)¶
- Fix State Sync Timeouts (28 failures)
- File:
PeerRequestHandler.scala - Issue: 5-second timeout too short, missing state nodes
- Tests: E2EStateTestSpec (15), FastSyncItSpec (8), others (5)
โ ๏ธ High Priority¶
- Fix MESS Consensus Logic (3 failures)
- File:
consensus/mess/package - Issue: Chain selection with first-seen timestamps
-
Tests: MESSIntegrationSpec (3)
-
Fix Sync State Checks (3 failures)
- File:
E2EFastSyncSpec.scala - Issue: Expected state not defined (likely cascades from #1)
๐ Medium Priority¶
- Fix VM Test Data (1 failure)
- Issue: JSON decoding error, missing fields
-
Tests: VMTestsSpec (1)
-
Fix Fork Validation (1 failure)
- Issue: Missing MPT root node (likely cascades from #1)
- Tests: ForksTest (1)
Failure Breakdown¶
| Issue Type | Count | % |
|---|---|---|
| Timeouts (State Sync) | 28 | 76% |
| MESS Consensus | 3 | 8% |
| Undefined State | 3 | 8% |
| Data Decoding | 1 | 3% |
| Fork Validation | 1 | 3% |
| Handshake Timeouts | 2 | 5% |
Key Error Patterns¶
1. Timeout¶
java.util.concurrent.TimeoutException: Task time out after all retries
PEER_REQUEST_TIMEOUT: reqType=GetNodeData, elapsed=5019ms (timeout=5000ms)
2. Missing Nodes¶
MerklePatriciaTrie$MissingNodeException: Node not found <hash>
MerklePatriciaTrie$MissingRootNodeException: Root node not found <hash>
3. Undefined State¶
Files to Investigate¶
Critical Path¶
src/main/scala/com/chipprbots/ethereum/blockchain/sync/
โโโ PeerRequestHandler.scala โญ START HERE
โโโ regular/BlockImporter.scala
src/main/scala/com/chipprbots/ethereum/mpt/
โโโ MerklePatriciaTrie.scala โญ STATE ISSUES
src/test/scala/com/chipprbots/ethereum/sync/util/
โโโ SyncCommonItSpecUtils.scala โญ TIMEOUT LOGIC
Test Specs¶
src/it/scala/com/chipprbots/ethereum/sync/
โโโ E2EStateTestSpec.scala (15 failures)
โโโ FastSyncItSpec.scala (8 failures)
โโโ E2EFastSyncSpec.scala (3 failures)
src/it/scala/com/chipprbots/ethereum/consensus/mess/
โโโ MESSIntegrationSpec.scala (3 failures)
Quick Commands¶
Run Failed Tests Locally¶
# Run specific test suite
sbt "testOnly com.chipprbots.ethereum.sync.E2EStateTestSpec"
# Run all integration tests
sbt IntegrationTest/test
# Run comprehensive suite (same as nightly)
sbt testComprehensive
Check Timeout Configuration¶
Find MPT Node Issues¶
Investigation Checklist¶
- Check PeerRequestHandler timeout (currently 5000ms)
- Verify test database initialization
- Review mock peer response setup in tests
- Profile test execution time (CI vs local)
- Check state trie node population in test fixtures
- Review MESS chain selection algorithm
- Update ethereum/tests submodule if needed
- Add diagnostic logging for peer requests
Related Documentation¶
- Full Analysis:
docs/troubleshooting/NIGHTLY_RUN_ANALYSIS_2025-12-19.md - Tracking Doc:
docs/troubleshooting/FAILURE_TRACKING.md - Workflow:
.github/workflows/nightly.yml
Next Steps¶
- Create issues for each category in GitHub
- Assign to appropriate team members:
- State Sync โ Blockchain team
- MESS Consensus โ Consensus team
- Test Infrastructure โ QA team
- Start with Priority #1 (State Sync Timeouts)
- Re-run nightly tests after fixes
Created: 2025-12-19
Status: Analysis Complete, Remediation Pending
Log Source: Nightly workflow run #47