Skip to content

[Bug] 任务栏运行时AccessViolation崩溃 — NvmlDeviceGetPowerUsage #502

Description

@ladbyte

环境

  • LiteMonitor: v1.3.6
  • 系统: Windows 11 Pro, Build 26200
  • .NET: 8.0.28(也试过 8.0.20,一样崩)
  • 显卡: NVIDIA GeForce RTX 4060 Laptop GPU
  • 驱动: 32.0.16.1062(2026-06-22 刚更新到最新)

现象

软件在任务栏正常运行,几小时到一天内静默退出,无任何错误弹窗。LiteMonitor_Error.log 未生成。

崩溃详情(Windows 事件查看器)

System.AccessViolationException (0xc0000005):

Application: LiteMonitor.exe
CoreCLR Version: 8.0.2826.26413
.NET Version: 8.0.28

Exception Info: System.AccessViolationException
Attempted to read or write protected memory.

Stack:
   at LibreHardwareMonitor.Interop.NvidiaML.NvmlDeviceGetPowerUsage(NvmlDevice)
   at LibreHardwareMonitor.Hardware.Gpu.NvidiaGpu.Update()
   at LiteMonitor.src.SystemServices.HardwareMonitor.UpdateAll()
   at System.Threading.ThreadPoolWorkQueue.Dispatch()

崩溃频率(5天内4次)

  • 2026-06-18 23:29
  • 2026-06-19 00:08
  • 2026-06-19 10:10
  • 2026-06-23 11:05

已尝试无效的方案

  • NVIDIA 驱动更新到最新 → 无效
  • 换用系统 .NET 8.0.28 → 无效

分析

崩溃点在 LibreHardwareMonitor 的 NVML native interop 层,应该是 GPU 电源状态切换时 NvmlDeviceGetPowerUsage
访问了无效内存。可能是 LibreHardwareMonitor 库跟较新 NVIDIA 驱动的兼容性问题。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions