[Bug]: WiFi saturation on wireless host node / WLAN driver deadlock
@sherief-nv がすでに取り組んでいます。
2026年9月10日 から。
評価
この issue はまだ評価されていません。
説明
PAIR version or commit
0.1.1 (0.1.1.463)
Affected component
Desktop application
Environment
OS: macOS 26.6.2 (25G83) on affected node (wireless host); peers run macOS (current)
Architecture: arm64 (Apple Silicon, Mac16,8) on all nodes
GPU and driver: Affected node — Apple Silicon integrated GPU (no NVIDIA GPU). WLAN driver: com.apple.DriverKit-AppleBCMWLAN (system DriverKit extension). Peers — Apple Silicon integrated GPUs.
Engine and version: PAIR 0.1.1 (0.1.1.463, com.nvidia.nvpair); engines: LM Studio 0.4.24 (headless llmster daemon) + Ollama on all nodes
Model: N/A on affected node (no model loaded); issue occurs with cluster idle — no inference running
Cluster size: 5 nodes (4 on wired Ethernet, 1 on WiFi — the affected host is the only wireless node)
Steps to reproduce
- Set up a 5-node PAIR cluster: 4 nodes on Ethernet, 1 node on WiFi. Pair and trust all nodes.
- Leave the cluster idle (no model loads, no jobs).
- On the WiFi node, launch PAIR and leave it running for 8–10 minutes.
- From the WiFi node, ping the local gateway continuously (1/s) while PAIR runs.
- Observe latency for ~10 minutes, then quit PAIR and keep pinging.
Expected behavior
The wireless host's network stays healthy while PAIR runs: gateway latency stays in the single-digit
milliseconds with 0% loss, on any SSID. Cluster background traffic (discovery, sync, health polls)
should not meaningfully degrade the host's connectivity.
Actual behavior
After ~8 minutes of PAIR running on the wireless host, gateway latency explodes in continuous bursts
regardless of which SSID is selected:
Healthy (PAIR just launched): 3–12 ms, 0% loss
Degraded (after ~8 min): bursts up to 1,441 ms (also 1,169 / 1,118 / 1,085 / 1,048 ms...),
internet pings degrade in mirror -> bottleneck is the local link
Quit PAIR: instant recovery to 3–7 ms, 0% loss (reproduced twice)
In a worst case the same day, the WLAN driver itself wedged and was killed by macOS:
com.apple.DriverKit-AppleBCMWLAN crashed (SIGABRT, thread "WLANDextWatchdogDQ") with stack
IO80211DeadlockPolice::handleDextWatchdogTimer() -> DriverKit panic -> abort() —
a hard WiFi outage until the dext restarted. This was the only WLAN crash in 72h and never
reproduced outside PAIR execution.
Sanitized logs or screenshots
1) Ping timeline (gateway, 1/s, local times)
11:48–11:55 PAIR running, healthy: 3–12 ms
11:56–11:58 PAIR running, degraded: sustained bursts 300–1,441 ms; 0 timeouts
11:58 PAIR quit -> recovery within one ping sample
2) PAIR cluster traffic during the degraded window (from nvpair.jsonl, 5 minutes):
~750 "cluster:trust-changed" events
~165 remote engine-status polls
~38 mDNS discovery cycles
i.e. cluster writes fan-out to 4 peers every ~500 ms + multicast discovery, with
zero PAIR-side errors (peers kept responding — the radio link itself saturated).
3) WLAN driver crash report (worst case, same day):
Process: com.apple.DriverKit-AppleBCMWLAN (system DriverKit extension)
Termination: SIGABRT (abort() called), thread "WLANDextWatchdogDQ"
Crash stack (top frames):
libsystem_kernel.dylib __pthread_kill
libsystem_pthread.dylib pthread_kill
libsystem_c.dylib abort
DriverKit panic
IO80211DriverKit IO80211DeadlockPolice::handleDextWatchdogTimer() (.cold.1)
IO80211DriverKit IO80211DeadlockPolice::handleDextWatchdogTimer()
IO80211DriverKit IO80211DQTimer::TimeOutOccurred_Impl(OSAction*, unsigned long long)
DriverKit IOTimerDispatchSource::TimerOccurred_Invoke(...)
Last DISASSOC logged ~35 s after crash capture; cascade of re-associations followed.
4) Ruled out:
- PAIR installs no kernel/network system extension (pure userspace: app + launchd helper
listening on no port + userspace proxies). Helper CPU ~0% at rest.
- No interface errors on the wireless interface all day (0 Ierrs/Oerrs).
- Issue does not occur on the 4 wired nodes (identical PAIR versions).
Confirmations
- I searched existing issues for duplicates.
- This is not a security vulnerability.
- I agree to follow the Code of Conduct.
- 主要言語
- Go
- スター
- 1.4k
- フォーク
- 250
- 平均マージ
- 23時間 27分
- マージ済み PR(30日)
- 1
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
NVIDIA/Personal-AI-Router のほかの issue
-
bug
難易度 4/5 3〜5日 初心者へのやさしさ 55/100
NVIDIA/Personal-AI-Router#94 · コメント 1 件 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 74/100
NVIDIA/Personal-AI-Router#92 · コメント 1 件 ·
-
NVIDIA/Personal-AI-Router#91 · 担当者 1 名 ·
-
enhancement
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
NVIDIA/Personal-AI-Router#85 · コメント 1 件 ·
-
NVIDIA/Personal-AI-Router#84 · コメント 2 件 · 担当者 1 名 ·
NVIDIA/Personal-AI-Router の issue をすべて見る
似ている issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 92/100
milvus-io/birdwatcher#545 ·
-
kind/bug
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
kubernetes-sigs/prow#953 · コメント 1 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
caddyserver/caddy#8046 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
jaegertracing/jaeger#9588 ·