All of lore.kernel.org
 help / color / mirror / Atom feed
* [Bug?] Guest pause because VMPTRLD failed in KVM
@ 2016-11-10 14:10 ` gong lei
  0 siblings, 0 replies; 6+ messages in thread
From: gong lei @ 2016-11-10 14:10 UTC (permalink / raw)
  To: kvm, qemu-devel, pbonzini, arei.gonglei

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


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Qemu-devel] [Bug?] Guest pause because VMPTRLD failed in KVM
@ 2016-11-10 14:10 ` gong lei
  0 siblings, 0 replies; 6+ messages in thread
From: gong lei @ 2016-11-10 14:10 UTC (permalink / raw)
  To: kvm, qemu-devel, pbonzini, arei.gonglei

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


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Bug?] Guest pause because VMPTRLD failed in KVM
  2016-11-10 14:10 ` [Qemu-devel] " gong lei
@ 2016-11-17 12:39   ` Paolo Bonzini
  -1 siblings, 0 replies; 6+ messages in thread
From: Paolo Bonzini @ 2016-11-17 12:39 UTC (permalink / raw)
  To: gong lei, kvm, qemu-devel, arei.gonglei



On 10/11/2016 15:10, gong lei wrote:
>    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. :(

Yes, it should not happen. :(

If it's not reproducible, it's really hard to say what it was, except a
random memory corruption elsewhere or even a bit flip (!).

Paolo

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [Bug?] Guest pause because VMPTRLD failed in KVM
@ 2016-11-17 12:39   ` Paolo Bonzini
  0 siblings, 0 replies; 6+ messages in thread
From: Paolo Bonzini @ 2016-11-17 12:39 UTC (permalink / raw)
  To: gong lei, kvm, qemu-devel, arei.gonglei



On 10/11/2016 15:10, gong lei wrote:
>    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. :(

Yes, it should not happen. :(

If it's not reproducible, it's really hard to say what it was, except a
random memory corruption elsewhere or even a bit flip (!).

Paolo

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Bug?] Guest pause because VMPTRLD failed in KVM
  2016-11-17 12:39   ` [Qemu-devel] " Paolo Bonzini
@ 2016-11-20  8:58     ` gong lei
  -1 siblings, 0 replies; 6+ messages in thread
From: gong lei @ 2016-11-20  8:58 UTC (permalink / raw)
  To: Paolo Bonzini, kvm, qemu-devel, arei.gonglei


On 2016/11/17 20:39, Paolo Bonzini wrote:
>
> On 10/11/2016 15:10, gong lei wrote:
>>     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. :(
> Yes, it should not happen. :(
>
> If it's not reproducible, it's really hard to say what it was, except a
> random memory corruption elsewhere or even a bit flip (!).
>
> Paolo
Thanks for your reply, Paolo :)

-- 
Regards,
-Gonglei


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [Bug?] Guest pause because VMPTRLD failed in KVM
@ 2016-11-20  8:58     ` gong lei
  0 siblings, 0 replies; 6+ messages in thread
From: gong lei @ 2016-11-20  8:58 UTC (permalink / raw)
  To: Paolo Bonzini, kvm, qemu-devel, arei.gonglei


On 2016/11/17 20:39, Paolo Bonzini wrote:
>
> On 10/11/2016 15:10, gong lei wrote:
>>     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. :(
> Yes, it should not happen. :(
>
> If it's not reproducible, it's really hard to say what it was, except a
> random memory corruption elsewhere or even a bit flip (!).
>
> Paolo
Thanks for your reply, Paolo :)

-- 
Regards,
-Gonglei


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2016-11-20  8:58 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-11-10 14:10 [Bug?] Guest pause because VMPTRLD failed in KVM gong lei
2016-11-10 14:10 ` [Qemu-devel] " gong lei
2016-11-17 12:39 ` Paolo Bonzini
2016-11-17 12:39   ` [Qemu-devel] " Paolo Bonzini
2016-11-20  8:58   ` gong lei
2016-11-20  8:58     ` [Qemu-devel] " gong lei

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.