Hi, On Thu, 24 Sep 2026, Mark Kettenis wrote:
> > Date: Wed, 23 Sep 2026 15:36:05 -0500 (CDT) > > From: [email protected] > > Thanks, I can reproduce this on a Macbook Air M5. > > It hangs when trying to bring down the vio0 network interface. I've > narrowed it down to the splx(s) call at the end of vio_ioctl(). Feels > like an interrupt storm triggered by bringing the interface down. > > Stefan, any ideas? Not really. You could try the following diff. I think the issue fixed by it could cause a hang during ifconfig down, but I don't see how that hang would be at the splx() call. Cheers, Stefan diff --git a/sys/dev/pv/if_vio.c b/sys/dev/pv/if_vio.c index 8942b02857a..5a37f4b18f6 100644 --- a/sys/dev/pv/if_vio.c +++ b/sys/dev/pv/if_vio.c @@ -1104,7 +1104,11 @@ vio_stop(struct ifnet *ifp, int disable) mtx_leave(&sc->sc_q[i].viq_rxmtx); } - if (virtio_has_feature(vsc, VIRTIO_NET_F_CTRL_VQ)) + /* + * We cannot use virtio_has_feature() between virtio_reset and + * virtio_reinit_start() + */ + if (sc->sc_ctl_vq != NULL) vio_ctrl_wakeup(sc, RESET); vio_tx_drain(sc); if (disable) @@ -1118,10 +1122,10 @@ vio_stop(struct ifnet *ifp, int disable) if (virtio_has_feature(vsc, VIRTIO_NET_F_CTRL_VQ)) virtio_start_vq_intr(vsc, sc->sc_ctl_vq); virtio_reinit_end(vsc); - if (virtio_has_feature(vsc, VIRTIO_NET_F_MQ)) - vio_ctrl_mq(sc); if (virtio_has_feature(vsc, VIRTIO_NET_F_CTRL_VQ)) vio_ctrl_wakeup(sc, FREE); + if (virtio_has_feature(vsc, VIRTIO_NET_F_MQ)) + vio_ctrl_mq(sc); } static inline uint16_t > > >Synopsis: openbsd VM in UTM fails to reboot or shutdown when running > > >under apple virtualization platform > > >Category: system > > >Environment: > > System : OpenBSD 8.0 > > Details : OpenBSD 8.0-beta (GENERIC.MP) #106: Wed Sep 23 06:08:02 > > MDT 2026 > > > > [email protected]:/usr/src/sys/arch/arm64/compile/GENERIC.MP > > > > Architecture: OpenBSD.arm64 > > Machine : arm64 > > >Description: > > when attempting to reboot or shutdown an openbsd VM in UTM, using Apple > > Virtualization Platform, the system > > will hang on "syncing disks...done" and go crazy with the CPU usage. > > only way to get the system to go down > > or reboot is to force it in the hypervisor. > > > > >How-To-Repeat: > > Download openbsd (7.9 or -current snapshot both have the same issue) > > install openbsd in UTM by selecting Virtualize > Linux > Use Apple > > Virtualization (any CPU/RAM/Disk settings) > > attempt to reboot or shutdown after finishing installer > > forcing reboot or shutdown in hypervisor will bring you out, and let > > you boot into the system after install. > > attempting to reboot or shutdown here leads to the same series of > > events. > > > > >Fix: > > unknown; wanted to make bug known as this hardware is brand new, and i > > am unsure if it is hardware or virtualization platform specific > > > > > > dmesg: > > OpenBSD 8.0-beta (GENERIC.MP) #106: Wed Sep 23 06:08:02 MDT 2026 > > [email protected]:/usr/src/sys/arch/arm64/compile/GENERIC.MP > > real mem = 4292337664 (4093MB) > > avail mem = 4069404672 (3880MB) > > random: good seed from bootblocks > > mainbus0 at root: ACPI > > psci0 at mainbus0: PSCI 1.1, SMCCC 1.1 > > efi0 at mainbus0: UEFI 2.7 > > efi0: EDK II rev 0x10000 > > smbios0 at efi0: SMBIOS 3.3.0 > > smbios0: vendor Apple Inc. version "2164.0.0.0.0" date 08/08/2026 > > smbios0: Apple Inc. Apple Virtualization Generic Platform > > cpu0 at mainbus0 mpidr 0: Unknown, MIDR 0x610f0000 > > cpu0: 192KB 64b/line 6-way L1 PIPT I-cache, 128KB 64b/line 8-way L1 D-cache > > cpu0: 1536KB 64b/line 12-way L2 cache > > cpu0: 20480KB 128b/line 20-way L3 cache > > cpu0: > > TLBIOS+IRANGE,TS+AXFLAG,FHM,DP,SHA3,RDM,Atomic,CRC32,SHA2+SHA512,SHA1,AES+PMULL,I8MM,BF16+EBF,SPECRES,SB,FRINTTS,GPI,LRCPC+LDAPUR,FCMA,JSCVT,API+EPAC2+FPAC+COMBINED,DPB+DCCVADP,RPRES,ASID16,AFP,SpecSEI,PAN+ATS1E1+EPAN,LO,HPDS,IDS,AT,CSV3,CSV2,DIT,RASv1p1,AdvSIMD+HP,FP+HP,BT > > cpu1 at mainbus0 mpidr 1: Unknown, MIDR 0x610f0000 > > cpu1: 192KB 64b/line 6-way L1 PIPT I-cache, 128KB 64b/line 8-way L1 D-cache > > cpu1: 1536KB 64b/line 12-way L2 cache > > cpu1: 20480KB 128b/line 20-way L3 cache > > cpu2 at mainbus0 mpidr 2: Unknown, MIDR 0x610f0000 > > cpu2: 128KB 64b/line 4-way L1 PIPT I-cache, 64KB 64b/line 8-way L1 D-cache > > cpu2: 20480KB 128b/line 20-way L2 cache > > cpu3 at mainbus0 mpidr 3: Unknown, MIDR 0x610f0000 > > cpu3: 128KB 64b/line 4-way L1 PIPT I-cache, 64KB 64b/line 8-way L1 D-cache > > cpu3: 20480KB 128b/line 20-way L2 cache > > cpu4 at mainbus0 mpidr 4: Unknown, MIDR 0x610f0000 > > cpu4: 128KB 64b/line 4-way L1 PIPT I-cache, 64KB 64b/line 8-way L1 D-cache > > cpu4: 20480KB 128b/line 20-way L2 cache > > cpu5 at mainbus0 mpidr 5: Unknown, MIDR 0x610f0000 > > cpu5: 128KB 64b/line 4-way L1 PIPT I-cache, 64KB 64b/line 8-way L1 D-cache > > cpu5: 20480KB 128b/line 20-way L2 cache > > cpu6 at mainbus0 mpidr 6: Unknown, MIDR 0x610f0000 > > cpu6: 160KB 64b/line 5-way L1 PIPT I-cache, 96KB 64b/line 6-way L1 D-cache > > cpu6: 8192KB 128b/line 16-way L2 cache > > cpu7 at mainbus0 mpidr 7: Unknown, MIDR 0x610f0000 > > cpu7: 160KB 64b/line 5-way L1 PIPT I-cache, 96KB 64b/line 6-way L1 D-cache > > cpu7: 8192KB 128b/line 16-way L2 cache > > apm0 at mainbus0 > > agintc0 at mainbus0 shift 4:4 nirq 1024 nredist 8 ipi 0: > > "interrupt-controller" > > ampintcmsi0 at agintc0: nspi 128 > > agtimer0 at mainbus0: 24000 kHz > > acpi0 at mainbus0: ACPI 6.3 > > acpi0: sleep states > > acpi0: tables DSDT FACP GTDT APIC MCFG > > acpi0: wakeup devices > > acpimcfg0 at acpi0 > > acpimcfg0: addr 0x40000000, bus 0-255 > > acpicpu0 at acpi0 CP00 > > acpicpu1 at acpi0 CP01 > > acpicpu2 at acpi0 CP02 > > acpicpu3 at acpi0 CP03 > > acpicpu4 at acpi0 CP04 > > acpicpu5 at acpi0 CP05 > > acpicpu6 at acpi0 CP06 > > acpicpu7 at acpi0 CP07 > > acpibtn0 at acpi0: PWRB > > "ARMH0061" at acpi0 not configured > > acpipci0 at acpi0 PCI0 > > pci0 at acpipci0 > > vendor "Apple", unknown product 0x1a05 (class bridge subclass host, rev > > 0x00) at pci0 dev 0 function 0 not configured > > virtio0 at pci0 dev 1 function 0 "Qumranet Virtio 1.x Network" rev 0x01 > > vio0 at virtio0: 1 queue, address 8a:e8:2e:0f:66:7c, mtu 1500 > > virtio0: msix per-VQ > > virtio1 at pci0 dev 5 function 0 "Qumranet Virtio 1.x Storage" rev 0x01 > > vioblk0 at virtio1 > > virtio1: msix per-VQ > > scsibus0 at vioblk0: 1 targets > > sd0 at scsibus0 targ 0 lun 0: <VirtIO, Block Device, > > > sd0: 40960MB, 512 bytes/sector, 83886080 sectors > > virtio2 at pci0 dev 6 function 0 "Qumranet Virtio 1.x GPU" rev 0x01 > > viogpu0 at virtio2virtio2: msix per-VQ > > : 1920x1200, 32bpp > > wsdisplay0 at viogpu0 mux 1: console (std, vt100 emulation) > > wsdisplay0: screen 1-5 added (std, vt100 emulation) > > virtio3 at pci0 dev 7 function 0 vendor "Qumranet", unknown product 0x1059 > > rev 0x01 > > virtio3: no matching child driver; not configured > > virtio4 at pci0 dev 8 function 0 vendor "Qumranet", unknown product 0x1059 > > rev 0x01 > > virtio4: no matching child driver; not configured > > virtio5 at pci0 dev 9 function 0 "Qumranet Virtio 1.x RNG" rev 0x01 > > viornd0 at virtio5 > > virtio5: msix per-VQ > > virtio6 at pci0 dev 10 function 0 "Qumranet Virtio 1.x Memory Balloon" rev > > 0x01 > > viomb0 at virtio6 > > virtio6: msix per-VQ > > xhci0 at pci0 dev 11 function 0 vendor "Apple", unknown product 0x1a06 rev > > 0x00: msix, xHCI 1.10 > > usb0 at xhci0: USB revision 3.0 > > uhub0 at usb0 configuration 1 interface 0 "Apple xHCI root hub" rev > > 3.00/1.00 addr 1 > > xhci1 at pci0 dev 12 function 0 vendor "Apple", unknown product 0x1a06 rev > > 0x00: msix, xHCI 1.10 > > usb1 at xhci1: USB revision 3.0 > > uhub1 at usb1 configuration 1 interface 0 "Apple xHCI root hub" rev > > 3.00/1.00 addr 1 > > uhidev0 at uhub0 port 9 configuration 1 interface 0 "Apple Inc. Virtual USB > > Keyboard" rev 2.00/0.00 addr 2 > > uhidev0: iclass 3/1 > > ukbd0 at uhidev0: 8 variable keys, 6 key codes > > usbd_free_xfer: xfer=0xffffff800cc23690 not free > > usbd_free_xfer: xfer=0xffffff800cc23690 not free > > wskbd0 at ukbd0 mux 1 > > wskbd0: connecting to wsdisplay0 > > uhidev1 at uhub0 port 10 configuration 1 interface 0 "Apple Inc. Virtual > > USB Digitizer" rev 2.00/0.00 addr 3 > > uhidev1: iclass 3/0, 3 report ids > > ums0 at uhidev1: 3 buttons, Z and W dir > > wsmouse0 at ums0 mux 0 > > umass0 at uhub1 port 1 configuration 1 interface 0 "Apple Inc. Virtual USB > > Mass Storage Device" rev 3.00/0.00 addr 2 > > umass0: using SCSI over Bulk-Only > > scsibus1 at umass0: 2 targets, initiator 0 > > sd1 at scsibus1 targ 1 lun 0: <Apple, Virtual Disk, 1> > > sd1: 700MB, 512 bytes/sector, 1433600 sectors > > vscsi0 at root > > scsibus2 at vscsi0: 256 targets > > softraid0 at root > > scsibus3 at softraid0: 256 targets > > root on sd0a (3c39c0739b5d33f6.a) swap on sd0b dump on sd0b > > > > usbdevs: > > Controller /dev/usb0: > > addr 01: 106b:0000 Apple, xHCI root hub > > super speed, self powered, config 1, rev 1.00 > > driver: uhub0 > > addr 02: 05ac:8105 Apple Inc., Virtual USB Keyboard > > full speed, power 500 mA, config 1, rev 0.00 > > driver: uhidev0 > > addr 03: 05ac:8106 Apple Inc., Virtual USB Digitizer > > full speed, power 500 mA, config 1, rev 0.00 > > driver: uhidev1 > > Controller /dev/usb1: > > addr 01: 106b:0000 Apple, xHCI root hub > > super speed, self powered, config 1, rev 1.00 > > driver: uhub1 > > addr 02: 05ac:1503 Apple Inc., Virtual USB Mass Storage Device > > super speed, power 200 mA, config 1, rev 0.00 > > driver: umass0 > > > > >
