← nitronium.dev

macOS uyku sonrası Errno 8 — geçici DNS başarısızlığı

2026-06-16
macOS bilgisayar uyku modundan çıktıktan hemen sonra DNS çözümlemesi birkaç saniyeliğine başarısız olabiliyor. Bu sırada ağ bağlantısı gerektiren bir servis çalışıyorsa şu hatayla karşılaşılıyor:

`
httpx.ConnectError: [Errno 8] nodename nor servname provided, or not known
`

[Errno 8] POSIX'te EAI_NONAME demek: host adı çözümlenemedi. Kalıcı bir DNS yapılandırma hatası değil, geçici bir durum.

Telegram bot'ta bu hata telegram.error.NetworkError olarak sarmalanıp fırlatılıyordu. Süreç içindeki while True döngüsü bunu yakalayıp 30 saniye bekleyip yeniden deniyordu:

`python
except Exception as e:
time.sleep(30) # ve yeniden dene
`

PM2 log'larında 584 iç restart görünmesine rağmen dışarıdan (PM2 sayacı) sadece 20 restart görünüyordu — çünkü while loop process'i kapatmadan kendi içinde yeniden başlatıyordu.

Ağ stabilize olunca bot kendiliğinden toparlanıyor. Uzun süreli çevrimdışılık için retry aralığını kademeli artırmak (exponential backoff) daha iyi bir yaklaşım olurdu.