Fixes
-
gpu: Fixed a crash on hosts with Intel GPUs. Reading certain hwmon sysfs
attributes (e.g.fan1_input) can make the kernel surface a
TypeError: can't concat NoneType to bytesfromfh.read()instead of an
OSError.read_text()only caughtOSError, so the exception propagated up
throughsample()→_tick_body→tickand killed the TUI after running
for a while.read_text()now degrades toNoneon any read error — it is the single
choke point for every sysfs string/int read and must never raise.GpuProvider.sample()now degrades to an unavailable snapshot if any backend
read raises unexpectedly, so one flaky read can no longer crash the tick loop.
Both layers are covered by new regression tests.
To upgrade: pip install -U vllmstat