Troubleshooting
Here, we walk through common issues you might face when running a validator on Analog.
1. Docker Container Issues
Symptom: Container fails to start
Possible Causes:
- Port conflicts (
30333/9944already in use) - Invalid volume mount path
- Missing
--validatorflag
Solutions:
-
Check for port conflicts:
lsof -i :30333 && lsof -i :9944 -
Verify volume path exists and has write permissions:
chmod -R 755 /path/to/data -
Ensure the
--validatorflag is included in thedocker runcommand.
2. Chain Synchronization Issues
Symptom: Node stuck at a block height
Possible Causes:
- Insufficient peers
- Corrupted chain data
- Warp Sync misconfiguration
Solutions:
-
Check peer count in logs:
docker logs [CONTAINER_ID] | grep "Discovered new peer" -
Restart with
Warp Sync:docker run ... --sync=warp -
Delete and resync chain data:
rm -rf /path/to/data/*
3. RPC Connection Failures
Symptoms:
author_rotateKeysreturnsConnection refused- Polkadot.js Apps fails to connect
Solutions:
A. Validate RPC Flags:
- Confirm
--unsafe-rpc-externaland--rpc-methods=unsafeare included in the Docker command.
B. Test RPC Endpoint:
curl -H "Content-Type: application/json" -d '{"id":1, "jsonrpc":"2.0", "method":"system_health"}' http://localhost:9944 - If no response, check the firewall rules or Docker network settings.
4. Validator Not Producing Blocks
Symptoms:
- Node is bonded but shows
0 authored blocksin Telemetry - "No slot leader" in logs
Solutions:
A. Session Key Mismatch:
- Regenerate and resubmit session keys:
echo '{"id":1,"jsonrpc":"2.0","method":"author_rotateKeys"}' | websocat -n1 ws://localhost:9944 Update keys via Polkadot.js Apps Network > Staking > Set Session Key.
B. Bonding/Payment Issues:
- Ensure the bonded amount meets the minimum requirement .
- Verify the reward destination account is valid (Network > Staking > Accounts>Stashed).
C. Timechain Alignment:
-
Check system clock synchronization:
timedatectl status | grep "System clock synchronized" -
Analog relies on precise timekeeping (6-second slots). Use NTP:
sudo apt install ntp; sudo systemctl restart ntp
5. Validator Not in Active Set
Symptoms:
- Node appears as "Waiting" in Telemetry
- No rewards after 12-hour nomination period
Solutions:
A. Stake Check:
- Ensure the total bonded stake (self + nominations) ranks among the top N validators.
B. Era Transition:
-
Validator sets update every 12 hours. Monitor era changes:
docker logs [CONTAINER_ID] | grep "New era"
C. On-Chain Identity:
- Register an on-chain identity (Developer > Extrinsics > identity.setIdentity) to increase visibility.
6. High Resource Usage
Symptoms:
- Node crashes with
Out of Memory - CPU usage >90% sustained
Solutions:
A. Hardware Requirements:
- Check that your hardware meets minimum requirements. For high nominations, scale vertically.
B. Limit Warp Sync Impact:
Warp Syncuses heavy I/O. After syncing, restart without--sync=warp.
C. Disable Non-Essential Services:
- Remove
--prometheus-externalif not monitoring.
7. Telemetry Not Reporting
Symptoms:
- Node missing from Analog Telemetry
- Logs show
Failed to submit telemetry
Solutions:
A. Node Name Flag:
- Confirm
--name 'YOUR_NODE_NAME'is set and unique.
B. Telemetry Endpoint:
- Ensure no corporate firewall blocks outbound traffic to
wss://telemetry.analog.one.