Troubleshooting

Common Issues

Node Not Syncing

Symptoms:

  • catching_up: true persists

  • Block height not increasing

  • No peers connected

Diagnosis:

# Check sync status
curl -s http://localhost:26657/status | jq '.result.sync_info'

# Check peers
curl -s http://localhost:26657/net_info | jq '.result.peers | length'

# View logs
sudo journalctl -u evmd -f --output cat | grep -i error

Solutions:

# 1. Check persistent peers configuration
grep persistent_peers $HOME/.evmd/config/config.toml

# 2. Add more peers
PEERS="<node_id>@<ip>:26656,<node_id2>@<ip2>:26656"
sed -i.bak "s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.evmd/config/config.toml

# 3. Restart node
sudo systemctl restart evmd

# 4. If still not syncing, use state sync (faster)
# Get trust height and hash from a synced node
TRUST_HEIGHT=$(curl -s http://rpc-endpoint:26657/block | jq -r '.result.block.header.height')
TRUST_HEIGHT=$((TRUST_HEIGHT - 1000))  # Use height ~1000 blocks ago for safety
TRUST_HASH=$(curl -s http://rpc-endpoint:26657/block?height=$TRUST_HEIGHT | jq -r '.result.block_id.hash')

echo "Trust Height: $TRUST_HEIGHT"
echo "Trust Hash: $TRUST_HASH"

# Edit config.toml with these values
[statesync]
enable = true
rpc_servers = "http://rpc1.example.com:26657,http://rpc2.example.com:26657"
trust_height = $TRUST_HEIGHT
trust_hash = "$TRUST_HASH"
trust_period = "168h0m0s"  # 7 days (must be less than unbonding period of 21 days)

# Then restart the node
sudo systemctl restart evmd

Validator Jailed

Symptoms:

  • Validator status shows jailed: true

  • Not signing blocks

  • Alerts triggered

Diagnosis:

Solutions:

Genesis Compatibility Issues

Symptoms:

  • Node fails to start with genesis validation errors

  • Errors like invalid CreatorSplit: invalid decimal string

  • Genesis parameter format incompatibilities

Diagnosis:

Solutions:

Consensus Failure Recovery

Double Sign Prevention

If you suspect double signing:

State Corruption

Symptoms:

  • Node crashes on startup

  • Database errors in logs

  • Inconsistent state errors

Recovery:

Log Analysis

Useful Log Patterns

Next Steps

Last updated