Understanding common errors and their solutions helps maintain a healthy node operation.Documentation Index
Fetch the complete documentation index at: https://seilabs.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Common Error Codes
Here are the most frequent errors you might encounter and their solutions:Consensus Errors
When you encounter consensus errors, quick and appropriate action is essential:Network Errors
Network errors can prevent your node from participating in consensus:Database Errors
Database corruption can require immediate attention:Diagnostic Commands
These commands help you investigate issues and monitor your node:AppHash Mismatch Errors
If you encounter an AppHash mismatch, you’ll need to capture the state for comparison with a known good version:Identifying AppHash Errors
AppHash errors typically appear in logs as:- Using incorrect node version during sync (ensure you’re on the latest version)
- Corrupted or incorrectly applied snapshots
- Database inconsistencies from improper shutdowns
- Syncing with outdated or incompatible peers
- Stop the node immediately.
- Try a node rollback first:, see here
-
If rollback fails, restore from a fresh snapshot:
- Download a recent snapshot from trusted providers (Polkachu, PublicNode)
- Ensure you’re using the correct node version
- Verify peer configurations are up to date
- Restart the node and monitor logs for continued errors
Peer Connection Issues as AppHash Red Herrings
Important Note: Peer connection failures are often symptoms of underlying AppHash errors, not the root cause. When you see extensive peer connection errors like:- Scan your logs carefully for AppHash errors that may appear intermittently
- Look for the actual error pattern:
- Check if your node is stuck at a specific height despite peer connection attempts
- AppHash mismatches prevent proper block validation
- Node cannot advance to new blocks due to state inconsistency
- Peers may reject connections from nodes with corrupted state
- Network appears to be the problem when it’s actually a local state issue
- First, check for AppHash errors in your logs (search for “wrong Block.Header.AppHash”)
- If AppHash errors are found, treat this as the primary issue
- Only focus on peer connection fixes if no AppHash errors exist
Peer Connection and Handshake Issues
Identifying Peer Issues: Look for these error patterns in your logs:- Outdated peer configurations with mismatched node IDs
- Network infrastructure changes on peer side
- Firewall blocking connections on port 26656
- DNS resolution issues
-
Update peer configurations with current node IDs (the embed below shuffles fresh
persistent_peersforconfig.toml; click Shuffle to redraw, Copy to grab the line): -
Verify network connectivity:
-
Check current peer status:
Sync Performance Issues
Identifying Sync Problems: Monitor these indicators:-
Increase packet payload size for large block processing:
-
Optimize mempool settings in
config.toml: -
If node gets stuck at specific height:
- Try restarting the node
- If restart doesn’t help, perform rollback
- Consider taking a fresh snapshot
- Current height not increasing over time
- Increasing lag between current height and max peer height
- Repeated timeout errors in logs
- Mempool size consistently reaching limits
Crash and Panic Debugging
For crashes, panics, or nil pointer exceptions:- Capture at least 1,000 lines of logs leading up to the crash
- Or collect 15 minutes of log data, whichever provides more context
- Include the full stack trace if available
Logging Configuration
Proper logging configuration is essential for debugging and monitoring:Other common Issues and Fixes
-
Sync Problems
- Check available disk space (
df -h) - Ensure proper peer connections (
curl http://localhost:26657/net_info) - Verify firewall settings (port 26656 open)
- Check available disk space (
-
Performance Issues
- Monitor system resources (
htoporiotop) - Check disk I/O performance (
iostat) - Analyze network traffic (
iftop)
- Monitor system resources (
-
Database Issues
-
Run database integrity checks using:
If errors are detected, consider restoring from a recent backup.
-
Consider pruning excessive historical data by adjusting
ss-keep-recentinapp.tomlor running:Alternatively, manually remove old state snapshots to free up space:
-
Run database integrity checks using:
Node Rollback
To rollback a node from an AppHashed state, you need to stop the node first. Do this in your preferred way. Next, do a rollback with:seid process directly in that case. If this doesn’t help, restart your machine.
Then try the rollback steps again.