NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
port-xen/60473: PVHVM domU with powerd panics with xl suspend
>Number: 60473
>Category: port-xen
>Synopsis: PVHVM domU with powerd panics with xl suspend
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: port-xen-maintainer
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Tue Jul 21 14:30:00 +0000 2026
>Originator: Stephen Borrill
>Release: 11.0_RC6
>Organization:
>Environment:
NetBSD 11.0_RC6 NetBSD 11.0_RC6 (GENERIC) #0: Sun Jul 19 16:33:52 UTC 2026 mkrepro%mkrepro.NetBSD.org@localhost:/usr/src/sys/arch/amd64/compile/GENERIC amd64
>Description:
If a NetBSD HVM domU is running on a NetBSD dom0 and powerd is running in the domU, then if you attempt to suspend the VM it will panic. A PV or PVH domU will not panic. If powerd is NOT running the only message is as follows (the domU does not suspend):
[ 53.0637474] xenbus: sleep button pressed.
The problem does not happen with a XenServer dom0, but neither does it suspend.
The problem appears to be related to xencons.
[ 367.9610536] acpi0: entering state S3
[ 367.9754791] Flushing disk caches: done
[ 367.9810244] Suspending devices: wskbd0 wsmouse0 spkr0 midi0 sysbeep0 pckbd0 pms0 wsdisplay0 isa0 fd0 fd1 xbd0xbd0: removed event channel 7
[ 368.0025973] xennet0xennet0: removed event channel 8
[ 368.0025973] xenbus0xenbus0: removed event channel 1
[ 368.0131396] xencons0uvm_fault(0xffffa3cd97828380, 0x0, 1) -> e
[ 368.0212016] fatal page fault in supervisor mode
[ 368.0311124] trap type 6 code 0 rip 0xffffffff80245bea cs 0x8 rflags 0x10283 cr2 0 ilevel 0x6 rsp 0xffff800079014cd8
[ 368.0498712] curlwp 0xffffa3cd974bfc00 pid 1371.1371 lowest kstack 0xffff8000790102c0
kernel: page fault trap, code=0
Stopped in pid 1371.1371 (sysctl) at netbsd:xen_intr_unmask+0x12: movq
0(%rdi),%rax
xen_intr_unmask() at netbsd:xen_intr_unmask+0x12
device_pmf_driver_suspend() at netbsd:device_pmf_driver_suspend+0x3d
pmf_device_suspend() at netbsd:pmf_device_suspend+0x152
pmf_system_suspend() at netbsd:pmf_system_suspend+0xb7
acpi_enter_sleep_state() at netbsd:acpi_enter_sleep_state+0xfa
sysctl_hw_acpi_sleepstate() at netbsd:sysctl_hw_acpi_sleepstate+0xe1
sysctl_dispatch() at netbsd:sysctl_dispatch+0xa0
sys___sysctl() at netbsd:sys___sysctl+0xc5
syscall() at netbsd:syscall+0x9a
--- syscall (number 202) ---
netbsd:syscall+0x9a:
ds 1969
es 3
fs 4ce0
gs 0
rdi 0
rsi ffffffff81391860 _pmf_qual_system
rbp ffff800079014cf0
rbx ffffa3cd96fd0680
rdx ffffffff8024d870 xencons_suspend
rcx ffffa3cd96fd0868
rax ffff800000003000
r8 8
r9 600000000000000
r10 ffff800079014cc0
r11 10
r12 ffffffff81391860 _pmf_qual_system
r13 ffffffff813918a0 _device_suspensor_system
r14 ffffa3cdd2868868
r15 ffff800079014f28
rip ffffffff80245bea xen_intr_disestablish
cs 8
rflags 10283
rsp ffff800079014cd8
ss 10
netbsd:xen_intr_unmask+0x12: movq 0(%rdi),%rax
>How-To-Repeat:
Create domU using xl create -c nb11hvm where nb11hvm contains settings similar to the following:
name = "nb11hvm"
type = "hvm"
memory = 1024
vif = [ 'mac=aa:00:00:d1:00:09,bridge=bridge0' ]
disk = [ 'file:/xen/vm/nb11hvm/xbd0,hda,w' ]
boot = "c"
serial = "pty"
vnclisten = "0.0.0.0"
/xen/vm/nb11hvm/xbd0 contains an installed NetBSD 11.0_RC6 system with all default settings (powerd is enabled). In its /boot.cfg a serial console is enabled with consdev=com0
After the domU has fully booted, from the dom0 run: xl suspend nb11hvm
The domU kernel will panic and you will be able to interact with ddb on its 'serial' console. To be clear, if using a standard graphical console, it will also panic in the same way; it's just easier to work with this way
>Fix:
Home |
Main Index |
Thread Index |
Old Index