[Bug]: Host BSOD 0xCA PNP_DETECTED_FATAL_ERROR in VBoxUSBMon during USB hot-plug

未關閉
#958 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

維護者通常 6 天內回覆

還沒有人認領這個 Issue。

評估

難度
4/5
預估耗時
3-5 天
新手友好度
38/100
Issue 類型
缺陷
描述清晰度
基本清楚
活躍度
活躍
技術堆疊
c

研究方向

Start by reviewing the attached WinDbg report and the related issue #927, then trace the VBoxUSBMon.sys path around the reported offset and its call to IoGetDevicePropertyData. Reproduce USB hot-plug on a Windows 11 host with VBoxUSBMon enabled and inspect the device object lifecycle. Done means hot-plug no longer causes PNP_DETECTED_FATAL_ERROR (0xCA), including with the reported hub and devices.

由索引模型根據 Issue 內容生成。

描述

bug
Version

7.2.22

Host OS Type

Windows

Host OS name + version

Windows 11 Enterprise 24H2, Build 26100.x

Host Architecture

x86

Guest OS Type

Linux

Guest Architecture

x86

Guest OS name + version

Ubuntu 24.04 LTS

Component

USB and Serial Ports

What happened?

This appears closely related to #927.

Unlike the original report, I reproduced the issue with VirtualBox 7.2.22 and different USB devices. Disabling VBoxUSBMon prevents reproduction so far.

WinDbg_VBox_7.2.22.txt

The Windows host reproducibly crashes during USB hot-plug with:

PNP_DETECTED_FATAL_ERROR (0xCA), Arg1 0x2 (Invalid PDO)

The crashes occurred when connecting different USB devices (USB-UART and USB-Ethernet) through a Lenovo ThinkVision USB hub / Lenovo docking station.

WinDbg reports:

IMAGE_NAME: VBoxUSBMon.sys
SYMBOL_NAME: VBoxUSBMon+3dc3
FAILURE_BUCKET_ID: 0xCA_2_VBoxUSBMon!unknown_function

Relevant stack:

nt!KeBugCheckEx
nt!IoGetDevicePropertyData+0x9b
VBoxUSBMon+0x3dc3

The affected device object belongs to:

\Driver\USBHUB3

The same failure was previously reproduced with VirtualBox 7.2.14. Updating to 7.2.22 did not resolve it.

As an A/B test, I disabled VBoxUSBMon and rebooted. I then repeatedly connected and disconnected the same USB devices through the ThinkVision USB hub and docking station without another crash.

Expected behavior: USB hot-plug on the Windows host must not cause a host OS bugcheck, regardless of whether VirtualBox is running.

How can we reproduce this?
  1. Run VirtualBox 7.2.22 on a Windows 11 Enterprise 24H2 host, Build 26100.x.
  2. Ensure VBoxUSBMon is enabled and running.
  3. Connect the host through a docking station / monitor with an integrated USB hub.
  4. Start a VirtualBox VM.
  5. Hot-plug a USB device, e.g. USB-Ethernet or USB-UART, into the downstream USB hub.
  6. The Windows host may crash with PNP_DETECTED_FATAL_ERROR (0xCA), Arg1 0x2.
  7. WinDbg !analyze -v identifies VBoxUSBMon.sys.

Workaround / A/B test:

sc.exe config VBoxUSBMon start= disabled

After rebooting, VBoxUSBMon reports Stopped / Disabled. The same USB hot-plug operations have not reproduced the crash so far.

Re-enabling VBoxUSBMon is therefore currently avoided.

Did you upload all of your necessary log files, screenshots, etc.?
  • Yes, I've uploaded all pertinent files to this issue.
主要語言
C
星號
1.4k
分支
219
PR 合併指標
30 天內沒有已合併 PR

環境準備

  • 沒有 Dockerfile 或 Docker Compose 檔案
  • 沒有 Pull Request 範本
  • 閱讀貢獻指南

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

VirtualBox/virtualbox 的其他 Issue

查看 VirtualBox/virtualbox 的全部 Issue

相似的 Issue

更多 C Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。