Bug 1271937

Summary: Win8. i386 guest stay on "shuting down" screen when do system_powerdown
Product: Red Hat Enterprise Linux 7 Reporter: Yang Meng <meyang>
Component: qemu-kvm-rhevAssignee: Vadim Rozenfeld <vrozenfe>
Status: CLOSED CURRENTRELEASE QA Contact: Yiqian Wei <yiwei>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 7.2CC: ailan, chayang, huding, jinzhao, juzhang, knoel, meyang, mkenneth, rbalakri, virt-bugs, virt-maint, yfu, yiwei
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Windows   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1271469 Environment:
Last Closed: 2017-11-20 09:14:23 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:

Comment 4 Vadim Rozenfeld 2017-11-14 11:15:24 UTC
Is it still reproducible on the recent rhel and latest qxl driver?

Thanks,
Vadim.

Comment 5 Yiqian Wei 2017-11-20 06:58:09 UTC
(In reply to Vadim Rozenfeld from comment #4)
> Is it still reproducible on the recent rhel and latest qxl driver?

Can't reproduce this bug with latest rhev and qxl drivers.

Host version:
qemu-kvm-rhev-2.10.0-6.el7.x86_64
kernel-3.10.0-785.el7.x86_64
virtio-win-1.9.3-1.el7.noarch

Guest info:win8-32bit
           qxlwddm-0.15.zip

Test steps:
1.boot a win8-32bit guest
2.do "systemp_powerdown" in hmp 
3.repeat step 2 for 500 times with script.

1)cat cli.sh
/usr/libexec/qemu-kvm \
    -name 'vm-1' \
    -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,server,nowait \
    -mon chardev=qmp_id_qmpmonitor1,mode=control  \
    -chardev socket,id=qmp_id_catch_monitor,path=/tmp/monitor-catch_monitor,server,nowait \
    -mon chardev=qmp_id_catch_monitor,mode=control \
    -device pvpanic,ioport=0x505,id=panic  \
    -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/seabios-2,server,nowait \
    -device isa-debugcon,chardev=seabioslog_id,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=native,format=qcow2,file=/home/win8-32.1-virtio-scsi.qcow2 \
    -device scsi-hd,id=image1,drive=drive_image1 \
    -device virtio-net-pci,mac=9a:0c:0d:0e:0f:10,id=net0,vectors=4,netdev=hostnet0,bus=pci.0,addr=05  \
    -netdev tap,id=hostnet0,vhost=on  \
    -m 8G	 \
    -smp 32,maxcpus=32,cores=16,threads=1,sockets=2  \
    -cpu 'Opteron_G5',+sep,hv_relaxed \
    -drive id=drive_cd1,if=none,snapshot=off,media=cdrom,file=/usr/share/virtio-win/virtio-win-1.9.3.iso \
    -device ide-drive,id=cd1,drive=drive_cd1,bus=ide.0,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 menu=on \
    -enable-kvm \
    -monitor stdio \
    -monitor unix:/tmp/monitor2,server,nowait \
2)script:
#!/bin/bash
for i in $(seq 1 501);
do
	echo
	echo "===== This is the $i iteration ====="

        eval "sh /home/cli.sh"& 
        sleep 80
	
        echo "system_powerdown" | nc -U /tmp/monitor2 
        sleep 60
	if [ $? -eq 0 ];then
		echo
		echo " +++++ Guest got killed! +++++"
	else 
		echo
		echo " +++++ Failed to kill guest! +++++"
	fi

done

3)host cpu:
processor	: 63
vendor_id	: AuthenticAMD
cpu family	: 21
model		: 1
model name	: AMD Opteron(TM) Processor 6272
stepping	: 2
microcode	: 0x600063d
cpu MHz		: 2100.116
cache size	: 2048 KB
physical id	: 3
siblings	: 16
core id		: 7
cpu cores	: 8
apicid		: 111
initial apicid	: 111
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 art rep_good nopl nonstop_tsc extd_apicid amd_dcm 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 hw_pstate vmmcall arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold
bogomips	: 4145.71
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

Comment 6 Vadim Rozenfeld 2017-11-20 09:14:23 UTC
(In reply to Yiqian Wei from comment #5)
> (In reply to Vadim Rozenfeld from comment #4)
> > Is it still reproducible on the recent rhel and latest qxl driver?
> 
> Can't reproduce this bug with latest rhev and qxl drivers.
> 
> Host version:
> qemu-kvm-rhev-2.10.0-6.el7.x86_64
> kernel-3.10.0-785.el7.x86_64
> virtio-win-1.9.3-1.el7.noarch
> 
> Guest info:win8-32bit
>            qxlwddm-0.15.zip
> 
> Test steps:
> 1.boot a win8-32bit guest
> 2.do "systemp_powerdown" in hmp 
> 3.repeat step 2 for 500 times with script.
> 
> 1)cat cli.sh
> /usr/libexec/qemu-kvm \
>     -name 'vm-1' \
>     -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,server,nowait \
>     -mon chardev=qmp_id_qmpmonitor1,mode=control  \
>     -chardev
> socket,id=qmp_id_catch_monitor,path=/tmp/monitor-catch_monitor,server,nowait
> \
>     -mon chardev=qmp_id_catch_monitor,mode=control \
>     -device pvpanic,ioport=0x505,id=panic  \
>     -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/seabios-2,server,nowait \
>     -device isa-debugcon,chardev=seabioslog_id,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=native,format=qcow2,
> file=/home/win8-32.1-virtio-scsi.qcow2 \
>     -device scsi-hd,id=image1,drive=drive_image1 \
>     -device
> virtio-net-pci,mac=9a:0c:0d:0e:0f:10,id=net0,vectors=4,netdev=hostnet0,
> bus=pci.0,addr=05  \
>     -netdev tap,id=hostnet0,vhost=on  \
>     -m 8G	 \
>     -smp 32,maxcpus=32,cores=16,threads=1,sockets=2  \
>     -cpu 'Opteron_G5',+sep,hv_relaxed \
>     -drive
> id=drive_cd1,if=none,snapshot=off,media=cdrom,file=/usr/share/virtio-win/
> virtio-win-1.9.3.iso \
>     -device ide-drive,id=cd1,drive=drive_cd1,bus=ide.0,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 menu=on \
>     -enable-kvm \
>     -monitor stdio \
>     -monitor unix:/tmp/monitor2,server,nowait \
> 2)script:
> #!/bin/bash
> for i in $(seq 1 501);
> do
> 	echo
> 	echo "===== This is the $i iteration ====="
> 
>         eval "sh /home/cli.sh"& 
>         sleep 80
> 	
>         echo "system_powerdown" | nc -U /tmp/monitor2 
>         sleep 60
> 	if [ $? -eq 0 ];then
> 		echo
> 		echo " +++++ Guest got killed! +++++"
> 	else 
> 		echo
> 		echo " +++++ Failed to kill guest! +++++"
> 	fi
> 
> done
> 
> 3)host cpu:
> processor	: 63
> vendor_id	: AuthenticAMD
> cpu family	: 21
> model		: 1
> model name	: AMD Opteron(TM) Processor 6272
> stepping	: 2
> microcode	: 0x600063d
> cpu MHz		: 2100.116
> cache size	: 2048 KB
> physical id	: 3
> siblings	: 16
> core id		: 7
> cpu cores	: 8
> apicid		: 111
> initial apicid	: 111
> 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 art rep_good nopl nonstop_tsc extd_apicid amd_dcm 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
> hw_pstate vmmcall arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean
> flushbyasid decodeassists pausefilter pfthreshold
> bogomips	: 4145.71
> 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

Thank you.
Going to close it then.
Vadim.