Bug 532086 - Rhev-Block driver causes 'unhandled vm exit' with 32bit win2k3r2sp2 Guest VM on restart
Summary: Rhev-Block driver causes 'unhandled vm exit' with 32bit win2k3r2sp2 Guest VM...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: kvm
Version: 5.4
Hardware: All
OS: Linux
high
medium
Target Milestone: rc
: 5.5
Assignee: Marcelo Tosatti
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On:
Blocks: 552518
TreeView+ depends on / blocked
 
Reported: 2009-10-30 15:12 UTC by Issue Tracker
Modified: 2018-10-27 11:11 UTC (History)
9 users (show)

Fixed In Version: kvm-83-137.el5
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-03-30 07:54:06 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2010:0271 0 normal SHIPPED_LIVE Important: kvm security, bug fix and enhancement update 2010-03-29 13:19:48 UTC

Description Issue Tracker 2009-10-30 15:12:54 UTC
Escalated to Bugzilla from IssueTracker

Comment 1 Issue Tracker 2009-10-30 15:12:57 UTC
Event posted on 10-30-2009 08:46am EDT by Glen Johnson

=Comment: #0=================================================
YOGANANTH SUBRAMANIAN <anantyog.com> -
---Problem Description---
Rhev-Block driver causes  "unhandled vm exit" with 32bit win2k3r2sp2 Guest VM  on restart


Contact Information = anantyog.com

---uname output---
Linux bc1cn6 2.6.18-164.el5 #1 SMP Tue Aug 18 15:51:48 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux

Machine Type = Hs-22

---Debugger---
A debugger is not configured

---Steps to Reproduce---
1)Install the Rhev-block driver from the rhel 5.4 supplement cd on the win2k3 with r2sp2 32-bit
Guest VM
2) boot the machine with drive if=virtio.
3)restart machine



---KVM Component Data---
Userspace tool common name: qemu/kvm

The userspace tool has the following bit modes: 64-bit

Userspace rpm: kvm-83-105.el5_4.7

Userspace tool obtained from project website:  na

*Additional Instructions for anantyog.com:
-Attach ltrace and strace of userspace application.


unhandled vm exit: 0x80000021 vcpu_id 3
rax 0000000000000000 rbx 0000000000000000 rcx 0000000000000000 rdx
0000000000000000
rsi 0000000000000000 rdi 0000000000000000 rsp 0000000000000000 rbp
0000000000000000
r8  0000000000000000 r9  0000000000000000 r10 0000000000000000 r11
0000000000000000
r12 0000000000000000 r13 0000000000000000 r14 0000000000000000 r15
0000000000000000
rip 0000000000000000 rflags 00004002
cs 0000 (00000000/00000000 p 0 dpl 0 db 0 s 0 type 0 l 0 g 0 avl 0)
ds 0000 (00000000/00000000 p 0 dpl 0 db 0 s 0 type 0 l 0 g 0 avl 0)
es 0000 (00000000/00000000 p 0 dpl 0 db 0 s 0 type 0 l 0 g 0 avl 0)
ss 0000 (00000000/00000000 p 0 dpl 0 db 0 s 0 type 0 l 0 g 0 avl 0)
fs 0000 (00000000/00000000 p 0 dpl 0 db 0 s 0 type 0 l 0 g 0 avl 0)
gs 0000 (00000000/00000000 p 0 dpl 0 db 0 s 0 type 0 l 0 g 0 avl 0)
tr 0058 (fffffffff7742350/00000068 p 1 dpl 0 db 0 s 0 type b l 0 g 0 avl 0)
ldt 0000 (00000000/00000000 p 0 dpl 0 db 0 s 0 type 0 l 0 g 0 avl 0)
gdt f7745400/3ff
idt f7745800/7ff
cr0 8001003b cr2 c5800000 cr3 72d000 cr4 6b8 cr8 0 efer 800
Aborted
#dmesg
kvm_handle_exit: unexpected, valid vectoring info (0x80000202) and exit reason
is 0x80000021
kvm_handle_exit: unexpected, valid vectoring info (0x80000202) and exit reason
is 0x80000021


[Qemu cmd line]:
/usr/libexec/qemu-kvm -name 'vm1'  -drive
file=/scratch/images/yogi/images/win2003r2sp2-32.vm1.raw,if=virtio,boot=on -net
nic,vlan=0,macaddr=20:20:20:00:00:01,model=virtio  -net
tap,vlan=0,script=/home/yogi/qemu-ifup  -m 6144  -smp 4  -usbdevice tablet -vnc
:0  -cdrom /usr/share/virtio-win/virtio-win-1.0.0.iso


The Rhev-Block driver for 32bit win2k3 frm the link below does not cause this
error
http://www.linux-kvm.com/sites/default/files/virtio-setup-200908.iso

The error occurs only with the virtio driver   present in the rhel 5.4
supplement cd

Thx
yogi
=Comment: #3=================================================
B. N. POORNIMA <bnpoorni.com> -
I was able to reproduce the problem. Some more information gathered from Yogi:
* Problem happens even when 'if=ide' is used
* This is not seen in 64-bit guests
This event sent from IssueTracker by jkachuck  [IBM-LTC]
 issue 360244

Comment 2 Dor Laor 2009-11-10 12:59:12 UTC
Hmm, the rip is 0 it means that this vcpu died on init. What's the host cpu?
How often does it happen? Just to be sure, this is after a successful installation?

Comment 3 Marcelo Tosatti 2009-11-11 13:13:55 UTC
Dor,

Windows is trying to reboot via triple fault and KVM is mishandling it.

Comment 4 Marcelo Tosatti 2009-11-12 20:20:41 UTC
Fixes for this problem have been posted to kvm-devel.

Comment 7 Issue Tracker 2009-12-01 00:38:02 UTC
Event posted on 11-30-2009 03:41pm EST by Glen Johnson

------- Comment From ryanh.com 2009-11-30 15:40 EDT-------
Proper fixes for this issue have been committed to kvm.git.  Is RH going
to create an updated KVM package with this so we can test them out...

commit 5e8cb552cb8b48244b6d07bff984b3c4080d4bc9
Author: Marcelo Tosatti <mtosatti>
Date:   Wed Nov 11 17:29:49 2009 -0200

KVM: x86: raise TSS exception for NULL CS and SS segments
Windows 2003 uses task switch to triple fault and reboot (the other
exception being reserved pdptrs bits).

Signed-off-by: Marcelo Tosatti <mtosatti>

commit 69ed80357f952ba4da65ff230a38151def2dbb8c
Author: Eddie Dong <eddie.dong>
Date:   Thu Nov 19 17:54:07 2009 +0200

KVM: x86: make double/triple fault promotion generic to all exceptions

Move Double-Fault generation logic out of page fault
exception generating function to cover more generic case.

Signed-off-by: Eddie Dong <eddie.dong>
Signed-off-by: Gleb Natapov <gleb>
Signed-off-by: Marcelo Tosatti <mtosatti>


This event sent from IssueTracker by jkachuck 
 issue 360244

Comment 8 Dor Laor 2009-12-01 07:44:10 UTC
The bug is now in 'post' state and the changes are being reviewed and will be committed shortly.

Comment 14 Qunfang Zhang 2010-01-05 08:17:53 UTC
Hi,Marcelo 
I can not reproduce this bug with the following steps:
1.Install a win2k3-r2-sp2-32bit guest with ide block first.
 /usr/libexec/qemu-kvm -name win2k3-32 -drive file=/root/win2k3-32.qcow2,if=ide -drive file=/media/win2003/x86/en_win_srv_2003_r2_enterprise_with_sp2_cd1_X13-05460.iso,media=cdrom  -net nic,vlan=0,macaddr=20:20:20:00:00:01,model=rtl8139 -net tap,vlan=0,script=/etc/qemu-ifup -m 4G -smp 4 -boot d -usbdevice tablet -vnc :10  -monitor stdio

2.After installed sucessfully, shutdown guest then boot it with the rhel 5.4 supplement CD attached.
/usr/libexec/qemu-kvm -name win2k3-32 -drive file=/root/win2k3-32.qcow2,if=ide -net nic,vlan=0,macaddr=20:20:20:00:00:01,model=rtl8139 -net tap,vlan=0,script=/etc/qemu-ifup -m 4G -smp 4 -boot c -usbdevice tablet -vnc :10 -cdrom /usr/share/virtio-win/virtio-win-1.0.0.iso  -monitor stdio

3.Install the Rhev-block driver from the rhel 5.4 supplement cd on the win2k3
with r2sp2 32-bit

4.Shutdown the guest then boot it with virtio block and virtio NIC card.
/usr/libexec/qemu-kvm -name win2k3-32 -drive file=/root/win2k3-32.qcow2,if=virtio,boot=on -net nic,vlan=0,macaddr=20:20:20:00:00:01,model=virtio -net tap,vlan=0,script=/etc/qemu-ifup -m 4G -smp 4 -boot c -usbdevice tablet -vnc :10 -cdrom /usr/share/virtio-win/virtio-win-1.0.0.iso  -monitor stdio

But, guest meets a BSOD and can not boot with virtio block.
I tried the following steps:
1.Boot guest with ide block and virtio NIC card. Guest can boot successfully and can get IP address.And also I can restart guest successfully.
2.Boot guest with ide system block and another virtio non-system hard disk,guest can boot and restart successfully. The virtio non-system hard disk can be found in Computer management.

So,Marcelo
If I need update some configure file inside guest after I installed virtio block driver so that I can boot the guest with virtio block successfully? 
Or what should I do to reproduce this bug? 

Thanks
Qunfang

Comment 15 Qunfang Zhang 2010-01-05 08:19:17 UTC
The kvm version I used to reproduce this  bug is kvm-83-135.el5.

Comment 17 Marcelo Tosatti 2010-01-06 02:18:32 UTC
Qunfang,

I used the driver package from

https://brewweb.devel.redhat.com/buildinfo?buildID=91481

to reproduce the problem.

Comment 18 Qunfang Zhang 2010-01-06 09:47:48 UTC
Verified this bug in kvm-140,this bug does not exist.
And also re-test this bug in other kvm version,results as follow:

can reproduce in:     kvm-105_4.7; kvm-116
can not reproduce in: kvm-140; kvm-135; kvm-131; kvm-105_4.13

Steps:
0.Install virtio-win package in the host according to Comment#17
1.Install a win2k3-r2-sp2 32bit guest with ide block.
  /usr/libexec/qemu-kvm  -drive file=/root/win2k3-32.raw,media=disk,if=ide   -net nic,vlan=0,macaddr=20:20:20:00:00:01,model=rtl8139 -net tap,vlan=0,script=/etc/qemu-ifup -m 6144 -smp 4 -boot c -usbdevice tablet -vnc :10 -monitor stdio -uuid 95d78d8b-fa35-49a3-a7b7-2eecef93213e

2.After installation,boot the guest with ide block and attach another virtio block(so virtio driver can be distinguished after installed.)
/usr/libexec/qemu-kvm  -drive file=/root/win2k3-32.raw,media=disk,if=ide -drive file=/root/disk.qcow2,media=disk,if=virtio -net nic,vlan=0,macaddr=20:20:20:00:00:01,model=virtio -net tap,vlan=0,script=/etc/qemu-ifup -m 6144 -smp 4 -boot c -usbdevice tablet -vnc :10 -monitor stdio -uuid 95d78d8b-fa35-49a3-a7b7-2eecef93213e -cdrom /usr/share/virtio-win/virtio-win-1.0.0.iso

3.Install virtio block driver from cdrom

4.Restart guest

Comment 20 Issue Tracker 2010-01-08 22:11:53 UTC
Event posted on 01-07-2010 05:43am EST by Glen Johnson

------- Comment From bnpoorni.com 2010-01-07 05:34 EDT-------
RedHat,
Which version of RHEL will include the  kvm version mentioned above that
fixes this bugzilla?


This event sent from IssueTracker by jkachuck 
 issue 360244

Comment 21 Dor Laor 2010-01-10 09:41:23 UTC
(In reply to comment #20)

> RedHat,
> Which version of RHEL will include the  kvm version mentioned above that
> fixes this bugzilla?

It always says in the 'fixed in version' field above: kvm-83-137.el5.
This is in rhel5.5, for 5.4.Z, you can always check the depended BZ above and its version is kvm-83-105.el5_4.17

Comment 24 errata-xmlrpc 2010-03-30 07:54:06 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2010-0271.html


Note You need to log in before you can comment on or make changes to this bug.