[Bug]: WiFi saturation on wireless host node / WLAN driver deadlock
Los mantenedores suelen responder en 5 días
Evaluación
Este issue todavía no se ha evaluado.
Descripción
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.
- Lenguaje dominante
- Go
- Estrellas
- 1.6k
- Forks
- 266
- Merge medio
- 3 d 15 h
- PR fusionados (30 d)
- 23
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de NVIDIA/Personal-AI-Router
-
enhancement
Dificultad 4/5 Más de una semana Aptitud para principiantes 12/100
NVIDIA/Personal-AI-Router#162 ·
Los mantenedores suelen responder en 5 días
-
enhancement
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
NVIDIA/Personal-AI-Router#154 · 1 comentario ·
Los mantenedores suelen responder en 5 días
-
[Feature]: [Ollama] Alert the user about model pull failuresPosiblemente ocupada @ckelseynv la tomó hace 2 días. Abiertoenhancement
Dificultad 3/5 1-2 días Aptitud para principiantes 56/100
NVIDIA/Personal-AI-Router#152 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 5 días
-
[Bug]: /v1/responses bypasses model-owner filtering in the Ollama proxyPosiblemente ocupada @ilaigold la tomó hace 3 días. Abierto
Dificultad 3/5 Medio día Aptitud para principiantes 84/100
NVIDIA/Personal-AI-Router#146 ·
Los mantenedores suelen responder en 5 días
-
Make model download cancellation asynchronousPosiblemente ocupada @ckelseynv la tomó hace 19 días. Abiertoenhancement
NVIDIA/Personal-AI-Router#115 · 1 asignado ·
Los mantenedores suelen responder en 5 días
Todos los issues de NVIDIA/Personal-AI-Router
Issues similares
-
product/backlog
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
TencentBlueKing/bk-nodemgr#3645 ·
Los mantenedores suelen responder en 1 día
-
docs(prompt): filer socket fragment hardcodes an issue-intent cap of 8 that Chore runs overrideAbiertoagent-butler-finding chore
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
jordansmall/spindrift#5128 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 84/100
Los mantenedores suelen responder en 2 días
-
License GOtome under Apache 2.0 instead of AGPL-3.0Posiblemente ocupada @praetorianer777 la tomó hoy. Abiertoarea:workflow documentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
praetorianer777/GoTome#212 ·
Los mantenedores suelen responder en 1 día
-
ci: pin Go version in Build and Unit Test workflows (>=1.26.6 floats to 1.27.2 and breaks golangci-lint)Posiblemente ocupada @leninmehedy la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 87/100
hashgraph/solo-weaver#1255 ·
Los mantenedores suelen responder en 1 día