Skip to main content

🔧 Debugging & Troubleshooting

Top 10 Masalah Umum

1. Miner Tidak Menerima Query

Gejala: Log menunjukkan miner berjalan, tapi tidak ada query masuk.

Penyebab:

  • Port axon (8091) tidak terbuka
  • Firewall memblok koneksi
  • NAT/CGNAT dari ISP

Solusi:

# Cek apakah port terbuka
sudo ufw status
sudo ufw allow 8091/tcp

# Test dari luar (gunakan VPS/server lain)
nc -zv <your-ip> 8091

# Jika di belakang NAT, gunakan tunnel
# Lihat bagian ISP Indonesia di modul 4

2. CUDA Out of Memory

Gejala: Error RuntimeError: CUDA out of memory

Penyebab: Model terlalu besar untuk VRAM GPU.

Solusi:

# Cek penggunaan GPU
nvidia-smi

# Opsi 1: Kurangi batch size di config miner
# Opsi 2: Gunakan model quantized (4-bit/8-bit)
pip install bitsandbytes
# Dalam kode: model = AutoModel.from_pretrained(..., load_in_4bit=True)

# Opsi 3: Clear GPU cache
python3 -c "import torch; torch.cuda.empty_cache()"

3. Wallet Not Found

Gejala: Error Wallet not found at path...

Penyebab: Path wallet tidak sesuai atau virtual environment berbeda.

Solusi:

# Cek lokasi wallet
ls ~/.bittensor/wallets/

# Pastikan nama wallet benar
btcli wallet list

# Jika wallet di lokasi custom
btcli wallet list --wallet.path /path/to/wallets/

4. Registration Gagal

Gejala: Registration failed atau Not enough balance

Penyebab: TAO tidak cukup atau semua slot terisi.

Solusi:

# Cek balance
btcli wallet balance --wallet.name mywallet

# Cek biaya registrasi
btcli subnet register --netuid <ID> --wallet.name mywallet --wallet.hotkey miner1

# Alternatif: POW registration (gratis tapi lambat)
btcli subnet pow_register --netuid <ID> --wallet.name mywallet --wallet.hotkey miner1

5. Connection Timeout ke Subtensor

Gejala: ConnectionError atau Timeout saat konek ke chain.

Penyebab: Network issue atau endpoint subtensor bermasalah.

Solusi:

# Gunakan endpoint alternatif
btcli subnet list --subtensor.network finney
# atau
btcli subnet list --subtensor.chain_endpoint wss://entrypoint-finney.opentensor.ai:443

6. Python Dependency Conflicts

Gejala: ImportError atau versi package tidak cocok.

Penyebab: Environment Python tidak bersih.

Solusi:

# Buat environment baru
python3 -m venv ~/bittensor-fresh
source ~/bittensor-fresh/bin/activate

# Install ulang dari awal
pip install --upgrade pip
pip install bittensor
pip install -r requirements.txt

7. Miner Sering Restart / Crash

Gejala: Miner berhenti secara tiba-tiba dan sering.

Penyebab: Memory leak, OOM killer, atau bug di kode miner.

Solusi:

# Cek apakah OOM killer aktif
dmesg | grep -i "oom\|killed"

# Cek memory usage
free -h
watch -n 5 free -h # Monitor real-time

# Tambahkan swap jika RAM kurang
sudo fallocate -l 8G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

8. Weight Terus Menurun

Gejala: Ranking/weight miner terus turun di metagraph.

Penyebab: Kualitas response menurun atau kompetitor naik.

Solusi:

  • Update model ke versi terbaru
  • Cek log untuk error yang mungkin merusak quality
  • Benchmark response time vs kompetitor
  • Pertimbangkan pindah ke subnet yang lebih cocok

9. Deregistration

Gejala: Hotkey tidak lagi muncul di metagraph.

Penyebab: Weight terlalu rendah terlalu lama, atau subnet penuh dan digantikan miner baru.

Solusi:

# Cek apakah masih terdaftar
btcli subnet metagraph --netuid <ID> | grep <your-hotkey>

# Jika sudah deregistered, perlu register ulang
btcli subnet register --netuid <ID> --wallet.name mywallet --wallet.hotkey miner1

10. Log Tidak Informatif

Gejala: Log hanya menunjukkan info minimal, sulit debug.

Penyebab: Log level terlalu rendah.

Solusi:

# Jalankan miner dengan debug logging
python neurons/miner.py \
--wallet.name mywallet \
--wallet.hotkey miner1 \
--netuid <ID> \
--logging.debug \
--logging.trace # Paling detail

🔄 Alur Debugging

Gunakan alur berikut saat menemui masalah:


📋 Analisis Log

Lokasi Log

Metode RunningLokasi Log
Terminal langsungStdout di terminal
screenRe-attach: screen -r bittensor-miner
systemdjournalctl -u bittensor-miner -f
Dockerdocker logs -f <container>
File--logging.logging_dir /path/to/logs/

Log Level

LevelFlagKapan Digunakan
Info(default)Operasi normal
Debug--logging.debugTroubleshooting umum
Trace--logging.traceDebugging mendalam

Pola Log Penting

# Contoh log normal
[INFO] Miner started on port 8091
[INFO] Received query from validator 5Gx...abc
[INFO] Response sent in 2.3s
[INFO] Weight updated: 0.85

# Contoh log bermasalah
[ERROR] CUDA out of memory
[WARNING] Response timeout after 30s
[ERROR] Connection refused to subtensor
[WARNING] Trust score dropping: 0.45 -> 0.32

Tips Analisis Log

# Cari error di log
journalctl -u bittensor-miner --since "1 hour ago" | grep -i error

# Hitung jumlah error
journalctl -u bittensor-miner --since "1 day ago" | grep -ci error

# Lihat response time
journalctl -u bittensor-miner --since "1 hour ago" | grep "Response sent"

# Monitor real-time
journalctl -u bittensor-miner -f --no-pager

🌐 Debugging Koneksi Jaringan

Step-by-Step Network Debug

# 1. Cek koneksi internet dasar
ping -c 5 8.8.8.8

# 2. Cek DNS resolution
nslookup entrypoint-finney.opentensor.ai

# 3. Cek koneksi ke subtensor
curl -s -o /dev/null -w "%{http_code}" https://entrypoint-finney.opentensor.ai:443

# 4. Cek port lokal terbuka
ss -tlnp | grep 8091

# 5. Cek port dari luar (jalankan dari VPS/server lain)
nc -zv <your-public-ip> 8091

# 6. Cek latency ke validator (jika tahu IP-nya)
ping -c 10 <validator-ip>
traceroute <validator-ip>

🖥️ Troubleshooting GPU/CUDA

Diagnostic Commands

# Status GPU lengkap
nvidia-smi

# Monitor GPU real-time (refresh tiap 1 detik)
watch -n 1 nvidia-smi

# Cek CUDA version
nvcc --version

# Cek PyTorch CUDA support
python3 -c "import torch; print(f'CUDA available: {torch.cuda.is_available()}'); print(f'CUDA version: {torch.version.cuda}'); print(f'GPU: {torch.cuda.get_device_name(0)}')"

# Cek VRAM usage detail
python3 -c "import torch; print(f'Allocated: {torch.cuda.memory_allocated()/1e9:.1f} GB'); print(f'Reserved: {torch.cuda.memory_reserved()/1e9:.1f} GB')"

Masalah CUDA Umum

MasalahPenyebabSolusi
CUDA not availableDriver tidak terinstallsudo apt install nvidia-driver-535
CUDA version mismatchPyTorch & CUDA tidak cocokInstall PyTorch yang match dengan CUDA version
CUDA OOMVRAM penuhQuantize model, reduce batch size
CUDA error: device-side assertBug dalam kodeCek input data, tambahkan error handling
GPU tidak terdeteksiDriver issueReboot, reinstall driver

🇮🇩 Masalah Spesifik Indonesia

ISP Troubleshooting

# Cek public IP (apakah berubah?)
curl -s ifconfig.me
# Simpan dan bandingkan secara berkala

# Cek apakah di belakang CGNAT
# Jika IP dimulai dengan 10.x.x.x atau 100.64-127.x.x → CGNAT
curl -s ifconfig.me
ip addr show

# Test port forwarding
# Dari luar: nc -zv <public-ip> 8091
# Jika gagal → perlu tunnel (Ngrok/Cloudflare/VPS)

Masalah Listrik

# Script auto-restart setelah power outage
# Tambahkan ke crontab
crontab -e
# @reboot sleep 60 && systemctl start bittensor-miner

# Cek uptime (berapa lama sejak boot terakhir)
uptime

📚 Referensi Command

PerintahFungsi
btcli wallet listDaftar wallet
btcli wallet balanceCek balance
btcli subnet listDaftar subnet
btcli subnet metagraph --netuid <ID>Lihat state subnet
nvidia-smiStatus GPU
journalctl -u bittensor-miner -fLog miner (systemd)
screen -r bittensor-minerRe-attach screen
sudo ufw statusStatus firewall
ss -tlnpPort yang terbuka
free -hMemory usage
df -hDisk usage
htopProses dan resource monitor

Rangkuman

AreaTips Utama
DebuggingMulai dari log, lalu resources, lalu network
GPUSelalu monitor VRAM, jangan overload
NetworkCek port, firewall, dan NAT secara berurutan
IndonesiaISP dan listrik adalah masalah utama, siapkan mitigasi
Toolsnvidia-smi, journalctl, htop, ss adalah teman terbaik

Selanjutnya: Kinerja & Optimisasi →