You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Bug]: Cloud Hypervisor kernels fail to start on macOS 27 (VZErrorDomain Code=1) #2360
If possible, I've reproduced the issue using the 'main' branch of this project
Steps to reproduce
On a Mac running macOS 27.0.1, download Cloud Hypervisor's arm64 kernel, Image-arm64, from the ch-release-v6.16.9-20261001 release.
Run:
container run --rm --kernel ./Image-arm64 alpine:3.20 uname -r
Problem description
The VM does not start:
Error: failed to bootstrap container (cause: "internalError: "failed to bootstrap container ... (cause: "unknown: "Error Domain=VZErrorDomain Code=1 "The virtual machine failed to start." UserInfo={NSLocalizedFailure=Internal Virtualization error., NSLocalizedFailureReason=The virtual machine failed to start.}"")"")
On macOS 26.5.2, the same command prints 6.16.9+.
The kernel's first instruction calls trap_to_vmm, a boot-timing hook from Cloud Hypervisor's Linux fork. It stores 0x40 to guest physical address 0x09000F00, where Cloud Hypervisor puts a debug register. Under Virtualization.framework nothing is mapped at that address. macOS 26 ignores the store. On macOS 27, com.apple.Virtualization.VirtualMachine crashes with EXC_BREAKPOINT and leaves a crash report in ~/Library/Logs/DiagnosticReports.
We think the bug is in Virtualization.framework, not in container:
If we replace only that 4-byte call with a NOP, the same kernel boots on macOS 27.
A small Swift program that calls VZLinuxBootLoader directly, with no container code, fails the same way.
We reported it to Apple through Feedback Assistant and will add the FB number here. The fork's v6.12.8 and v7.2.8 releases have the same hook and fail the same way. Upstream Linux and the default Kata kernel do not have it.
Expected: the VM starts, as on macOS 26. If the guest cannot run, container should say why. Today the error says only "Internal Virtualization error", but the crash report names the cause, so container could surface it.
Workaround: use a kernel without the hook, such as upstream Linux or the default kernel.
We have tested macOS 27 only on an M6. We do not know yet whether older Macs on macOS 27 fail too.
Environment
- OS: macOS 27.0.1 (26A434), Mac18,5 (M6). Works on macOS 26.5.2 (25F84), M4 and M5 Max.
- Xcode: Command Line Tools only (Swift 6.4)
- Container: container CLI version 1.2.2 (commit 0190097)
Activity
windsornguyen commentedon Oct 7, 2026
Looping in @rbradford for visibility: CH's
trap_to_vmmlogic breaks on macOS 27.