>Synopsis: the kernel did not panic in pckbc command timeout
>Category: kern
>Environment:
System : OpenBSD 6.1
Details : OpenBSD 6.1-current (GENERIC) #0: Mon Aug 7 15:43:18
CEST 2017
[email protected]:/usr/src/sys/arch/amd64/compile/GENERIC
Architecture: OpenBSD.amd64
Machine : amd64
>Description:
while trying to debug "X server segfaults in VESA driver as Linux KVM guest"
sent on bugs earlier today, I built an xserver with -g, that starts, but the
kernel of my KVM guest panics shortly after.
login: pckbc: command timeout
pckbc: command timeout
uvm_fault(0xffffff0033310e00, 0x1c, 0, 1) -> e
kernel: page fault trap, code=0
Stopped at pckbc_start+0xf3: movsxdq 0x1c(%rbx),%rax
ddb> show panic
the kernel did not panic
ddb> trace
pckbc_start(0,ffffffff81ab6df0,0,ffffffff81ab6dc8,0,3206) at pckbc_start+0xf3
pckbc_enqueue_cmd(ffff800014c35da0,ffff80000014f400,ffff800000014f00,8004570b,f
fffffff,100000000) at pckbc_enqueue_cmd+0x1bd
pckbd_ioctl(80105702,4dcf3e1fefd39113,2ed00008004570b,0,ffffffff81182fd1,ffff80
0014c35b00) at pckbd_ioctl+0xe1
wskbd_displayioctl(ffffffff,ffff80000014f400,ffff800000014f00,0,ffffffff811bceb
0,ffffffff81a897f8) at wskbd_displayioctl+0x489
wsmux_do_displayioctl(ffff800000034a00,8004570b,ffff800000051400,ffff800014ca66
c8,ffff800014c35da0,381589b14) at wsmux_do_displayioctl+0xa7
wsdisplay_internal_ioctl(ffff800000051400,ffff800000084400,8004570b,ffff800014c
35da0,ffff800000034a00,3ffffffff) at wsdisplay_internal_ioctl+0xac
wsdisplayioctl(8004570b,ffff800014ca66c8,ffffff002e6c6100,ffff800014c35e90,ffff
ff0037817d90,381589b14) at wsdisplayioctl+0x116
VOP_IOCTL(4dcf3e1fefd39113,ffff800014ca66c8,ffffff003f7b3a80,3,ffff800014c35da0
,8004570b) at VOP_IOCTL+0x3e
vn_ioctl(4,ffffff002e6c6100,8004667d,ffff800014c35e90,ffff800014c35da0,4dcf3e1f
efd39113) at vn_ioctl+0x5d
sys_ioctl(ffff800014c35f20,360,ffff800014ca66c8,36,ffffffff81a99bd0,4dcf3e1fefd
39113) at sys_ioctl+0x353
syscall() at syscall+0x1e4
--- syscall (number 54) ---
end of kernel
end trace frame: 0x7f7ffffece70, count: -11
0xcb41c32408a:
ddb> ps
PID TID PPID UID S FLAGS WAIT COMMAND
2164 61238 67653 1000 3 0x1000b0 netio Xorg
*67653 454333 53625 1000 7 0x32 Xorg
53625 496092 84980 1000 3 0x10008b pause ksh
84980 141879 89995 1000 3 0x90 select sshd
89995 298642 96468 0 3 0x92 poll sshd
46138 260202 1 0 3 0x100083 ttyin getty
50794 457615 1 0 3 0x100083 ttyin getty
40185 155302 1 0 3 0x100083 ttyin getty
43591 336275 1 0 3 0x100083 ttyin getty
43082 372293 1 0 3 0x100083 ttyin getty
74257 65206 1 0 3 0x100083 ttyin getty
52627 137120 1 0 3 0x100098 poll cron
3892 29563 1 99 3 0x100090 poll sndiod
7633 290749 1 110 3 0x100090 poll sndiod
4302 49356 76250 95 3 0x100092 kqread smtpd
84124 347382 76250 103 3 0x100092 kqread smtpd
39082 381819 76250 95 3 0x100092 kqread smtpd
17507 15538 76250 95 3 0x100092 kqread smtpd
21713 356605 76250 95 3 0x100092 kqread smtpd
27350 228068 76250 95 3 0x100092 kqread smtpd
76250 329107 1 0 3 0x100080 kqread smtpd
96468 129137 1 0 3 0x80 select sshd
76847 53492 73000 83 3 0x100092 poll ntpd
73000 416082 74464 83 3 0x100092 poll ntpd
74464 206624 1 0 3 0x100080 poll ntpd
32366 455437 3847 74 3 0x100090 bpf pflogd
3847 171989 1 0 3 0x80 netio pflogd
67364 450779 89222 73 2 0x100090 syslogd
89222 54169 1 0 3 0x100082 netio syslogd
73179 257166 1 77 3 0x100090 poll dhclient
77731 417888 1 0 3 0x80 poll dhclient
76863 142415 4463 115 3 0x100092 kqread slaacd
66034 461299 4463 115 3 0x100092 kqread slaacd
4463 93812 1 0 3 0x80 kqread slaacd
74445 464762 0 0 3 0x14200 pgzero zerothread
70749 131893 0 0 3 0x14200 aiodoned aiodoned
31793 39982 0 0 3 0x14200 syncer update
47302 244722 0 0 3 0x14200 cleaner cleaner
64377 322586 0 0 3 0x14200 reaper reaper
20286 57247 0 0 3 0x14200 pgdaemon pagedaemon
22710 72784 0 0 3 0x14200 bored crynlk
29778 481411 0 0 3 0x14200 bored crypto
35760 130648 0 0 3 0x14200 bored viomb
94209 243283 0 0 3 0x14200 usbtsk usbtask
56830 430939 0 0 3 0x14200 usbatsk usbatsk
79256 141575 0 0 3 0x40014200 acpi0 acpi0
5761 63183 0 0 3 0x14200 bored softnet
29580 230870 0 0 3 0x14200 bored systqmp
58552 82405 0 0 3 0x14200 bored systq
69924 362031 0 0 3 0x40014200 bored softclock
5367 24446 0 0 3 0x40014200 idle0
1 273180 0 0 3 0x82 wait init
0 0 -1 0 3 0x10200 scheduler swapper
ddb>
>How-To-Repeat:
My KVM is running on Ubuntu 16.04 amd64, using the default options.
>Fix:
dmesg:
OpenBSD 6.1-current (GENERIC) #0: Mon Aug 7 15:43:18 CEST 2017
[email protected]:/usr/src/sys/arch/amd64/compile/GENERIC
real mem = 1056833536 (1007MB)
avail mem = 1018593280 (971MB)
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 2.8 @ 0xf6460 (9 entries)
bios0: vendor SeaBIOS version "Ubuntu-1.8.2-1ubuntu1" date 04/01/2014
bios0: QEMU Standard PC (i440FX + PIIX, 1996)
acpi0 at bios0: rev 0
acpi0: sleep states S5
acpi0: tables DSDT FACP SSDT APIC
acpi0: wakeup devices
acpitimer0 at acpi0: 3579545 Hz, 24 bits
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: Intel Xeon E3-12xx v2 (Ivy Bridge), 3392.67 MHz
cpu0:
FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,SSE3,PCLMUL,SSSE3,CX16,SSE4.1,SSE4.2,x2APIC,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,HV,NXE,RDTSCP,LONG,LAHF,FSGSBASE,SMEP,ERMS,ARAT
cpu0: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB 64b/line
16-way L2 cache
cpu0: ITLB 255 4KB entries direct-mapped, 255 4MB entries direct-mapped
cpu0: DTLB 255 4KB entries direct-mapped, 255 4MB entries direct-mapped
cpu0: smt 0, core 0, package 0
mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges
cpu0: apic clock running at 1000MHz
ioapic0 at mainbus0: apid 0 pa 0xfec00000, version 11, 24 pins
acpiprt0 at acpi0: bus 0 (PCI0)
acpicpu0 at acpi0: C1(@1 halt!)
"ACPI0006" at acpi0 not configured
"PNP0303" at acpi0 not configured
"PNP0F13" at acpi0 not configured
"PNP0700" at acpi0 not configured
"PNP0A06" at acpi0 not configured
"PNP0A06" at acpi0 not configured
"PNP0A06" at acpi0 not configured
pvbus0 at mainbus0: KVM
pci0 at mainbus0 bus 0
pchb0 at pci0 dev 0 function 0 "Intel 82441FX" rev 0x02
pcib0 at pci0 dev 1 function 0 "Intel 82371SB ISA" rev 0x00
pciide0 at pci0 dev 1 function 1 "Intel 82371SB IDE" rev 0x00: DMA, channel 0
wired to compatibility, channel 1 wired to compatibility
atapiscsi0 at pciide0 channel 0 drive 1
scsibus1 at atapiscsi0: 2 targets
cd0 at scsibus1 targ 0 lun 0: <QEMU, QEMU DVD-ROM, 2.5+> ATAPI 5/cdrom removable
cd0(pciide0:0:1): using PIO mode 4, DMA mode 2
pciide0: channel 1 disabled (no drives)
piixpm0 at pci0 dev 1 function 3 "Intel 82371AB Power" rev 0x03: apic 0 int 9
iic0 at piixpm0
vga1 at pci0 dev 2 function 0 "Red Hat QXL Video" rev 0x04
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
virtio0 at pci0 dev 3 function 0 "Qumranet Virtio Network" rev 0x00
vio0 at virtio0: address 52:54:00:2e:bb:c7
virtio0: msix shared
azalia0 at pci0 dev 4 function 0 "Intel 82801FB HD Audio" rev 0x01: apic 0 int
11
azalia0: No codecs found
virtio1 at pci0 dev 5 function 0 "Qumranet Virtio Console" rev 0x00
virtio1: no matching child driver; not configured
uhci0 at pci0 dev 6 function 0 "Intel 82801I USB" rev 0x03: apic 0 int 10
uhci1 at pci0 dev 6 function 1 "Intel 82801I USB" rev 0x03: apic 0 int 11
uhci2 at pci0 dev 6 function 2 "Intel 82801I USB" rev 0x03: apic 0 int 11
ehci0 at pci0 dev 6 function 7 "Intel 82801I USB" rev 0x03: apic 0 int 10
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 configuration 1 interface 0 "Intel EHCI root hub" rev 2.00/1.00
addr 1
virtio2 at pci0 dev 7 function 0 "Qumranet Virtio Memory" rev 0x00
viomb0 at virtio2
virtio2: apic 0 int 11
virtio3 at pci0 dev 8 function 0 "Qumranet Virtio Network" rev 0x00
vio1 at virtio3: address 52:54:00:aa:56:9a
virtio3: msix shared
virtio4 at pci0 dev 9 function 0 "Qumranet Virtio Storage" rev 0x00
vioblk0 at virtio4
scsibus2 at vioblk0: 2 targets
sd0 at scsibus2 targ 0 lun 0: <VirtIO, Block Device, > SCSI3 0/direct fixed
sd0: 20480MB, 512 bytes/sector, 41943040 sectors
virtio4: msix shared
isa0 at pcib0
isadma0 at isa0
fdc0 at isa0 port 0x3f0/6 irq 6 drq 2
fd0 at fdc0 drive 1: density unknown
com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
com0: console
pckbc0 at isa0 port 0x60/5 irq 1 irq 12
pckbd0 at pckbc0 (kbd slot)
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pms0 at pckbc0 (aux slot)
wsmouse0 at pms0 mux 0
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
usb1 at uhci0: USB revision 1.0
uhub1 at usb1 configuration 1 interface 0 "Intel UHCI root hub" rev 1.00/1.00
addr 1
usb2 at uhci1: USB revision 1.0
uhub2 at usb2 configuration 1 interface 0 "Intel UHCI root hub" rev 1.00/1.00
addr 1
usb3 at uhci2: USB revision 1.0
uhub3 at usb3 configuration 1 interface 0 "Intel UHCI root hub" rev 1.00/1.00
addr 1
vscsi0 at root
scsibus3 at vscsi0: 256 targets
softraid0 at root
scsibus4 at softraid0: 256 targets
root on sd0a (030080ac0c4c81fc.a) swap on sd0b dump on sd0b
WARNING: / was not properly unmounted
usbdevs:
Controller /dev/usb0:
addr 1: high speed, self powered, config 1, EHCI root hub(0x0000),
Intel(0x8086), rev 1.00
port 1 powered
port 2 powered
port 3 powered
port 4 powered
port 5 powered
port 6 powered
Controller /dev/usb1:
addr 1: full speed, self powered, config 1, UHCI root hub(0x0000),
Intel(0x8086), rev 1.00
port 1 powered
port 2 powered
Controller /dev/usb2:
addr 1: full speed, self powered, config 1, UHCI root hub(0x0000),
Intel(0x8086), rev 1.00
port 1 powered
port 2 powered
Controller /dev/usb3:
addr 1: full speed, self powered, config 1, UHCI root hub(0x0000),
Intel(0x8086), rev 1.00
port 1 powered
port 2 powered
--
Matthieu Herrb