Bug 855826

Summary: [virtio-win][block]guest BSOD after upgrading virtio-win to build 35 with upstream qemu-kvm
Product: Red Hat Enterprise Linux 6 Reporter: Mike Cao <bcao>
Component: virtio-winAssignee: Vadim Rozenfeld <vrozenfe>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: high Docs Contact:
Priority: high    
Version: 6.4CC: acathrow, bcao, bsarathy, dawu, dyasny, michen, syeghiay, xwei
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-02-21 10:40:35 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
snapshot
none
win7 0x3d none

Description Mike Cao 2012-09-10 10:31:27 UTC
Description of problem:


Version-Release number of selected component (if applicable):
virtio-win-prewhql-35

How reproducible:
100%

Steps to Reproduce:
1.Start VM w/ upstream qemu and install drivers from virtio-win-1.5.3
CLI:/usr/local/bin/qemu-system-x86_64 -smp 2 -m 3G --enable-kvm -usb -device usb-ta
blet -drive file=win7-64.test,format=qcow2,if=none,id=drive-virtio0,werror=stop
,rerror=stop -device virtio-blk-pci,drive=drive-virtio0,id=virtio-blk-pci0,boot
index=1 -uuid e0c43eed-6c1a-4ad0-8254-74cea72b1be3 -rtc base=localtime,clock=ho
st,driftfix=slew -name win7-32-blk -vnc :1 -monitor stdio -netdev tap,id=hostne
t0 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=00:1a:4a:42:04:9c,bus=pci
.0 -cdrom /home/iso/7db7d438-49c0-403c-98bb-86e1eb368cbf/images/11111111-1111-1
111-1111-111111111111/en_windows_7_ultimate_with_sp1_x64_dvd_618240.iso -fda /h
ome/iso/7db7d438-49c0-403c-98bb-86e1eb368cbf/images/11111111-1111-1111-1111-111
111111111/virtio-win-1.5.4.vfd

2.Upgrate virtio-win-1.5.4 to virtio-win-prewhql-35 block driver
3.reboot
  
Actual results:
Guest always BSOD

Expected results:
no BSOD occurs 


Additional info:
Did not manage to reproduce it on rhel6 qemu-kvm yet ,will try later

Comment 1 Mike Cao 2012-09-10 10:32:43 UTC
Use !analyze -v to get detailed debugging information.

BugCheck D1, {3, 2, 8, 3}

Probably caused by : storport.sys ( storport!RaidpAdapterDpcRoutine+53 )

Followup: MachineOwner
---------

1: kd> !analyze -v
*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

DRIVER_IRQL_NOT_LESS_OR_EQUAL (d1)
An attempt was made to access a pageable (or completely invalid) address at an
interrupt request level (IRQL) that is too high.  This is usually
caused by drivers using improper addresses.
If kernel debugger is available get stack backtrace.
Arguments:
Arg1: 0000000000000003, memory referenced
Arg2: 0000000000000002, IRQL
Arg3: 0000000000000008, value 0 = read operation, 1 = write operation
Arg4: 0000000000000003, address which referenced memory

Debugging Details:
------------------


READ_ADDRESS:  0000000000000003 

CURRENT_IRQL:  2

FAULTING_IP: 
+0
00000000`00000003 ??              ???

PROCESS_NAME:  System

DEFAULT_BUCKET_ID:  WIN7_DRIVER_FAULT

BUGCHECK_STR:  0xD1

TRAP_FRAME:  fffff88002e5baf0 -- (.trap 0xfffff88002e5baf0)
NOTE: The trap frame does not contain all registers.
Some register values may be zeroed or incorrect.
rax=fffff88002e5bbf8 rbx=0000000000000000 rcx=fffffa8002920570
rdx=fffffa8002920570 rsi=0000000000000000 rdi=0000000000000000
rip=0000000000000003 rsp=fffff88002e5bc88 rbp=fffffa8002ece060
 r8=fffff88002e5bbf8  r9=0000000000000095 r10=fffffa80024f9bc0
r11=0000000000000002 r12=0000000000000000 r13=0000000000000000
r14=0000000000000000 r15=0000000000000000
iopl=0         nv up ei ng nz na po nc
00000000`00000003 ??              ???
Resetting default scope

LAST_CONTROL_TRANSFER:  from fffff800026d9be9 to fffff800026da640

FAILED_INSTRUCTION_ADDRESS: 
+0
00000000`00000003 ??              ???

STACK_TEXT:  
fffff880`02e5b9a8 fffff800`026d9be9 : 00000000`0000000a 00000000`00000003 00000000`00000002 00000000`00000008 : nt!KeBugCheckEx
fffff880`02e5b9b0 fffff800`026d8860 : fffffa80`024f9b10 fffff880`010609e8 00000000`00000000 00000000`00000000 : nt!KiBugCheckDispatch+0x69
fffff880`02e5baf0 00000000`00000003 : fffff880`0104b553 00000000`00000000 fffff800`000000cd 00000000`ffffffed : nt!KiPageFault+0x260
fffff880`02e5bc88 fffff880`0104b553 : 00000000`00000000 fffff800`000000cd 00000000`ffffffed fffffa80`02ece060 : 0x3
fffff880`02e5bc90 fffff800`026e5b1c : fffff880`009e7180 0000005d`0000006c fffffa80`02ece128 fffffa80`02f51b98 : storport!RaidpAdapterDpcRoutine+0x53
fffff880`02e5bcd0 fffff800`026d236a : fffff880`009e7180 fffff880`009f1f40 00000000`00000000 fffff880`0104b500 : nt!KiRetireDpcList+0x1bc
fffff880`02e5bd80 00000000`00000000 : fffff880`02e5c000 fffff880`02e56000 fffff880`02e5bd40 00000000`00000000 : nt!KiIdleLoop+0x5a


STACK_COMMAND:  kb

FOLLOWUP_IP: 
storport!RaidpAdapterDpcRoutine+53
fffff880`0104b553 ff442448        inc     dword ptr [rsp+48h]

SYMBOL_STACK_INDEX:  4

SYMBOL_NAME:  storport!RaidpAdapterDpcRoutine+53

FOLLOWUP_NAME:  MachineOwner

MODULE_NAME: storport

IMAGE_NAME:  storport.sys

DEBUG_FLR_IMAGE_TIMESTAMP:  4ce7a456

FAILURE_BUCKET_ID:  X64_0xD1_CODE_AV_BAD_IP_storport!RaidpAdapterDpcRoutine+53

BUCKET_ID:  X64_0xD1_CODE_AV_BAD_IP_storport!RaidpAdapterDpcRoutine+53

Followup: MachineOwner
---------

Comment 4 Vadim Rozenfeld 2012-09-10 13:03:36 UTC
Thanks Mike.
I'll try it on upstream.
Meanwhile, could you please continue testing on rhel?

Cheers,
Vadim.

Comment 5 Mike Cao 2012-09-10 17:14:08 UTC
(In reply to comment #4)
> Thanks Mike.
> I'll try it on upstream.
> Meanwhile, could you please continue testing on rhel?
> 
> Cheers,
> Vadim.

Sure

Comment 6 Mike Cao 2012-09-11 02:26:32 UTC
(In reply to comment #4)
> Thanks Mike.
> I'll try it on upstream.
> Meanwhile, could you please continue testing on rhel?
> 
> Cheers,
> Vadim.

Re-Test it on RHEL6 qemu-kvm ,Did not reproduce .
Upstream qemu-kvm + virtio-win-1.5.4 can not reproduce either .

Mike

Comment 7 Xiaoqing Wei 2012-09-12 03:36:27 UTC
Created attachment 611974 [details]
snapshot

Met this issue when installaing Win2008r2 on RHEL6 HOST using -35 virtio-win-prewhql:

BSOD code 0xd1

/home/staf-kvm/autotest/client/tests/kvm/qemu -name 'vm1' -nodefaults -chardev socket,id=qmp_monitor_id_qmpmonitor1,path=/tmp/monitor-qmpmonitor1-20120911-195747-uoQ5,server,nowait -mon chardev=qmp_monitor_id_qmpmonitor1,mode=control -chardev socket,id=serial_id_20120911-195747-uoQ5,path=/tmp/serial-20120911-195747-uoQ5,server,nowait -device isa-serial,chardev=serial_id_20120911-195747-uoQ5 -device ich9-usb-uhci1,id=usb1,bus=pci.0,addr=0x4 -drive file='/home/staf-kvm/autotest/client/tests/kvm/images/win2008r2-64-virtio.qcow2',if=none,id=drive-virtio-disk1,media=disk,cache=none,boot=off,snapshot=off,format=qcow2,aio=threads -device virtio-blk-pci,bus=pci.0,addr=0x5,drive=drive-virtio-disk1,id=virtio-disk1 -device virtio-net-pci,netdev=idWefblE,mac=9a:18:98:08:52:7a,id=ndev00idWefblE,bus=pci.0,addr=0x3 -netdev tap,id=idWefblE,vhost=on,fd=21 -m 4096 -smp 2,cores=1,threads=1,sockets=2 -cpu 'SandyBridge' -drive file='/home/staf-kvm/autotest/client/tests/kvm/isos/ISO/Win2008R2/en_windows_server_2008_r2_standard_enterprise_datacenter_and_web_with_sp1_x64_dvd_617601.iso',if=none,id=drive-ide0-0-0,media=cdrom,snapshot=off,format=raw -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 -drive file='/home/staf-kvm/autotest/client/tests/kvm/isos/windows/winutils.iso',if=none,id=drive-ide0-0-1,media=cdrom,snapshot=off,format=raw -device ide-drive,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1 -drive file='/home/staf-kvm/autotest/client/tests/kvm/isos/windows/virtio-win.iso',if=none,id=drive-ide0-1-0,media=cdrom,snapshot=off,format=raw -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -drive file='/home/staf-kvm/autotest/client/tests/kvm/images/win2008-r2-64/answer.vfd',if=none,id=fdc0-0-0,media=disk,snapshot=off,readonly=off,format=raw -global isa-fdc.driveA=fdc0-0-0 -device usb-tablet,id=usb-tablet1,bus=usb1.0,port=1 -spice port=3000,password=123456,addr=0,image-compression=auto_glz,jpeg-wan-compression=auto,zlib-glz-wan-compression=auto,streaming-video=all,agent-mouse=on,playback-compression=on,ipv4 -vga qxl -global qxl-vga.vram_size=33554432 -rtc base=localtime,clock=host,driftfix=slew -M rhel6.4.0 -boot order=cdn,once=d,menu=off   -bios /usr/share/seabios/bios-pm.bin -enable-kvm

Comment 8 Xiaoqing Wei 2012-09-12 04:30:51 UTC
Created attachment 611984 [details]
win7 0x3d

And met BSOD during installing win7.64 on same machine, same virtio-win

BSOD code: 0x3d, not sure if it's the same issue.

Comment 9 Vadim Rozenfeld 2012-09-12 06:11:22 UTC
(In reply to comment #8)
> Created attachment 611984 [details]
> win7 0x3d
> 
> And met BSOD during installing win7.64 on same machine, same virtio-win
> 
> BSOD code: 0x3d, not sure if it's the same issue.

Is it reproducible? If yes, could you please try build 34 on the same setup?

Thank you,
Vadim.

Comment 10 Xiaoqing Wei 2012-09-13 06:30:13 UTC
(In reply to comment #9)
> (In reply to comment #8)
> > Created attachment 611984 [details]
> > win7 0x3d
> > 
> > And met BSOD during installing win7.64 on same machine, same virtio-win
> > 
> > BSOD code: 0x3d, not sure if it's the same issue.
> 
> Is it reproducible? If yes, could you please try build 34 on the same setup?
> 
> Thank you,
> Vadim.

I tried to repro it, but it now BSOD w/ 0xd1, same as bz desc.

I will update when it repro w/ 0x3d.


Regards,
Xiaoqing.

Comment 12 Vadim Rozenfeld 2012-10-09 08:39:38 UTC
Please try drivers from build 40, available at
http://download.devel.redhat.com/brewroot/packages/virtio-win-prewhql/0.1/40/win/virtio-win-prewhql-0.1.zip

Thank you,
Vadim.

Comment 13 dawu 2012-10-15 03:32:05 UTC
Reproduce this bug on build virtio-win-prewhql-35, Verified this bug on build virtio-win-prewhql-41 with the same steps in comment0

CLI: 
/usr/local/bin/qemu-system-x86_64 -smp 2 -m 3G --enable-kvm -usb -device usb-tablet -drive file=win7-64-bug855826.qcow2,format=qcow2,if=none,id=drive-virtio0,werror=stop,rerror=stop -device virtio-blk-pci,drive=drive-virtio0,id=virtio-blk-pci0,bootindex=1 -netdev tap,id=hostnet0,script=/etc/qemu-ifup0 -device e1000,netdev=hostnet0,mac=00:22:5a:22:25:06,bus=pci.0,addr=0x4,id=net0 -uuid 29b18693-71e3-4953-b575-7bb15d6ec469 -rtc base=localtime,clock=host,driftfix=slew -name win7-64-blk -vnc :1 -monitor stdio -fda virtio-win-1.5.4.vfd -drive file=en_windows_7_ultimate_with_sp1_x64_dvd_618240.iso,if=none,id=drive-ide0-0-1,werror=stop,rerror=stop,cache=none,format=raw,media=cdrom -device ide-drive,drive=drive-ide0-0-1,id=ide0-0-1

Actually Results:

On version virtio-win-prewhql-35, issue reproduced.
On version virtio-win-prewhql-41, Guest reboot successfully without any error after upgrade driver from virtio-win-1.5.4 to virtio-win-prewhql-41

Based on above, this issue has been fixed.

Thanks for developer's efforts!
Best Regards,
Dawn

Comment 15 Mike Cao 2012-10-30 07:42:30 UTC
Based on comment #13 ,move status to verified.

Comment 16 errata-xmlrpc 2013-02-21 10:40:35 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2013-0441.html