Bug 231468 - [kvm] [panic] 12.0-ALPHA6 vtnet0 cant setup virtqueue interrupts when boot with no acpi kernel
Summary: [kvm] [panic] 12.0-ALPHA6 vtnet0 cant setup virtqueue interrupts when boot wi...
Status: New
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: CURRENT
Hardware: amd64 Any
: --- Affects Many People
Assignee: freebsd-virtualization mailing list
Depends on:
Reported: 2018-09-18 23:13 UTC by koh
Modified: 2018-09-19 21:46 UTC (History)
0 users

See Also:


Note You need to log in before you can comment on or make changes to this bug.
Description koh 2018-09-18 23:13:21 UTC
Good morning.
My QEMU Guest VPS has booted the kernel which removed ACPI to reduce capacity in QEMU guest environment because kernel size is big since FreeBSD 12.0.
Then the kernel panics as shown below.
The kernel build uses src.txz from 12.0-ALPHA6.
hint.acpi.0.disabled = "1" is not used, and only the "device acpi" is removed in kernel build.

# /etc/make.conf

# clang-devel -v
clang version 8.0.0
Target: x86_64-portbld-freebsd12.0
Thread model: posix
InstalledDir: /usr/local/llvm-devel/bin

# dmesg when no ACPI w/ clang-devel
vgapci0: Boot video device
virtio_pci0: <VirtIO PCI Network adapter> port 0xc060-0xc07f mem 0xfebd1000-0xfebd1fff irq 11 at device 3.0 on pci0
vtnet0: <VirtIO Networking Adapter> on virtio_pci0
vtnet0: Ethernet address: fa:16:3e:67:7b:47
virtio_pci0: exhausted all interrupt allocation attempts
vtnet0: cannot setup virtqueue interrupts

Fatal trap 12: page fault while in kernel mode
fault virtual address = 0x0
fault code = supervisor read data, page not present
instruction pointer = 0x20:0xffffffff8044e0af
stack pointer = 0x28:0xffffffff80a423a0
frame pointer = 0x28:0xffffffff80a423e0
code segment = base rx0, limit 0xfffff, type 0x1b
	     = DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags = interrupt enabled, resume, IOPL = 0
current process = 0 (swapper)
trap number = 12
panic: page fault
time = 1
Uptime: 1s
Automatic reboot in 15 seconds - press a key on the console to abort

# dmesg when ACPI w/ clang-devel
Copyright (c) 1992-2018 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 12.0-ALPHA6 #4: Sun Sep 16 15:05:10 KST 2018
    root@ixcloud:/usr/obj/usr/src/amd64.amd64/sys/GENE6 amd64
clang version 8.0.0
CPU: Intel Xeon E312xx (Sandy Bridge) (2600.08-MHz K8-class CPU)
  Origin="GenuineIntel"  Id=0x206a1  Family=0x6  Model=0x2a  Stepping=1
  AMD Features=0x2c100800<SYSCALL,NX,Page1GB,RDTSCP,LM>
  AMD Features2=0x21<LAHF,ABM>
  Structured Extended Features=0x7a9<FSGSBASE,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID>
  XSAVE Features=0x1<XSAVEOPT>
  VT-x: (disabled in BIOS) PAT,HLT,PAUSE,EPT,UG
Hypervisor: Origin = "KVMKVMKVM"
real memory  = 1073741824 (1024 MB)
avail memory = 1029726208 (982 MB)
Event timer "LAPIC" quality 100
random: unblocking device.
ioapic0 <Version 1.1> irqs 0-23 on motherboard
random: entropy device external interface
random: registering fast source Intel Secure Key RNG
random: fast provider: "Intel Secure Key RNG"
netmap: loaded module
acpi0: <BOCHS BXPCRSDT> on motherboard
acpi0: Power Button (fixed)
cpu0: <ACPI CPU> on acpi0
atrtc0: <AT realtime clock> port 0x70-0x71,0x72-0x77 irq 8 on acpi0
atrtc0: registered as a time-of-day clock, resolution 1.000000s
Event timer "RTC" frequency 32768 Hz quality 0
Timecounter "ACPI-fast" frequency 3579545 Hz quality 900
acpi_timer0: <24-bit timer at 3.579545MHz> port 0xb008-0xb00b on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
isab0: <PCI-ISA bridge> at device 1.0 on pci0
isa0: <ISA bus> on isab0
pci0: <mass storage, ATA> at device 1.1 (no driver attached)
pci0: <serial bus, USB> at device 1.2 (no driver attached)
pci0: <bridge> at device 1.3 (no driver attached)
vgapci0: <VGA-compatible display> mem 0xfc000000-0xfdffffff,0xfebd0000-0xfebd0fff at device 2.0 on pci0
vgapci0: Boot video device
virtio_pci0: <VirtIO PCI Network adapter> port 0xc060-0xc07f mem 0xfebd1000-0xfebd1fff irq 11 at device 3.0 on pci0
vtnet0: <VirtIO Networking Adapter> on virtio_pci0
vtnet0: Ethernet address: fa:16:3e:67:7b:47
000.000060 [ 425] vtnet_netmap_attach       max rings 1
vtnet0: netmap queues/slots: TX 1/1024, RX 1/1024
000.000061 [ 430] vtnet_netmap_attach       virtio attached txq=1, txd=1024 rxq=1, rxd=1024
virtio_pci1: <VirtIO PCI Block adapter> port 0xc000-0xc03f mem 0xfebd2000-0xfebd2fff irq 11 at device 4.0 on pci0
vtblk0: <VirtIO Block Adapter> on virtio_pci1
vtblk0: 51200MB (104857600 512 byte sectors)
virtio_pci2: <VirtIO PCI Balloon adapter> port 0xc080-0xc09f irq 10 at device 5.0 on pci0
acpi_syscontainer0: <System Container> port 0xaf00-0xaf1f on acpi0
orm0: <ISA Option ROM> at iomem 0xed800-0xeffff pnpid ORM0000 on isa0
attimer0: <AT timer> at port 0x40 on isa0
Timecounter "i8254" frequency 1193182 Hz quality 0
Event timer "i8254" frequency 1193182 Hz quality 100
Timecounters tick every 1.000 msec
ipfw2 initialized, divert loadable, nat enabled, default to accept, logging disabled
Timecounter "TSC-low" frequency 1300038197 Hz quality 800
Trying to mount root from ufs:/dev/vtbd0s1a [rw,noatime]...
lo0: link state changed to UP
vtnet0: link state changed to UP

cpu             HAMMER
ident           GENE6
options         SCHED_ULE               # ULE scheduler
options         INET                    # InterNETworking
options         FFS                     # Berkeley Fast Filesystem
options         SOFTUPDATES             # Enable FFS soft updates support
options         UFS_DIRHASH             # Improve performance on big directories
options         PRINTF_BUFR_SIZE=128    # Prevent printf output being interspersed.
device          atpic
device          pci
device          loop                    # Network loopback
device          random                  # Entropy device
device          rdrand_rng              # Intel Bull Mountain RNG
device          ether                   # Ethernet support
device          tun                     # Packet tunnel.
device          virtio                  # Generic VirtIO bus (required)
device          virtio_pci              # VirtIO PCI device
device          vtnet                   # VirtIO Ethernet device
device          virtio_blk              # VirtIO Block device
device          netmap                  # netmap(4) support