On Wed, Mar 7, 2012 at 4:41 AM, Avi Kivity <[email protected]> wrote:
> On 02/25/2012 05:35 PM, Doug Goldstein wrote:
>> Hello, I'm seeing the following failure when running on 3.2.1:
>
> <snip funky qemu commandline>
>
>> KVM internal error. Suberror: 1
>> emulation failure
>> EAX=8004003b EBX=38d54633 ECX=c0460a7e EDX=8005003b
>> ESI=e49329a8 EDI=f7c98d60 EBP=00000286 ESP=f7fecf68
>> EIP=f91d1778 EFL=00000282 [--S----] CPL=0 II=0 A20=1 SMM=0 HLT=0
>> ES =007b 00000000 ffffffff 00c0f300 DPL=3 DS [-WA]
>> CS =0060 00000000 ffffffff 00c09b00 DPL=0 CS32 [-RA]
>> SS =0068 00000000 ffffffff 00c09300 DPL=0 DS [-WA]
>> DS =007b 00000000 ffffffff 00c0f300 DPL=3 DS [-WA]
>> FS =0000 00000000 ffffffff 00000000
>> GS =0000 b7f526c0 ffffffff 00000000
>> LDT=0088 c074a020 00000027 00008200 DPL=0 LDT
>> TR =0080 c180a7c4 00002073 00008b00 DPL=0 TSS32-busy
>> GDT= f7c9f000 000000ff
>> IDT= c06fa000 000007ff
>> CR0=8005003b CR2=0046b044 CR3=3100d000 CR4=000006d0
>> DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000
>> DR3=0000000000000000
>> DR6=00000000ffff0ff0 DR7=0000000000000400
>> EFER=0000000000000000
>> Code=?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? <??>
>> ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
>> ?? ?? ?? ?? ?? ??
>
> What are all these ?? doing here? Usually they indicate the bad code,
> but here they don't, this is strange.
>
> Please issue the qemu monitor command
>
> x/20i 0xf91d1778
>
> on the guest that failed (after restarting it). The value comes from
> the EIP register in the dump above, so you can use it for other guests.
>
>
> --
> error compiling committee.c: too many arguments to function
>
Its been a while so I wanted to retry this. For background I have the
following setup.
Host: 3.6.11 kernel, qemu-kvm 1.2.0 + qemu 1.2.2 + extra patches (what
ships in Fedora 18), AMD Opteron 6272 processor.
qemu command line snippet showing CPU configuration: -M pc-1.2 -cpu
Opteron_G4,+perfctr_nb,+perfctr_core
,+topoext,+nodeid_msr,+lwp,+wdt,+skinit,+ibs,+osvw,+cr8legacy,+extapic,+cmp_lega
cy,+fxsr_opt,+mmxext,+osxsave,+monitor,+ht,+vme -enable-kvm -m 4096 -smp 2,socke
ts=1,cores=2,threads=1
libvirt CPU:
<cpu mode='host-model'>
<model fallback='allow'/>
<topology sockets='1' cores='2' threads='1'/>
</cpu>
The error:
KVM internal error. Suberror: 1
emulation failure
EAX=8004003b EBX=00000004 ECX=00000004 EDX=8005003b
ESI=f0f2b510 EDI=f8b1d67e EBP=00000286 ESP=f7feff58
EIP=f9258392 EFL=00000282 [--S----] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =007b 00000000 ffffffff 00c0f300 DPL=3 DS [-WA]
CS =0060 00000000 ffffffff 00c09b00 DPL=0 CS32 [-RA]
SS =0068 00000000 ffffffff 00c09300 DPL=0 DS [-WA]
DS =007b 00000000 ffffffff 00c0f300 DPL=3 DS [-WA]
FS =0000 00000000 ffffffff 00000000
GS =0000 b7f2d6c0 ffffffff 00000000
LDT=0088 c073f020 00000027 00008200 DPL=0 LDT
TR =0080 c3010000 00002073 00008b00 DPL=0 TSS32-busy
GDT= c301e000 000000ff
IDT= c06ee000 000007ff
CR0=8005003b CR2=00bbe2c0 CR3=355e7000 CR4=000006d0
DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000
DR3=0000000000000000
DR6=00000000ffff0ff0 DR7=0000000000000400
EFER=0000000000000000
Code=?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? <??>
?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??
?? ?? ?? ?? ?? ??
# virsh qemu-monitor-command bad-domain --hmp x/20i 0xf9258392
0x00000000f9258392: add %al,(%eax)
0x00000000f9258394: add %al,(%eax)
0x00000000f9258396: add %al,(%eax)
0x00000000f9258398: add %al,(%eax)
0x00000000f925839a: add %al,(%eax)
0x00000000f925839c: add %al,(%eax)
0x00000000f925839e: add %al,(%eax)
0x00000000f92583a0: add %al,(%eax)
0x00000000f92583a2: add %al,(%eax)
0x00000000f92583a4: add %al,(%eax)
0x00000000f92583a6: add %al,(%eax)
0x00000000f92583a8: add %al,(%eax)
0x00000000f92583aa: add %al,(%eax)
0x00000000f92583ac: add %al,(%eax)
0x00000000f92583ae: add %al,(%eax)
0x00000000f92583b0: add %al,(%eax)
0x00000000f92583b2: add %al,(%eax)
0x00000000f92583b4: add %al,(%eax)
0x00000000f92583b6: add %al,(%eax)
0x00000000f92583b8: add %al,(%eax)
When I attempted to resume the VM, either libvirt of qemu stopped me
telling me that resetting the VM is required. But grabbing the memory
at EIP resulted in a different value...
# virsh qemu-monitor-command bad-domain --hmp x/20i 0xf9258392
0x00000000f9258392: dec %eax
0x00000000f9258393: dec %eax
0x00000000f9258394: dec %eax
0x00000000f9258395: dec %eax
0x00000000f9258396: dec %eax
0x00000000f9258397: dec %eax
0x00000000f9258398: dec %eax
0x00000000f9258399: dec %eax
0x00000000f925839a: dec %eax
0x00000000f925839b: dec %eax
0x00000000f925839c: dec %eax
0x00000000f925839d: dec %eax
0x00000000f925839e: dec %eax
0x00000000f925839f: dec %eax
0x00000000f92583a0: dec %eax
0x00000000f92583a1: dec %eax
0x00000000f92583a2: dec %eax
0x00000000f92583a3: dec %eax
0x00000000f92583a4: dec %eax
0x00000000f92583a5: dec %eax
--
Doug Goldstein
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html