opnsense / opnsense/src

Hyper-V: Kernel panic on AMD Zen2 when dynamically loading a kernel module with more than 1 vCPU configured (e.g. hv_hid or mounting nullfs or unionfs)

Open
#297 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

upstream
Dominant language
C
Stars
505
Forks
202
PR merge metrics
No merged PRs in 30d

Description

Important notices

Before you add a new report, we ask you kindly to acknowledge the following:

Describe the bug

When installing or booting OPNsense 26.7 RC1 on Hyper-V it panics when unionfs or nullfs is mounted.

This happens when 2 or more vCPUs are configured. With 1 vCPU these issues do not happen.

This can happen during boot of the live installer image (unionfs) or when the installation succeeds e.g. if Unbound starts (nullfs).

The hv_hidkernel module can also cause kernel crashed during boot with 2vCPUs.

To Reproduce

Steps to reproduce the behavior:

  • Configure a Hyper-V VM with 2 vCPUs and boot and installed OPNsense 26.7 RC1 system
  • Ensure Unbound is disabled during boot
  • execute this command mount -r -t nullfs /usr/local/lib/python3.13 /mnt (just an example, can be anything really)
  • System panics when mounting nullfs

Screenshots
Image

There is an upstream report about this CPU behavior and Hyper-V, but no connection to mounting a temporary filesystem:

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291577

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the panic on an AMD Zen2 Hyper-V VM running OPNsense 26.7 RC1 with 2+ vCPUs, using the nullfs mount command or loading unionfs or hv_hid. Read the linked FreeBSD report 291577 alongside the panic screenshot and compare behavior with one vCPU. Done means the affected module-loading or filesystem scenarios no longer panic with multiple vCPUs.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.