Bug 1253168

Summary: win2012r2 guest would be black screen when booting vm
Product: Red Hat Enterprise Linux 7 Reporter: Xueqiang Wei <xuwei>
Component: qemu-kvmAssignee: Vadim Rozenfeld <vrozenfe>
Status: CLOSED NOTABUG QA Contact: Yiqian Wei <yiwei>
Severity: unspecified Docs Contact:
Priority: high    
Version: 7.2CC: ailan, coli, ehabkost, hhuang, huding, jinzhao, juzhang, knoel, michen, pbonzini, rbalakri, ricky.schneberger, rkrcmar, shuang, virt-bugs, virt-maint, vrozenfe, weliao, xuhan, xuwei, yfu
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1139928 Environment:
Last Closed: 2017-06-22 02:26:16 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: 1139928    
Bug Blocks:    

Comment 1 Xueqiang Wei 2015-08-13 07:33:17 UTC
Version-Release

kernel-3.10.0-302.el7.x86_64
qemu-kvm-1.5.3-99.el7
virtio-win-1.7.4

Comment 7 juzhang 2017-01-12 09:28:58 UTC
Hi Wei,

Could you have a try?

Best Regards,
Junyi

Comment 8 Yiqian Wei 2017-06-21 01:55:17 UTC
can not reproduce this bug with latest version.
host version:
qemu-kvm:qemu-kvm-1.5.3-141.el7.x86_64
kernel:kernel-3.10.0-685.el7.x86_64
virtio-win:virtio-win-1.9.1-0.el7.noarch
qxl driver:qxlwddm-0.15
guest:win2012r2-64bit

test steps
1.boot a guest with virtio-scsi
/usr/libexec/qemu-kvm  \
-name win2012r2  \
-M pc \
-cpu SandyBridge,enforce \
-m 4096 \
-realtime mlock=off \
-smp 4,sockets=2,cores=2,threads=1 \
-uuid d7828e5c-3a66-421e-9e83-beea9457fcb8 \
-no-user-config \
-nodefaults \
-chardev socket,id=charmonitor,path=/tmp/monitor.sock,server,nowait \
-mon chardev=charmonitor,id=monitor,mode=control \
-chardev socket,id=serial_id_serial0,path=/tmp/serial-serial0,server,nowait \
-device isa-serial,chardev=serial_id_serial0  \
-chardev socket,id=seabioslog_id,path=/tmp/seabios123,server,nowait \
-device isa-debugcon,chardev=seabioslog_id,iobase=0x402 \
-rtc base=localtime,driftfix=slew \
-global kvm-pit.lost_tick_policy=delay \
-global PIIX4_PM.disable_s3=1 \
-global PIIX4_PM.disable_s4=1 \
-device ich9-usb-ehci1,id=usb,bus=pci.0,addr=0x5.0x7 \
-device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pci.0,multifunction=on,addr=0x5 \
-device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pci.0,addr=0x5.0x1 \
-device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pci.0,addr=0x5.0x2 \
-device virtio-scsi-pci,id=scsi0,bus=pci.0,addr=0x7 \
-device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x6 \
-drive file=/root/win2012-64r2-virtio-scsi.qcow2,if=none,id=drive-scsi0-0-0-0,cache=none,snapshot=off,aio=native \
-device scsi-hd,drive=drive-scsi0-0-0-0,id=scsi0-0-0-0 \
-netdev tap,id=hostnet0,vhost=on  \
-device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:74:3e:aa,bus=pci.0,addr=0x3  \
-chardev spicevmc,id=charchannel0,name=vdagent \
-device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.spice.0 \
-device usb-tablet,id=input0,bus=usb.0,port=1 \
-spice port=5932,disable-ticketing \
-device qxl-vga,id=video0,ram_size=67108864,vram_size=67108864,bus=pci.0,addr=0x2 \
-device intel-hda,id=sound0,bus=pci.0,addr=0x4 \
-device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x8 \
-boot order=cdn,once=c,menu=off \
-enable-kvm \
-monitor stdio \
-msg timestamp=on \
-drive id=drive_cd1,if=none,media=cdrom,file=/usr/share/virtio-win/virtio-win-1.9.1.iso \
-device scsi-cd,id=cd1,drive=drive_cd1 \
-monitor unix:/tmp/monitor2,server,nowait \
2.waiting for guest boot up
3.Repeat steps 1, 50 times with the script.
#!/bin/bash
for i in $(seq 1 50);
do
	echo
	echo "===== This is the $i iteration ====="

        eval "sh /root/bz1139928/cmd.sh"& 
        sleep 48
	
        echo "system_powerdown" | nc -U /tmp/monitor2 
        sleep 17
done

test results:
Win2012r2 guest would boot up successfully,guest would not got to black screen.

Additional info:
host cpu info:
processor	: 7
vendor_id	: GenuineIntel
cpu family	: 6
model		: 42
model name	: Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz
stepping	: 7
microcode	: 0x29
cpu MHz		: 2280.789
cache size	: 8192 KB
physical id	: 0
siblings	: 8
core id		: 3
cpu cores	: 4
apicid		: 7
initial apicid	: 7
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 dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm epb tpr_shadow vnmi flexpriority ept vpid xsaveopt dtherm ida arat pln pts
bogomips	: 6784.06
clflush size	: 64
cache_alignment	: 64
address sizes	: 36 bits physical, 48 bits virtual
power management:

# free -m
              total        used        free      shared  buff/cache   available
Mem:          11812        4485        6883          16         443        7039
Swap:          6015           0        6015

Comment 9 Vadim Rozenfeld 2017-06-21 02:45:52 UTC
(In reply to Yiqian Wei from comment #8)
> can not reproduce this bug with latest version.
> host version:
> qemu-kvm:qemu-kvm-1.5.3-141.el7.x86_64
> kernel:kernel-3.10.0-685.el7.x86_64
> virtio-win:virtio-win-1.9.1-0.el7.noarch
> qxl driver:qxlwddm-0.15
> guest:win2012r2-64bit
> 
> test steps
> 1.boot a guest with virtio-scsi
> /usr/libexec/qemu-kvm  \
> -name win2012r2  \
> -M pc \
> -cpu SandyBridge,enforce \
> -m 4096 \
> -realtime mlock=off \
> -smp 4,sockets=2,cores=2,threads=1 \
> -uuid d7828e5c-3a66-421e-9e83-beea9457fcb8 \
> -no-user-config \
> -nodefaults \
> -chardev socket,id=charmonitor,path=/tmp/monitor.sock,server,nowait \
> -mon chardev=charmonitor,id=monitor,mode=control \
> -chardev socket,id=serial_id_serial0,path=/tmp/serial-serial0,server,nowait \
> -device isa-serial,chardev=serial_id_serial0  \
> -chardev socket,id=seabioslog_id,path=/tmp/seabios123,server,nowait \
> -device isa-debugcon,chardev=seabioslog_id,iobase=0x402 \
> -rtc base=localtime,driftfix=slew \
> -global kvm-pit.lost_tick_policy=delay \
> -global PIIX4_PM.disable_s3=1 \
> -global PIIX4_PM.disable_s4=1 \
> -device ich9-usb-ehci1,id=usb,bus=pci.0,addr=0x5.0x7 \
> -device
> ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pci.0,multifunction=on,
> addr=0x5 \
> -device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pci.0,addr=0x5.0x1 \
> -device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pci.0,addr=0x5.0x2 \
> -device virtio-scsi-pci,id=scsi0,bus=pci.0,addr=0x7 \
> -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x6 \
> -drive
> file=/root/win2012-64r2-virtio-scsi.qcow2,if=none,id=drive-scsi0-0-0-0,
> cache=none,snapshot=off,aio=native \
> -device scsi-hd,drive=drive-scsi0-0-0-0,id=scsi0-0-0-0 \
> -netdev tap,id=hostnet0,vhost=on  \
> -device
> virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:74:3e:aa,bus=pci.0,
> addr=0x3  \
> -chardev spicevmc,id=charchannel0,name=vdagent \
> -device
> virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,
> name=com.redhat.spice.0 \
> -device usb-tablet,id=input0,bus=usb.0,port=1 \
> -spice port=5932,disable-ticketing \
> -device
> qxl-vga,id=video0,ram_size=67108864,vram_size=67108864,bus=pci.0,addr=0x2 \
> -device intel-hda,id=sound0,bus=pci.0,addr=0x4 \
> -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 \
> -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x8 \
> -boot order=cdn,once=c,menu=off \
> -enable-kvm \
> -monitor stdio \
> -msg timestamp=on \
> -drive
> id=drive_cd1,if=none,media=cdrom,file=/usr/share/virtio-win/virtio-win-1.9.1.
> iso \
> -device scsi-cd,id=cd1,drive=drive_cd1 \
> -monitor unix:/tmp/monitor2,server,nowait \
> 2.waiting for guest boot up
> 3.Repeat steps 1, 50 times with the script.
> #!/bin/bash
> for i in $(seq 1 50);
> do
> 	echo
> 	echo "===== This is the $i iteration ====="
> 
>         eval "sh /root/bz1139928/cmd.sh"& 
>         sleep 48
> 	
>         echo "system_powerdown" | nc -U /tmp/monitor2 
>         sleep 17
> done
> 
> test results:
> Win2012r2 guest would boot up successfully,guest would not got to black
> screen.
> 
> Additional info:
> host cpu info:
> processor	: 7
> vendor_id	: GenuineIntel
> cpu family	: 6
> model		: 42
> model name	: Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz
> stepping	: 7
> microcode	: 0x29
> cpu MHz		: 2280.789
> cache size	: 8192 KB
> physical id	: 0
> siblings	: 8
> core id		: 3
> cpu cores	: 4
> apicid		: 7
> initial apicid	: 7
> 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 dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm
> constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc
> aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2
> ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes
> xsave avx lahf_lm epb tpr_shadow vnmi flexpriority ept vpid xsaveopt dtherm
> ida arat pln pts
> bogomips	: 6784.06
> clflush size	: 64
> cache_alignment	: 64
> address sizes	: 36 bits physical, 48 bits virtual
> power management:
> 
> # free -m
>               total        used        free      shared  buff/cache  
> available
> Mem:          11812        4485        6883          16         443       
> 7039
> Swap:          6015           0        6015

Thanks a lot for the update.
Do you think that based on your results, this issue can be closed?

Best,
Vadim.