Re: WinXP virtual crashes on 0.12.1.2 but not 0.12.1.1

Mark Cave-Ayland
2010-01-06T11:25:33Z

Avi Kivity wrote:

>> I think I'm experiencing a regression with the new qemu-kvm-0.12.1.2
>> release compared to qemu-kvm-0.12.1.1 with a WinXP guest on Linux.
>>
>> I can boot my WinXP guest without a problem under qemu-kvm-0.12.1.1,
>> however under qemu-kvm-0.12.1.2 a couple of seconds after reaching the
>> login screen, the WinXP guest goes BSOD with the following error:
>> DRIVER_UNLOADED_WITHOUT_CANCELING_PENDING_OPERATIONS.
>>
>> I've confirmed by switching between the two installations several
>> times that the error consistently occurs with qemu-kvm-0.12.1.2 but
>> not qemu-kvm-0.12.1.1. Is this a known issue? This is on an x86_64
>> Debian Lenny host with a 2.6.32.2 kernel on Intel.
>
> It's not a known issue. What's your command line? What's your host cpu
> type?

Hi Avi,

Good news - I downloaded the userspace git repository and managed to
identify the offending commit between 0.12.1.1 and 0.12.1.2 using git
bisect:

4dad7ff32aa6dcf18cef0c606d8fb43ff0b939a1 is first bad commit
commit 4dad7ff32aa6dcf18cef0c606d8fb43ff0b939a1
Author: Avi Kivity <avi@redhat.com>
Date: Mon Dec 28 10:48:00 2009 +0200

Reinstate cpuid vendor override when kvm is enabled

Due to upstream qemu changes we no longer expose the host cpu vendor id
to the guest. This leads to failures when the syscall/sysenter
instructions
are used in compatibility mode.

Change the default to override when kvm is enabled.

Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>

HTH,

Mark.

--
Mark Cave-Ayland - Senior Technical Architect
PostgreSQL - PostGIS
Sirius Corporation plc - control through freedom
http://www.siriusit.co.uk
t: +44 870 608 0063

Sirius Labs: http://www.siriusit.co.uk/labs