1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
|
other: 0.912
KVM: 0.867
vnc: 0.862
device: 0.847
debug: 0.836
performance: 0.831
semantic: 0.829
PID: 0.829
boot: 0.824
graphic: 0.822
permissions: 0.817
socket: 0.808
files: 0.806
network: 0.796
[Qemu-devel] [Bug?] Guest pause because VMPTRLD failed in KVM
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
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
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
|