Skip to main content

Nibiru Troubleshooting Guide

This guide helps you diagnose and resolve common issues with your Nibiru node.

Quick Diagnostics​

Before diving into specific issues, run this diagnostic script:

quick-diagnostics.sh
#!/bin/bash
echo "=== Nibiru Node Diagnostics ==="
echo ""

# Check if service is running
echo "1. Service Status:"
systemctl is-active nibid && echo "✅ Service is running" || echo "❌ Service is not running"
echo ""

# Check disk space
echo "2. Disk Space:"
df -h | grep -E "^/dev|Filesystem"
echo ""

# Check memory
echo "3. Memory Usage:"
free -h
echo ""

# Check peers
echo "4. Connected Peers:"
curl -s localhost:26657/net_info | jq .result.n_peers 2>/dev/null || echo "❌ Cannot connect to RPC"
echo ""

# Check sync status
echo "5. Sync Status:"
curl -s localhost:26657/status | jq .result.sync_info.catching_up 2>/dev/null || echo "❌ Cannot get sync status"
echo ""

# Check recent errors
echo "6. Recent Errors (last 20):"
journalctl -u nibid --no-pager | grep -i error | tail -20

Common Issues and Solutions​

1. Node Won't Start​

Symptoms:

  • Error: listen tcp :26656: bind: address already in use

Solution:

# Find process using the port
sudo lsof -i :26656

# Kill the process (replace PID with actual process ID)
sudo kill -9 PID

# Or change the port in config
sed -i 's/:26656/:26756/g' ~/.nibid/config/config.toml

2. Sync Issues​

Symptoms:

  • Block height not increasing
  • catching_up: true for extended period

Solution:

# 1. Check if you have peers
curl -s localhost:26657/net_info | jq .result.n_peers

# 2. If no peers, add seeds/peers
SEEDS="a431d3d1b451629a21799963d9c64c17726b8c96@seed-1.nibiru.fi:26656,6a78a2a5f19c93661a493ecbe69afc72b5c54117@seed-2.nibiru.fi:26656"
PEERS="37713248f21c37a2f022fbbb7228f02862224190@35.243.130.198:26656,ff59bff2d8b8fb6114191af7063e92a9dd637bd9@35.185.114.96:26656"

sed -i "s/seeds = \"\"/seeds = \"$SEEDS\"/g" ~/.nibid/config/config.toml
sed -i "s/persistent_peers = \"\"/persistent_peers = \"$PEERS\"/g" ~/.nibid/config/config.toml

# 3. Restart the node
sudo systemctl restart nibid

# 4. If still stuck, try state sync or snapshot restore

3. High Resource Usage​

Symptoms:

  • CPU constantly at 100%
  • Node becomes unresponsive

Solution:

# 1. Check what's consuming CPU
top -p $(pgrep nibid)

# 2. Reduce mempool size
sed -i 's/size = 5000/size = 1000/g' ~/.nibid/config/config.toml

# 3. Disable unnecessary features
# In ~/.nibid/config/config.toml:
# index_all_keys = false
# prometheus = false

# 4. Restart with limits
sudo systemctl edit nibid
# Add:
# [Service]
# CPUQuota=80%

4. Validator Issues​

Symptoms:

  • Node shows as jailed
  • double sign errors in logs

Solution:

# 1. Stop the node immediately
sudo systemctl stop nibid

# 2. Check validator status
nibid query staking validator $(nibid keys show wallet --bech val -a)

# 3. Wait for unjailing period (usually 10 minutes)
# Check if you can unjail
nibid tx slashing unjail --from wallet --chain-id nibiru-itn-1 --gas-prices 0.025unibi --gas auto --gas-adjustment 1.5

# 4. Ensure you have only one validator running
# Remove duplicate nodes or fix key management

5. Network Issues​

Symptoms:

  • Peer count is 0
  • Cannot sync with network

Solution:

# 1. Check firewall settings
sudo ufw status
sudo ufw allow 26656/tcp

# 2. Add seed nodes
sed -i 's/seeds = ""/seeds = "a431d3d1b451629a21799963d9c64c17726b8c96@seed-1.nibiru.fi:26656"/g' ~/.nibid/config/config.toml

# 3. Clear peer store
sudo systemctl stop nibid
rm -rf ~/.nibid/data/peerstore.db
sudo systemctl start nibid

# 4. Check network connectivity
ping seed-1.nibiru.fi

Performance Optimization​

System Tuning​

# Increase file descriptors
echo "fs.file-max = 65535" | sudo tee -a /etc/sysctl.conf
ulimit -n 65535

# Optimize for SSD
echo "madvise" | sudo tee /sys/kernel/mm/transparent_hugepage/enabled

# Network optimization
echo "net.core.rmem_default = 262144" | sudo tee -a /etc/sysctl.conf
echo "net.core.rmem_max = 16777216" | sudo tee -a /etc/sysctl.conf

sudo sysctl -p

Database Optimization​

# Enable pruning to save disk space
# In ~/.nibid/config/app.toml:
# pruning = "default"
# pruning-keep-recent = "100"
# pruning-keep-every = "0"
# pruning-interval = "10"

# Increase cache
# cache = 50000

# Use faster database backend
# db_backend = "pebbledb"

Emergency Procedures​

Complete Reset​

# WARNING: This will delete all local data
sudo systemctl stop nibid
nibid tendermint unsafe-reset-all
sudo systemctl start nibid

Backup and Restore​

# Create backup
sudo systemctl stop nibid
tar -czf nibiru-backup-$(date +%Y%m%d).tar.gz ~/.nibid
sudo systemctl start nibid

# Restore from backup
sudo systemctl stop nibid
rm -rf ~/.nibid
tar -xzf nibiru-backup-YYYYMMDD.tar.gz -C ~/
sudo systemctl start nibid

Getting Help​

If you're still experiencing issues:

  1. Check the logs: journalctl -u nibid -f
  2. Visit the documentation: Nibiru Docs
  3. Join the Discord: Nibiru Discord
  4. Search GitHub issues: Nibiru Issues

When asking for help, always include:

  • Your OS and version
  • Node version: nibid version
  • Error logs from the last 50 lines: journalctl -u nibid -n 50
  • Your node status: curl -s localhost:26657/status | jq .result.sync_info