qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [Bug?] Guest pause because VMPTRLD failed in KVM


From: gong lei
Subject: [Qemu-devel] [Bug?] Guest pause because VMPTRLD failed in KVM
Date: Thu, 10 Nov 2016 14:10:36 +0000

Hello,

  We encountered a problem that a guest paused because the KMOD report VMPTRLD 
failed.

The related information is as follows:

1) Qemu command:
   /usr/bin/qemu-kvm -name omu1 -S -machine pc-i440fx-2.3,accel=kvm,usb=off -cpu
host -m 15625 -realtime mlock=off -smp 8,sockets=1,cores=8,threads=1 -uuid
a2aacfff-6583-48b4-b6a4-e6830e519931 -no-user-config -nodefaults -chardev
socket,id=charmonitor,path=/var/lib/libvirt/qemu/omu1.monitor,server,nowait
-mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown
-boot strict=on -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -device
virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x5 -drive
file=/home/env/guest1.qcow2,if=none,id=drive-virtio-disk0,format=qcow2,cache=none,aio=native
  -device
virtio-blk-pci,scsi=off,bus=pci.0,addr=0x6,drive=drive-virtio-disk0,id=virtio-disk0
  -drive
file=/home/env/guest_300G.img,if=none,id=drive-virtio-disk1,format=raw,cache=none,aio=native
  -device
virtio-blk-pci,scsi=off,bus=pci.0,addr=0x7,drive=drive-virtio-disk1,id=virtio-disk1
  -netdev tap,fd=25,id=hostnet0,vhost=on,vhostfd=26 -device
virtio-net-pci,netdev=hostnet0,id=net0,mac=00:00:80:05:00:00,bus=pci.0,addr=0x3
-netdev tap,fd=27,id=hostnet1,vhost=on,vhostfd=28 -device
virtio-net-pci,netdev=hostnet1,id=net1,mac=00:00:80:05:00:01,bus=pci.0,addr=0x4
-chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0
-device usb-tablet,id=input0 -vnc 0.0.0.0:0 -device
cirrus-vga,id=video0,vgamem_mb=16,bus=pci.0,addr=0x2 -device
virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x8 -msg timestamp=on

   2) Qemu log:
   KVM: entry failed, hardware error 0x4
   RAX=00000000ffffffed RBX=ffff8803fa2d7fd8 RCX=0100000000000000
RDX=0000000000000000
   RSI=0000000000000000 RDI=0000000000000046 RBP=ffff8803fa2d7e90
RSP=ffff8803fa2efe90
   R8 =0000000000000000 R9 =0000000000000000 R10=0000000000000000
R11=000000000000b69a
   R12=0000000000000001 R13=ffffffff81a25b40 R14=0000000000000000
R15=ffff8803fa2d7fd8
   RIP=ffffffff81053e16 RFL=00000286 [--S--P-] CPL=0 II=0 A20=1 SMM=0 HLT=0
   ES =0000 0000000000000000 ffffffff 00c00000
   CS =0010 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA]
   SS =0018 0000000000000000 ffffffff 00c09300 DPL=0 DS   [-WA]
   DS =0000 0000000000000000 ffffffff 00c00000
   FS =0000 0000000000000000 ffffffff 00c00000
   GS =0000 ffff88040f540000 ffffffff 00c00000
   LDT=0000 0000000000000000 ffffffff 00c00000
   TR =0040 ffff88040f550a40 00002087 00008b00 DPL=0 TSS64-busy
   GDT=     ffff88040f549000 0000007f
   IDT=     ffffffffff529000 00000fff
   CR0=80050033 CR2=00007f81ca0c5000 CR3=00000003f5081000 CR4=000407e0
   DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000
DR3=0000000000000000
   DR6=00000000ffff0ff0 DR7=0000000000000400
   EFER=0000000000000d01
   Code=?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? <??> ?? ??
?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??

   3) Demsg
   [347315.028339] kvm: vmptrld ffff8817ec5f0000/17ec5f0000 failed
   klogd 1.4.1, ---------- state change ----------
   [347315.039506] kvm: vmptrld ffff8817ec5f0000/17ec5f0000 failed
   [347315.051728] kvm: vmptrld ffff8817ec5f0000/17ec5f0000 failed
   [347315.057472] vmwrite error: reg 6c0a value ffff88307e66e480 (err
2120672384)
   [347315.064567] Pid: 69523, comm: qemu-kvm Tainted: GF           X
3.0.93-0.8-default #1
   [347315.064569] Call Trace:
   [347315.064587]  [<ffffffff810049d5>] dump_trace+0x75/0x300
   [347315.064595]  [<ffffffff8145e3e3>] dump_stack+0x69/0x6f
   [347315.064617]  [<ffffffffa03738de>] vmx_vcpu_load+0x11e/0x1d0 [kvm_intel]
   [347315.064647]  [<ffffffffa029a204>] kvm_arch_vcpu_load+0x44/0x1d0 [kvm]
   [347315.064669]  [<ffffffff81054ee1>] finish_task_switch+0x81/0xe0
   [347315.064676]  [<ffffffff8145f0b4>] thread_return+0x3b/0x2a7
   [347315.064687]  [<ffffffffa028d9b5>] kvm_vcpu_block+0x65/0xa0 [kvm]
   [347315.064703]  [<ffffffffa02a16d1>] __vcpu_run+0xd1/0x260 [kvm]
   [347315.064732]  [<ffffffffa02a2418>] kvm_arch_vcpu_ioctl_run+0x68/0x1a0 
[kvm]
   [347315.064759]  [<ffffffffa028ecee>] kvm_vcpu_ioctl+0x38e/0x580 [kvm]
   [347315.064771]  [<ffffffff8116bdfb>] do_vfs_ioctl+0x8b/0x3b0
   [347315.064776]  [<ffffffff8116c1c1>] sys_ioctl+0xa1/0xb0
   [347315.064783]  [<ffffffff81469272>] system_call_fastpath+0x16/0x1b
   [347315.064797]  [<00007fee51969ce7>] 0x7fee51969ce6
   [347315.064799] vmwrite error: reg 6c0c value ffff88307e664000 (err
2120630272)
   [347315.064802] Pid: 69523, comm: qemu-kvm Tainted: GF           X
3.0.93-0.8-default #1
   [347315.064803] Call Trace:
   [347315.064807]  [<ffffffff810049d5>] dump_trace+0x75/0x300
   [347315.064811]  [<ffffffff8145e3e3>] dump_stack+0x69/0x6f
   [347315.064817]  [<ffffffffa03738ec>] vmx_vcpu_load+0x12c/0x1d0 [kvm_intel]
   [347315.064832]  [<ffffffffa029a204>] kvm_arch_vcpu_load+0x44/0x1d0 [kvm]
   [347315.064851]  [<ffffffff81054ee1>] finish_task_switch+0x81/0xe0
   [347315.064855]  [<ffffffff8145f0b4>] thread_return+0x3b/0x2a7
   [347315.064865]  [<ffffffffa028d9b5>] kvm_vcpu_block+0x65/0xa0 [kvm]
   [347315.064880]  [<ffffffffa02a16d1>] __vcpu_run+0xd1/0x260 [kvm]
   [347315.064907]  [<ffffffffa02a2418>] kvm_arch_vcpu_ioctl_run+0x68/0x1a0 
[kvm]
   [347315.064933]  [<ffffffffa028ecee>] kvm_vcpu_ioctl+0x38e/0x580 [kvm]
   [347315.064943]  [<ffffffff8116bdfb>] do_vfs_ioctl+0x8b/0x3b0
   [347315.064947]  [<ffffffff8116c1c1>] sys_ioctl+0xa1/0xb0
   [347315.064951]  [<ffffffff81469272>] system_call_fastpath+0x16/0x1b
   [347315.064957]  [<00007fee51969ce7>] 0x7fee51969ce6
   [347315.064959] vmwrite error: reg 6c10 value 0 (err 0)

   4) The isssue can't be reporduced. I search the Intel VMX sepc about reaseons
of vmptrld failure:
   The instruction fails if its operand is not properly aligned, sets
unsupported physical-address bits, or is equal to the VMXON
   pointer. In addition, the instruction fails if the 32 bits in memory
referenced by the operand do not match the VMCS
   revision identifier supported by this processor.

   But I can't find any cues from the KVM source code. It seems each
   error conditions is impossible in theory. :(

Any suggestions will be appreciated! Paolo?

-- 
Regards,
-Gonglei


reply via email to

[Prev in Thread] Current Thread [Next in Thread]