Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 1065212 - Win8.0-64 guest stuck after first reboot during os installation on AMD host
Summary: Win8.0-64 guest stuck after first reboot during os installation on AMD host
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: qemu-kvm
Version: 6.6
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: rc
: ---
Assignee: Radim Krčmář
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On:
Blocks: 1057927 1112181 1192255
TreeView+ depends on / blocked
 
Reported: 2014-02-14 06:09 UTC by ShupingCui
Modified: 2015-04-01 12:54 UTC (History)
14 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
: 1112181 (view as bug list)
Environment:
Last Closed: 2015-04-01 12:54:57 UTC


Attachments (Terms of Use)
screenshot - when stuck (deleted)
2014-02-14 06:10 UTC, ShupingCui
no flags Details
trace file (deleted)
2014-06-19 10:05 UTC, ShupingCui
no flags Details


Links
System ID Priority Status Summary Last Updated
Red Hat Bugzilla 1069309 None None None Never

Internal Links: 1069309

Description ShupingCui 2014-02-14 06:09:41 UTC
Description of problem:
Win8.0-64 guest stuck after first reboot during os installation on AMD host

Version-Release number of selected component (if applicable):
kernel-2.6.32-431.7.1.el6.x86_64
qemu-kvm-rhev-0.12.1.2-2.415.el6_5.4.x86_64

How reproducible:
60%

Steps to Reproduce:
1. install win8.0-64 guest
/usr/libexec/qemu-kvm \
    -name 'virt-tests-vm1' \
    -M rhel6.5.0  \
    -nodefaults  \
    -vga qxl  \
    -global qxl-vga.vram_size=33554432 \
    -device intel-hda,bus=pci.0,addr=03 \
    -device hda-duplex  \
    -chardev socket,id=qmp_id_qmpmonitor1,path=/tmp/monitor-qmpmonitor1-20140213-104632-UNL5Vbqn,server,nowait \
    -mon chardev=qmp_id_qmpmonitor1,mode=control  \
    -chardev socket,id=serial_id_serial0,path=/tmp/serial-serial0-20140213-104632-UNL5Vbqn,server,nowait \
    -device isa-serial,chardev=serial_id_serial0 \
    -device virtio-serial-pci,id=virtio_serial_pci0,bus=pci.0,addr=04  \
    -chardev socket,id=devvs,path=/tmp/virtio_port-vs-20140213-104632-UNL5Vbqn,server,nowait \
    -device virtserialport,chardev=devvs,name=vs,id=vs,bus=virtio_serial_pci0.0  \
    -chardev socket,id=seabioslog_id_20140213-104632-UNL5Vbqn,path=/tmp/seabios-20140213-104632-UNL5Vbqn,server,nowait \
    -device isa-debugcon,chardev=seabioslog_id_20140213-104632-UNL5Vbqn,iobase=0x402 \
    -device ich9-usb-uhci1,id=usb1,bus=pci.0,addr=05 \
    -drive id=drive_image1,if=none,cache=none,snapshot=off,aio=threads,file=/root/staf-kvm-devel/autotest-devel/client/tests/virt/shared/data/images/win8-64.qcow2 \
    -device ide-drive,id=image1,drive=drive_image1,bus=ide.0,unit=0 \
    -device e1000,mac=9a:a5:a6:a7:a8:a9,id=idezvzOp,netdev=idssh2Y3,bus=pci.0,addr=06  \
    -netdev tap,id=idssh2Y3,fd=23  \
    -m 2048  \
    -smp 1,maxcpus=1,cores=1,threads=1,sockets=2  \
    -cpu 'Opteron_G2',+sep,hv_relaxed \
    -drive id=drive_cd1,if=none,snapshot=off,aio=threads,media=cdrom,file=/root/staf-kvm-devel/autotest-devel/client/tests/virt/shared/data/isos/ISO/Win8/en_windows_8_enterprise_x64_dvd_917522.iso \
    -device ide-drive,id=cd1,drive=drive_cd1,bus=ide.0,unit=1 \
    -drive id=drive_winutils,if=none,snapshot=off,aio=threads,media=cdrom,file=/root/staf-kvm-devel/autotest-devel/client/tests/virt/shared/data/isos/windows/winutils.iso \
    -device ide-drive,id=winutils,drive=drive_winutils,bus=ide.1,unit=0 \
    -drive id=drive_virtio,if=none,snapshot=off,aio=threads,media=cdrom,file=/root/staf-kvm-devel/autotest-devel/client/tests/virt/shared/data/isos/windows/virtio-win-latest-signed.iso \
    -device ide-drive,id=virtio,drive=drive_virtio,bus=ide.1,unit=1 \
    -drive id=drive_fl,if=none,cache=none,snapshot=off,readonly=off,aio=threads,file=/root/staf-kvm-devel/autotest-devel/client/tests/virt/shared/data/images/win8-64/answer.vfd \
    -global isa-fdc.driveA=drive_fl \
    -device usb-tablet,id=usb-tablet1,bus=usb1.0,port=1  \
    -spice port=3000,password=123456,addr=0,tls-port=3200,x509-dir=/tmp/spice_x509d,tls-channel=main,tls-channel=inputs,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=d,menu=off \
    -enable-kvm
2.
3.

Actual results:
Win8.0-64 guest stuck after first reboot when 'Getting devices ready'

(qemu) info registers 
EAX=85dfa008 EBX=87736580 ECX=a6d1c000 EDX=85dfa008
ESI=85dfa008 EDI=00000001 EBP=810d8d40 ESP=810d8d40
EIP=835be662 EFL=00000202 [-------] CPL=0 II=0 A20=1 SMM=0 HLT=0
ES =0023 00000000 ffffffff 00c0f300 DPL=3 DS   [-WA]
CS =0008 00000000 ffffffff 00c09b00 DPL=0 CS32 [-RA]
SS =0010 00000000 ffffffff 00c09300 DPL=0 DS   [-WA]
DS =0023 00000000 ffffffff 00c0f300 DPL=3 DS   [-WA]
FS =0030 81a1c000 00004280 00409300 DPL=0 DS   [-WA]
GS =0000 00000000 ffffffff 00000000
LDT=0000 00000000 0000ffff 00000000
TR =0028 810b8000 000020ab 00008b00 DPL=0 TSS32-busy
GDT=     810bb000 000003ff
IDT=     810bb400 000007ff
CR0=8001003b CR2=81480008 CR3=00185000 CR4=000006e8
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000 
DR6=ffff0ff0 DR7=00000400
FCW=007f FSW=0000 [ST=0] FTW=00 MXCSR=00001f80
FPR0=0000000000000000 0000 FPR1=0000000000000000 0000
FPR2=0000000000000000 0000 FPR3=0000000000000000 0000
FPR4=0000000000000000 0000 FPR5=0000000000000000 0000
FPR6=0000000000000000 0000 FPR7=0000000000000000 0000
XMM00=ff000000ff000000ff000000ff000000 XMM01=ff000000ff000000ff000000ff000000
XMM02=ff000000ff000000ff000000ff000000 XMM03=ff000000ff000000ff000000ff000000
XMM04=ff000000ff000000ff000000ff000000 XMM05=ff000000ff000000ff000000ff000000
XMM06=ff000000ff000000ff000000ff000000 XMM07=ff000000ff000000ff000000ff000000

(qemu) info blockstats 
drive_image1: rd_bytes=1099181568 wr_bytes=6268677120 rd_operations=107542 wr_operations=103507 flush_operations=0 wr_total_time_ns=169929521446 rd_total_time_ns=72876228780 flush_total_time_ns=0
drive_cd1: rd_bytes=2288037888 wr_bytes=0 rd_operations=1117204 wr_operations=0 flush_operations=0 wr_total_time_ns=0 rd_total_time_ns=54714506770 flush_total_time_ns=0
drive_virtio: rd_bytes=67584 wr_bytes=0 rd_operations=33 wr_operations=0 flush_operations=0 wr_total_time_ns=0 rd_total_time_ns=2257558 flush_total_time_ns=0
drive_fl: rd_bytes=0 wr_bytes=0 rd_operations=0 wr_operations=0 flush_operations=0 wr_total_time_ns=0 rd_total_time_ns=0 flush_total_time_ns=0


Expected results:
guest installation successful

Additional info:
Host infos:

processor	: 1
vendor_id	: AuthenticAMD
cpu family	: 15
model		: 107
model name	: AMD Athlon(tm) Dual Core Processor 4450B
stepping	: 2
cpu MHz		: 1000.000
cache size	: 512 KB
physical id	: 0
siblings	: 2
core id		: 1
cpu cores	: 2
apicid		: 1
initial apicid	: 1
fpu		: yes
fpu_exception	: yes
cpuid level	: 1
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 rdtscp lm 3dnowext 3dnow rep_good extd_apicid pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch lbrv
bogomips	: 2004.01
TLB size	: 1024 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 40 bits physical, 48 bits virtual
power management: ts fid vid ttp tm stc 100mhzsteps

[root@amd-4450b-4-1 ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          3577       1274       2303          0         29        968
-/+ buffers/cache:        276       3301
Swap:        57343         15      57328

Comment 1 ShupingCui 2014-02-14 06:10:18 UTC
Created attachment 863122 [details]
screenshot - when stuck

Comment 4 Qunfang Zhang 2014-02-14 06:27:40 UTC
Hi, Shuping

Could you also help check whether the latest rhel6.6 version has problem? As we always file bug to y-stream. 

Thanks,
Qunfang

Comment 5 ShupingCui 2014-02-14 08:18:07 UTC
(In reply to Qunfang Zhang from comment #4)
> Hi, Shuping
> 
> Could you also help check whether the latest rhel6.6 version has problem? As
> we always file bug to y-stream. 
> 
> Thanks,
> Qunfang

Hi qunfang,

It's not a regression, can meet same issue on qemu-kvm-0.12.1.2-2.415.el6_5.3 and qemu-kvm-rhev-0.12.1.2-2.420.el6.


Thanks,
Shuping

Comment 6 xhan 2014-04-01 02:44:55 UTC
Met this problem on, stuck at first reboot during installation of Win8.0-32.

Tested package version:

qemu-kvm-rhev-0.12.1.2-2.415.el6_5.7.x86_64
kernel-2.6.32-431.11.2.el6.x86_64 

How reproducible:
5/26

Command line:
/usr/libexec/qemu-kvm \
    -S  \
    -name 'virt-tests-vm1' \
    -M rhel6.5.0  \
    -nodefaults  \
    -vga std \
    -device AC97,bus=pci.0,addr=03  \
    -chardev socket,id=qmp_id_qmpmonitor1,path=/tmp/monitor-qmpmonitor1-20140331-233029-nILwWjgb,server,nowait \
    -mon chardev=qmp_id_qmpmonitor1,mode=control  \
    -chardev socket,id=serial_id_serial0,path=/tmp/serial-serial0-20140331-233029-nILwWjgb,server,nowait \
    -device isa-serial,chardev=serial_id_serial0  \
    -chardev socket,id=seabioslog_id_20140331-233029-nILwWjgb,path=/tmp/seabios-20140331-233029-nILwWjgb,server,nowait \
    -device isa-debugcon,chardev=seabioslog_id_20140331-233029-nILwWjgb,iobase=0x402 \
    -device ich9-usb-uhci1,id=usb1,bus=pci.0,addr=04 \
    -drive id=drive_image1,if=none,cache=none,snapshot=off,aio=threads,file=/home/manual_test/autotest-devel/client/tests/virt/shared/data/images/win8-32-error.qcow2 \
    -device ide-drive,id=image1,drive=drive_image1,bus=ide.0,unit=0 \
    -device e1000,mac=9a:50:51:52:53:54,id=idrX5gtz,netdev=idCNQbFf,bus=pci.0,addr=05  \
    -netdev tap,id=idCNQbFf,fd=24  \
    -m 2048  \
    -smp 1,maxcpus=1,cores=1,threads=1,sockets=2  \
    -cpu 'Opteron_G3',+sep,hv_relaxed \
    -drive id=drive_cd1,if=none,snapshot=off,aio=threads,media=cdrom,file=/home/manual_test/autotest-devel/client/tests/virt/shared/data/isos/ISO/Win8/en_windows_8_enterprise_x86_dvd_917587.iso \
    -device ide-drive,id=cd1,drive=drive_cd1,bus=ide.0,unit=1 \
    -drive id=drive_winutils,if=none,snapshot=off,aio=threads,media=cdrom,file=/home/manual_test/autotest-devel/client/tests/virt/shared/data/isos/windows/winutils.iso \
    -device ide-drive,id=winutils,drive=drive_winutils,bus=ide.1,unit=0 \
    -drive id=drive_virtio,if=none,snapshot=off,aio=threads,media=cdrom,file=/home/manual_test/autotest-devel/client/tests/virt/shared/data/isos/windows/virtio-win-latest-signed.iso \
    -device ide-drive,id=virtio,drive=drive_virtio,bus=ide.1,unit=1 \
    -drive id=drive_fl,if=none,cache=none,snapshot=off,readonly=off,aio=threads,file=/home/manual_test/autotest-devel/client/tests/virt/shared/data/images/win8-32/answer.vfd \
    -global isa-fdc.driveA=drive_fl \
    -device usb-tablet,id=usb-tablet1,bus=usb1.0,port=1  \
    -vnc :0  \
    -rtc base=localtime,clock=host,driftfix=slew  \
    -boot order=cdn,once=c,menu=off \
    -enable-kvm


Host info: 
processor	: 2
vendor_id	: AuthenticAMD
cpu family	: 16
model		: 2
model name	: AMD Phenom(tm) 8750 Triple-Core Processor
stepping	: 3
cpu MHz		: 1200.000
cache size	: 512 KB
physical id	: 0
siblings	: 3
core id		: 2
cpu cores	: 3
apicid		: 2
initial apicid	: 2
fpu		: yes
fpu_exception	: yes
cpuid level	: 5
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 3dnowext 3dnow constant_tsc rep_good nonstop_tsc extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs npt lbrv svm_lock
bogomips	: 4809.77
TLB size	: 1024 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 48 bits physical, 48 bits virtual
power management: ts ttp tm stc 100mhzsteps hwpstate

mem info:
free -m 
             total       used       free     shared    buffers     cached
Mem:          3765       3618        146          0         26       1224
-/+ buffers/cache:       2367       1398
Swap:        57343         10      57333

Comment 7 Ronen Hod 2014-06-17 07:32:54 UTC
Radim,
Any idea?

Comment 8 Radim Krčmář 2014-06-17 14:57:51 UTC
I've started with an unsuccessful effort to reproduce ...
Dump shows that the bug happens in E1G60I32!E1000EnableInterrupt:
(the network adapter driver)

  835be658 c781d00000009d000000 mov dword ptr [ecx+0D0h],9Dh
  835be662 c6801c03000001  mov     byte ptr [eax+31Ch],1
  ^ EIP
  835be669 5d              pop     ebp
  835be66a c20400          ret     4

Is the VCPU stuck at that position? I found bug 874406, but it was spinning ...
Anyway, it had an interesting case:  does it reproduce with more than one VCPU?
Can you provide kvm (f)trace too?

Thanks.

Comment 9 Qunfang Zhang 2014-06-18 02:48:21 UTC
Hi, Shuping

Could you reply Radim's question in comment 8?  Thanks.

Comment 10 ShupingCui 2014-06-19 10:03:38 UTC
(In reply to Radim Krčmář from comment #8)
> I've started with an unsuccessful effort to reproduce ...
> Dump shows that the bug happens in E1G60I32!E1000EnableInterrupt:
> (the network adapter driver)
> 
>   835be658 c781d00000009d000000 mov dword ptr [ecx+0D0h],9Dh
>   835be662 c6801c03000001  mov     byte ptr [eax+31Ch],1
>   ^ EIP
>   835be669 5d              pop     ebp
>   835be66a c20400          ret     4
> 
> Is the VCPU stuck at that position? I found bug 874406, but it was spinning
> ...
> Anyway, it had an interesting case:  does it reproduce with more than one
> VCPU?
> Can you provide kvm (f)trace too?
> 
> Thanks.

Hi Radim,

I cannot reproduce this bug with more than one vcpu on kernel-2.6.32-483.el6.x86_64 and qemu-kvm-rhev-0.12.1.2-2.428.el6.x86_64, bug still can reproduce it with one vcpu.

Comment 11 ShupingCui 2014-06-19 10:05:18 UTC
Created attachment 910340 [details]
trace file

Comment 12 Radim Krčmář 2014-06-19 13:40:58 UTC
I was hoping to see the point where "normal" operation ends in a hang, but the trace contains just a two VCPU guest; aren't qemu-kvm-4231, 4237, and 4238 from a different, idle, domain?  (They are mostly handling RTC interrupts.)

To pin the general area a bit better: does it happen with different network devices too? (virtio-net-pci/rtl8139)

Thank you.

Comment 27 Radim Krčmář 2015-04-01 12:54:57 UTC
I'm closing this as WONTFIX.

1) It happened only on *1* VCPU Windows 8.0 guests with e1000 emulated network interface if they received a packet during e1000 initialization.
(The driver didn't expect hardware to reinject an interrupt immediately, so it left an interrupt request up.  KVM doesn't emulate latencies of real hardware.)
2) Our e1000 device type (82540EM) is unsupported on Windows 8.0: 
  https://downloadcenter.intel.com/download/21642/Network-Adapter-Driver-for-Windows-8
  http://www.intel.com/support/network/adapter/pro100/sb/CS-033693.htm
3) The issue is not reproducible anymore.

The recommended network device is virtio-net.


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