[Bug]: nvpair-tui panics (index out of range) in Nodes table renderer on first node discovery
維護者通常 5 天內回覆
@Noah-Tervalon-Nvidia 已經在處理了。
開始於 2026年9月11日。
評估
這個 Issue 還沒有評估資料。
描述
Summary
nvpair-tui panics with an index out of range error in the Nodes-tab table renderer shortly after starting, once it discovers at least one node on the network. The panic is unrecoverable and kills the TUI (bubbletea's panic recovery catches it and shuts down cleanly, but the interface exits rather than staying usable).
Environment
- PAIR version: 0.1.1 (
NVPAIR-Setup-0.1.1-amd64.deb) - OS: Linux Mint 22.3 "Zena" (Ubuntu 24.04 Noble base), x86_64
- Install method: official
.debpackage (sudo apt install ./NVPAIR-Setup-0.1.1-amd64.deb) - Invoked via:
nvpair(the installed CLI wrapper, which execs/opt/PAIR/resources/cli-bin/nvpair-tui), run over SSH in a fresh tmux session (no desktop app running at the same time)
Steps to reproduce
- Install the
.debrelease on a machine with at least one Ollama or LM Studio engine reachable on the LAN. - Run
nvpair(ornvpair-tuidirectly) from a terminal — no$DISPLAY, purely headless/SSH. - Wait for it to discover a node on the network (its own local node, or another one).
- The TUI panics and exits within a few seconds of a node appearing.
Actual behavior
Caught panic:
runtime error: index out of range [0] with length 0
Restoring terminal...
goroutine 1 [running]:
runtime/debug.Stack()
runtime/debug/stack.go:26 +0x5e
runtime/debug.PrintStack()
runtime/debug/stack.go:18 +0x13
github.com/charmbracelet/bubbletea.(*Program).recoverFromPanic(0x37925edde3c0, {0x5f70c0, 0x37925edd0108})
github.com/charmbracelet/[email protected]/tea.go:847 +0xac
github.com/charmbracelet/bubbletea.(*Program).Run.func2()
github.com/charmbracelet/[email protected]/tea.go:638 +0x10c
panic({0x5f70c0?, 0x37925edd0108?})
runtime/panic.go:860 +0x13a
github.com/charmbracelet/bubbles/table.(*Model).renderRow(0x37925ee54010, 0x0)
github.com/charmbracelet/[email protected]/table/table.go:431 +0x7a5
github.com/charmbracelet/bubbles/table.(*Model).UpdateViewport(0x37925ee54010)
github.com/charmbracelet/[email protected]/table/table.go:279 +0x135
github.com/charmbracelet/bubbles/table.(*Model).SetRows(...)
github.com/charmbracelet/[email protected]/table/table.go:315
nvpair-tui/ui.(*nodesView).setNodes(0x37925ee54008, {0x37925edb2960, 0x1, 0x5c3680?})
nvpair-tui/ui/nodes.go:193 +0x37f
nvpair-tui/ui.(*nodesView).Update(0x37925ee54008, {0x5da820?, 0x37925edb2900})
nvpair-tui/ui/nodes.go:111 +0x108
nvpair-tui/ui.(*Model).broadcast(0x37925f01b6e8, {0x5da820, 0x37925edb2900})
nvpair-tui/ui/model.go:158 +0xcd
nvpair-tui/ui.Model.Update({0x37925edd4190, 0x37925edc9260, {{{0x37925edacf60, 0x3, 0x3}, {{...}, {...}}, 0x0}, {{0x37925edacf90, 0x3, ...}, ...}, ...}, ...)
nvpair-tui/ui/model.go:108 +0xd7
github.com/charmbracelet/bubbletea.(*Program).eventLoop(0x37925edde3c0, {0x621940?, 0x37925ee34008?}, 0x37925ed9a310)
github.com/charmbracelet/[email protected]/tea.go:494 +0x7ce
github.com/charmbracelet/bubbletea.(*Program).Run(0x37925edde3c0)
github.com/charmbracelet/[email protected]/tea.go:716 +0xae7
nvpair-tui/ui.Run(0x37925edd4190, {0x620c40, 0x37925ed820d0})
nvpair-tui/ui/ui.go:26 +0x145
main.main()
nvpair-tui/main.go:73 +0x419
13:43:29.800 [nvpair-tui] ERROR ui error err="program was killed: program experienced a panic"
13:43:29.816 [nvpair-tui] INFO shutdown complete
Expected behavior
The Nodes tab should render the discovered node(s) without crashing.
Notes
The trace points at nodesView.setNodes (ui/nodes.go:193) calling into bubbles/table's SetRows/UpdateViewport/renderRow, which panics on a table with zero configured rows/columns receiving row data — looks like the nodes table's columns/dimensions aren't initialized before the first setNodes call lands from broadcast. Didn't find an existing issue for this via search, apologies if it's a duplicate.
Happy to provide more logs/details if useful.
- 主要語言
- Go
- 星號
- 1.6k
- 分支
- 266
- 平均合併
- 3 天 6 小時
- 30 天內合併 PR
- 22
環境準備
- 沒有 Dockerfile 或 Docker Compose 檔案
- 有 Pull Request 範本
- 閱讀貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
NVIDIA/Personal-AI-Router 的其他 Issue
-
難度 5/5 一週以上 新手友好度 20/100
NVIDIA/Personal-AI-Router#165 ·
維護者通常 5 天內回覆
-
bug
難度 4/5 3-5 天 新手友好度 46/100
NVIDIA/Personal-AI-Router#164 ·
維護者通常 5 天內回覆
-
enhancement
難度 4/5 一週以上 新手友好度 12/100
NVIDIA/Personal-AI-Router#162 ·
維護者通常 5 天內回覆
-
enhancement
難度 4/5 3-5 天 新手友好度 25/100
NVIDIA/Personal-AI-Router#154 · 1 則留言 ·
維護者通常 5 天內回覆
-
[Feature]: [Ollama] Alert the user about model pull failures可能已有人在做 @ckelseynv 於 4 天前認領。 未關閉enhancement
難度 3/5 1-2 天 新手友好度 56/100
NVIDIA/Personal-AI-Router#152 · 1 則留言 · 已指派 1 人 ·
維護者通常 5 天內回覆
查看 NVIDIA/Personal-AI-Router 的全部 Issue
相似的 Issue
-
bug
難度 2/5 1-3 小時 新手友好度 62/100
chaitin/agent-compose#770 ·
維護者通常 1 天內回覆
-
難度 1/5 1 小時以內 新手友好度 85/100
維護者通常 1 天內回覆
-
kind/bug
難度 1/5 1-3 小時 新手友好度 85/100
kubernetes-sigs/vsphere-csi-driver#4351 ·
維護者通常 1 天內回覆
-
component/gpu-kubelet-plugin component/helm needs-triage
難度 2/5 1-3 小時 新手友好度 62/100
kubernetes-sigs/dra-driver-nvidia-gpu#1559 ·
維護者通常 1 天內回覆
-
workflow: redundant goroutine in scheduleRetry可能已有人在做 @moodbased 今天認領。 未關閉
難度 2/5 1-3 小時 新手友好度 70/100
維護者通常 2 天內回覆