Bug 1204453

Summary: win7-64 guest failed to reboot with BSOD "Error Code: 0x0000001E"
Product: Red Hat Enterprise Linux 6 Reporter: xiagao
Component: qemu-kvmAssignee: Gal Hammer <ghammer>
Status: CLOSED WONTFIX QA Contact: Virtualization Bugs <virt-bugs>
Severity: high Docs Contact:
Priority: high    
Version: 6.7CC: ailan, chayang, coli, ghammer, juzhang, meyang, michen, mkenneth, ngu, qzhang, rbalakri, rpacheco, shuang, virt-maint, xiagao, xuhan, yfu, yvugenfi
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1238569 (view as bug list) Environment:
Last Closed: 2017-12-06 12:04:39 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:
Bug Depends On:    
Bug Blocks: 1238569, 1260341, 1359965    
Attachments:
Description Flags
add screendump for this bug
none
Guest primary disk image with the bz none

Description xiagao 2015-03-22 07:18:37 UTC
Description of problem:
Fail to reboot Win7.64 guest on rhel6 host , error code: 0x0000001E.


Version-Release number of selected component (if applicable):
kernel-2.6.32-544.el6.x86_64
qemu-kvm-rhev-0.12.1.2-2.458.el6.x86_64
virtio-win:virtio-win-1.7.3.iso
Guest: Win7 64bit

How reproducible:
sometimes

Steps to Reproduce:
1. boot up win7 64bit guest in RHEL.6.7 host.
2. reboot guest for 50 times

Actual results:
reboot failed with BSOD for the 15th time

Expected results:
guest could be reboot with no errors.

Additional info:
1.CLI
/usr/bin/qemu-kvm \
    -S  \
    -name 'virt-tests-vm1' \
    -M rhel6.6.0  \
    -nodefaults  \
    -vga qxl \
    -device AC97,bus=pci.0,addr=03  \
    -chardev socket,id=qmp_id_qmpmonitor1,path=/tmp/monitor-qmpmonitor1-20150318-121603-SCNrkSOT,server,nowait \
    -mon chardev=qmp_id_qmpmonitor1,mode=control  \
    -chardev socket,id=qmp_id_catch_monitor,path=/tmp/monitor-catch_monitor-20150318-121603-SCNrkSOT,server,nowait \
    -mon chardev=qmp_id_catch_monitor,mode=control  \
    -chardev socket,id=serial_id_serial0,path=/tmp/serial-serial0-20150318-121603-SCNrkSOT,server,nowait \
    -device isa-serial,chardev=serial_id_serial0  \
    -chardev socket,id=seabioslog_id_20150318-121603-SCNrkSOT,path=/tmp/seabios-20150318-121603-SCNrkSOT,server,nowait \
    -device isa-debugcon,chardev=seabioslog_id_20150318-121603-SCNrkSOT,iobase=0x402 \
    -device ich9-usb-uhci1,id=usb1,bus=pci.0,addr=04 \
    -drive id=drive_image1,if=none,cache=none,snapshot=off,aio=native,file=/mnt/nfs_images/win7-64-sp1-virtio.qcow2 \
    -device virtio-blk-pci,id=image1,drive=drive_image1,bootindex=0,bus=pci.0,addr=05 \
    -device virtio-net-pci,mac=9a:a5:a6:a7:a8:a9,id=idL40uNN,vectors=4,netdev=idVeE6i0,bus=pci.0,addr=06  \
    -netdev tap,id=idVeE6i0,vhost=on,vhostfd=20,fd=19  \
    -m 16384  \
    -smp 8,maxcpus=8,cores=4,threads=1,sockets=2  \
    -cpu 'Opteron_G4',hv_relaxed \
    -drive id=drive_cd1,if=none,snapshot=off,aio=native,media=cdrom,file=/home/my_auto/autotest-devel/client/tests/virt/shared/data/isos/windows/winutils.iso \
    -device ide-drive,id=cd1,drive=drive_cd1,bootindex=1,bus=ide.0,unit=0 \
    -device usb-tablet,id=usb-tablet1,bus=usb1.0,port=1  \
    -spice port=3000,password=123456,addr=0,image-compression=auto_glz,zlib-glz-wan-compression=auto,streaming-video=all,agent-mouse=on,playback-compression=on,ipv4  \
    -rtc base=localtime,clock=host,driftfix=slew  \
    -boot order=cdn,once=c,menu=off,strict=off \
    -enable-kvm
2.CPU info
# cat /proc/cpuinfo 
processor	: 15
vendor_id	: AuthenticAMD
cpu family	: 21
model		: 1
model name	: AMD Opteron(tm) Processor 4284                 
stepping	: 2
cpu MHz		: 2999.926
cache size	: 2048 KB
physical id	: 1
siblings	: 8
core id		: 7
cpu cores	: 4
apicid		: 23
initial apicid	: 23
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nonstop_tsc extd_apicid aperfmperf pni pclmulqdq monitor ssse3 cx16 sse4_1 sse4_2 popcnt aes xsave avx lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs xop skinit wdt lwp fma4 nodeid_msr topoext perfctr_core perfctr_nb cpb npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold
bogomips	: 5999.12
TLB size	: 1536 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 48 bits physical, 48 bits virtual
power management: ts ttp tm 100mhzsteps hwpstate cpb


# lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                16
On-line CPU(s) list:   0-15
Thread(s) per core:    2
Core(s) per socket:    4
Socket(s):             2
NUMA node(s):          2
Vendor ID:             AuthenticAMD
CPU family:            21
Model:                 1
Stepping:              2
CPU MHz:               2999.926
BogoMIPS:              5999.12
Virtualization:        AMD-V
L1d cache:             16K
L1i cache:             64K
L2 cache:              2048K
L3 cache:              6144K
NUMA node0 CPU(s):     0-7
NUMA node1 CPU(s):     8-15

3.get memory.dmp win guest.  (attached)

4.using windebug tool to get debug info of memory.dmp

16.2: kd:x86> !analyze -v
*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

KMODE_EXCEPTION_NOT_HANDLED (1e)
This is a very common bugcheck.  Usually the exception address pinpoints
the driver/function that caused the problem.  Always note this address
as well as the link date of the driver/image that contains this address.
Arguments:
Arg1: 0000000000000000, The exception code that was not handled
Arg2: 0000000000000000, The address that the exception occurred at
Arg3: 0000000000000000, Parameter 0 of the exception
Arg4: 0000000000000000, Parameter 1 of the exception

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


DEFAULT_BUCKET_ID:  WIN7_DRIVER_FAULT

BUGCHECK_STR:  0x1E

CURRENT_IRQL:  0

ANALYSIS_VERSION: 6.3.9600.16520 (debuggers(dbg).140127-0329) amd64fre

LAST_CONTROL_TRANSFER:  from 0000000000000000 to 0000000000000000

STACK_TEXT:  
00000000 00000000 00000000 00000000 00000000 0x0


STACK_COMMAND:  kb

SYMBOL_NAME:  ANALYSIS_INCONCLUSIVE

FOLLOWUP_NAME:  MachineOwner

MODULE_NAME: Unknown_Module

IMAGE_NAME:  Unknown_Image

DEBUG_FLR_IMAGE_TIMESTAMP:  0

IMAGE_VERSION:  

BUCKET_ID:  INVALID_KERNEL_CONTEXT

FAILURE_BUCKET_ID:  INVALID_KERNEL_CONTEXT

ANALYSIS_SOURCE:  KM

FAILURE_ID_HASH_STRING:  km:invalid_kernel_context

FAILURE_ID_HASH:  {ef5f68ed-c19c-e34b-48ec-8a37cd6f3937}

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

Comment 2 Gal Hammer 2015-05-03 12:39:55 UTC
Can you please provided a link to the compressed memory.dmp file? Thanks.

Comment 4 Mike Cao 2015-08-14 06:47:47 UTC
Hit the same issue on RHEL6.7.z with windows 8.1 64 bit and windows server 2012R2

Comment 6 Chao Yang 2015-09-10 05:03:10 UTC
In my case of win2012r2, removing hv_relaxed fixed BSOD.

Comment 7 Chao Yang 2015-09-10 05:08:51 UTC
(In reply to Chao Yang from comment #6)
> In my case of win2012r2, removing hv_relaxed fixed BSOD.

Ignore above comment.

Comment 11 Yanan Fu 2015-10-14 11:02:35 UTC
win8, 64 bit guest with rhel6.8 have the same issue when first install from iso.

kernel-2.6.32-580.el6.x86_64
qemu-kvm-0.12.1.2-2.481.el6.x86_64
virtio-win-1.8.0.iso

steps to reproduce:
1.qemu-img create -f qcow2 /home/autotest/client/tests/virt/shared/data/images/win8-64.1-virtio-scsi.qcow2 30G 

2.boot the guest,and after seabios show guest boot from cd, it show BSOD with error code "0x0000001E"

CML:
/usr/libexec/qemu-kvm \
    -S  \
    -name 'virt-tests-vm1' \
    -machine rhel6.6.0  \
    -nodefaults  \
    -vga qxl \
    -device intel-hda,bus=pci.0,addr=03 \
    -device hda-duplex  \
    -chardev socket,id=qmp_id_qmpmonitor1,path=/tmp/monitor-qmpmonitor1-20151012-103510-6rkrkwYs,server,nowait \
    -mon chardev=qmp_id_qmpmonitor1,mode=control  \
    -chardev socket,id=qmp_id_catch_monitor,path=/tmp/monitor-catch_monitor-20151012-103510-6rkrkwYs,server,nowait \
    -mon chardev=qmp_id_catch_monitor,mode=control \
    -device pvpanic,ioport=0x505,id=idgztypg  \
    -chardev socket,id=serial_id_serial0,path=/tmp/serial-serial0-20151012-103510-6rkrkwYs,server,nowait \
    -device isa-serial,chardev=serial_id_serial0  \
    -chardev socket,id=seabioslog_id_20151012-103510-6rkrkwYs,path=/tmp/seabios-20151012-103510-6rkrkwYs,server,nowait \
    -device isa-debugcon,chardev=seabioslog_id_20151012-103510-6rkrkwYs,iobase=0x402 \
    -device ich9-usb-ehci1,id=usb1,addr=1d.7,multifunction=on,bus=pci.0 \
    -device ich9-usb-uhci1,id=usb1.0,multifunction=on,masterbus=usb1.0,addr=1d.0,firstport=0,bus=pci.0 \
    -device ich9-usb-uhci2,id=usb1.1,multifunction=on,masterbus=usb1.0,addr=1d.2,firstport=2,bus=pci.0 \
    -device ich9-usb-uhci3,id=usb1.2,multifunction=on,masterbus=usb1.0,addr=1d.4,firstport=4,bus=pci.0 \
    -device virtio-scsi-pci,id=virtio_scsi_pci0,bus=pci.0,addr=04 \
    -drive id=drive_image1,if=none,cache=none,snapshot=off,aio=threads,format=qcow2,file=/home/autotest/client/tests/virt/shared/data/images/win8-64.1-virtio-scsi.qcow2 \
    -device scsi-hd,id=image1,drive=drive_image1 \
    -device virtio-net-pci,mac=9a:80:81:82:83:84,id=idq4s4N2,vectors=4,netdev=id7soH5K,bus=pci.0,addr=05  \
    -netdev tap,id=id7soH5K,vhost=on  \
    -m 65536  \
-smp 32,maxcpus=32,cores=16,threads=1,sockets=2  \
    -cpu 'Opteron_G5',+sep,hv_relaxed \
    -drive id=drive_cd1,if=none,snapshot=off,aio=threads,media=cdrom,file=/home/autotest/client/tests/virt/shared/data/isos/ISO/Win8.1/en_windows_8_1_enterprise_x64_dvd_2971902.iso \
    -device ide-drive,id=cd1,drive=drive_cd1,bus=ide.0,unit=0 \
    -drive id=drive_winutils,if=none,snapshot=off,aio=threads,media=cdrom,file=/home/autotest/client/tests/virt/shared/data/isos/windows/winutils.iso \
    -device ide-drive,id=winutils,drive=drive_winutils,bus=ide.0,unit=1 \
    -drive id=drive_unattended,if=none,snapshot=off,aio=threads,media=cdrom,file=/home/autotest/client/tests/virt/shared/data/images/win8.1-64/autounattend.iso \
    -device ide-drive,id=unattended,drive=drive_unattended,bus=ide.1,unit=0 \
    -device usb-tablet,id=usb-tablet1,bus=usb1.0,port=1  \
    -spice port=3000,disable-ticketing,ipv4  \
    -rtc base=localtime,clock=host,driftfix=slew  \
    -boot order=cdn,once=d,menu=off,strict=off \
    -enable-kvm \
    -monitor stdio \

Comment 12 Yanan Fu 2015-10-14 11:05:25 UTC
Created attachment 1082781 [details]
add screendump for this bug

Comment 13 Yanan Fu 2015-10-14 11:08:07 UTC
win2012, 64 bit, is same with win 8,64 bit.

Comment 20 Miya Chen 2015-12-10 03:37:55 UTC
As discussed with xiaoling, she will continue run the kvm acceptance testing where the bug was firstly found to see if it could be reproducible with latest rhel6.8 build and give an update here.

Comment 21 xiagao 2015-12-13 12:52:33 UTC
(In reply to Miya Chen from comment #20)
> As discussed with xiaoling, she will continue run the kvm acceptance testing
> where the bug was firstly found to see if it could be reproducible with
> latest rhel6.8 build and give an update here.

yes, i have run kvm acceptance testing for 5 times with the latest rhel6.8, but have not hit this issue.

package version:
qemu-kvm-rhev-0.12.1.2-2.481.el6.x86_64
kernel-2.6.32-590.el6.x86_64

thanks,
xiaoling

Comment 25 Gu Nini 2016-01-12 09:27:55 UTC
Created attachment 1113886 [details]
Guest primary disk image with the bz

I met the bz with following qemu cmd line on rhel6.8 when just intended to install a Win8.1 x86_64 guest:

/usr/libexec/qemu-kvm \
    -name 'virt-tests-vm1' \
    -machine rhel6.6.0  \
    -nodefaults  \
    -vga std \
    -boot menu=on \
    -device AC97,bus=pci.0,addr=03  \
    -chardev socket,id=qmp_id_qmpmonitor1,path=/tmp/monitor-qmpmonitor1-20160111-114113-ffrHtgsA,server,nowait \
    -mon chardev=qmp_id_qmpmonitor1,mode=control  \
    -chardev socket,id=qmp_id_catch_monitor,path=/tmp/monitor-catch_monitor-20160111-114113-ffrHtgsA,server,nowait \
    -mon chardev=qmp_id_catch_monitor,mode=control \
    -device pvpanic,ioport=0x505,id=id5sYd0M  \
    -chardev socket,id=serial_id_serial0,path=/tmp/serial-serial0-20160111-114113-ffrHtgsA,server,nowait \
    -device isa-serial,chardev=serial_id_serial0  \
    -chardev socket,id=seabioslog_id_20160111-114113-ffrHtgsA,path=/tmp/seabios-20160111-114113-ffrHtgsA,server,nowait \
    -device isa-debugcon,chardev=seabioslog_id_20160111-114113-ffrHtgsA,iobase=0x402 \
    -device ich9-usb-ehci1,id=usb1,addr=1d.7,multifunction=on,bus=pci.0 \
    -device ich9-usb-uhci1,id=usb1.0,multifunction=on,masterbus=usb1.0,addr=1d.0,firstport=0,bus=pci.0 \
    -device ich9-usb-uhci2,id=usb1.1,multifunction=on,masterbus=usb1.0,addr=1d.2,firstport=2,bus=pci.0 \
    -device ich9-usb-uhci3,id=usb1.2,multifunction=on,masterbus=usb1.0,addr=1d.4,firstport=4,bus=pci.0 \
    -drive id=drive_image1,if=none,cache=none,snapshot=off,aio=native,format=qcow2,file=/home/testide.qcow2 \
    -device ide-drive,id=image1,drive=drive_image1,bootindex=0,bus=ide.1,unit=0 \
    -device virtio-net-pci,mac=9a:24:25:26:27:28,id=idOby8mb,vectors=4,netdev=id0Gm5Ev,bus=pci.0,addr=05  \
    -netdev tap,id=id0Gm5Ev,vhost=on  \
    -m 15679  \
    -smp 4,maxcpus=4,cores=2,threads=1,sockets=2  \
    -cpu 'Haswell',hv_relaxed \
    -drive id=drive_cd1,if=none,snapshot=off,aio=native,media=cdrom,file=/home/autotest/client/tests/virt/shared/data/isos/ISO/Win8.1/en_windows_8_1_enterprise_x64_dvd_2971902.iso \
    -device ide-drive,id=cd1,drive=drive_cd1,bootindex=1,bus=ide.0,unit=0 \
    -drive id=drive_winutils,if=none,snapshot=off,aio=native,media=cdrom,file=/home/autotest/client/tests/virt/shared/data/isos/windows/winutils.iso \
    -device ide-drive,id=winutils,drive=drive_winutils,bootindex=2,bus=ide.0,unit=1 \
    -drive id=drive_virtio,if=none,snapshot=off,aio=native,media=cdrom,file=/home/autotest/client/tests/virt/shared/data/isos/windows/virtio-win.iso.el6 \
    -device ide-drive,id=virtio,drive=drive_virtio,bootindex=4,bus=ide.1,unit=1 \
    -device usb-tablet,id=usb-tablet1,bus=usb1.0,port=1  \
    -vnc :0  \
    -rtc base=localtime,clock=host,driftfix=slew  \
    -boot order=cdn,once=d,menu=off,strict=off \
    -enable-kvm \
    -monitor stdio

The primary disk image of the guest is attached; the detailed sw versions are as follows:
Host kernel: 2.6.32-595.el6.x86_64
Qemu-kvm-rhev: qemu-kvm-rhev-0.12.1.2-2.483.el6.x86_64
Virtio-win: virtio-win-1.7.5-0.el6.iso

Comment 33 Jan Kurik 2017-12-06 12:04:39 UTC
Red Hat Enterprise Linux 6 is in the Production 3 Phase. During the Production 3 Phase, Critical impact Security Advisories (RHSAs) and selected Urgent Priority Bug Fix Advisories (RHBAs) may be released as they become available.

The official life cycle policy can be reviewed here:

http://redhat.com/rhel/lifecycle

This issue does not meet the inclusion criteria for the Production 3 Phase and will be marked as CLOSED/WONTFIX. If this remains a critical requirement, please contact Red Hat Customer Support to request a re-evaluation of the issue, citing a clear business justification. Note that a strong business justification will be required for re-evaluation. Red Hat Customer Support can be contacted via the Red Hat Customer Portal at the following URL:

https://access.redhat.com/