Bug 1023261 - Error Code: 0x0000007F at first reboot after fresh installing Win8-32 guest on AMD system
Error Code: 0x0000007F at first reboot after fresh installing Win8-32 guest o...
Status: CLOSED CURRENTRELEASE
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: qemu-kvm (Show other bugs)
7.0
Unspecified Unspecified
high Severity high
: rc
: ---
Assigned To: Yan Vugenfirer
Virtualization Bugs
:
Depends On:
Blocks: 1069309
  Show dependency treegraph
 
Reported: 2013-10-24 23:31 EDT by CongLi
Modified: 2014-06-13 05:50 EDT (History)
12 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2014-06-13 05:50:02 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
screenshot - Win8-32(ErrorCode: 0x0000007F) (19.60 KB, image/jpeg)
2013-10-24 23:31 EDT, CongLi
no flags Details
all screenshot (71.73 KB, application/x-xz)
2013-10-24 23:37 EDT, CongLi
no flags Details

  None (edit)
Description CongLi 2013-10-24 23:31:25 EDT
Created attachment 815993 [details]
screenshot - Win8-32(ErrorCode: 0x0000007F)

Description of problem:
Error Code: 0x0000007F at first reboot after fresh installing Win8-32 guest on AMD system

Version-Release number of selected component (if applicable):
kernel-3.10.0-35.el7.x86_64
qemu-kvm-rhev-1.5.3-10.el7.x86_64

How reproducible:
100%

Steps to Reproduce:
1. Install a Win8-32 guest:

/home/staf-kvm-devel/autotest-devel/client/tests/virt/qemu/qemu \
    -S \
    -name 'virt-tests-vm1' \
    -nodefaults \
    -chardev socket,id=qmp_id_qmpmonitor1,path=/tmp/monitor-qmpmonitor1-20131025-112044-hE3yvtKW,server,nowait \
    -mon chardev=qmp_id_qmpmonitor1,mode=control \
    -chardev socket,id=serial_id_serial1,path=/tmp/serial-serial1-20131025-112044-hE3yvtKW,server,nowait \
    -device isa-serial,chardev=serial_id_serial1 \
    -chardev socket,id=seabioslog_id_20131025-112044-hE3yvtKW,path=/tmp/seabios-20131025-112044-hE3yvtKW,server,nowait \
    -device isa-debugcon,chardev=seabioslog_id_20131025-112044-hE3yvtKW,iobase=0x402 \
    -device nec-usb-xhci,id=usb1,bus=pci.0,addr=0x4 \
    -device ahci,id=ahci,addr=0x5 \
    -drive file='/home/staf-kvm-devel/autotest-devel/client/tests/virt/shared/data/images/win8-32.qcow2',if=none,id=ahci0,media=disk,cache=none,snapshot=off,format=qcow2,aio=threads \
    -device ide-drive,bus=ahci.0,drive=ahci0 \
    -device e1000,netdev=idsE5sz6,mac='9a:8e:8f:90:91:92',bus=pci.0,addr=0x3,id='id0p31XI' \
    -netdev tap,id=idsE5sz6,fd=22 \
    -m 4096 \
    -smp 4,maxcpus=4,cores=2,threads=1,sockets=2 \
    -cpu 'Opteron_G4',+sep \
    -M pc-i440fx-rhel7.0.0 \
    -drive file='/home/staf-kvm-devel/autotest-devel/client/tests/virt/shared/data/isos/ISO/Win8/en_windows_8_enterprise_x86_dvd_917587.iso',index=1,if=none,id=drive-ide0-0-0,media=cdrom,format=raw \
    -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0 \
    -drive file='/home/staf-kvm-devel/autotest-devel/client/tests/virt/shared/data/isos/windows/winutils.iso',index=2,if=none,id=drive-ide0-0-1,media=cdrom,format=raw \
    -device ide-drive,bus=ide.0,unit=1,drive=drive-ide0-0-1 \
    -drive file='/home/staf-kvm-devel/autotest-devel/client/tests/virt/shared/data/isos/windows/virtio-win.latest_prewhql.iso',index=3,if=none,id=drive-ide0-1-0,media=cdrom,format=raw \
    -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0 \
    -drive file='/home/staf-kvm-devel/autotest-devel/client/tests/virt/shared/data/images/win8-32/answer.vfd',if=none,id=fdc0-0-0,media=disk,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,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 \
    -vga qxl \
    -global qxl-vga.vram_size=33554432 \
    -rtc base=localtime,clock=host,driftfix=slew  \
    -boot order=cdn,once=d,menu=off   \
    -device virtio-serial-pci,id=virtio-serial0 \
    -device intel-hda,id=intel-hda0 \
    -device hda-duplex,id=hda-duplex0 \
    -enable-kvm

2.
3.

Actual results:
Error Code: 0x0000007F (the screenshot will be attached)
Parameters:
0x0000000D
0x00000000
0x00000000
0x00000000

Expected results:
Win8-32 guest installation successful

Additional info:
1. cpuinfo:
processor	: 23
vendor_id	: AuthenticAMD
cpu family	: 21
model		: 1
model name	: AMD Opteron(TM) Processor 6234                 
stepping	: 2
microcode	: 0x6000626
cpu MHz		: 2400.113
cache size	: 2048 KB
physical id	: 1
siblings	: 12
core id		: 5
cpu cores	: 6
apicid		: 75
initial apicid	: 43
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 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 arat cpb hw_pstate npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold
bogomips	: 4799.75
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

2. There is a same bug on RHEL6: 
Bug 1002473 - Error Code: 0x0000007F at first reboot after fresh installing windows 8 32bit guest on AMD system
Comment 1 CongLi 2013-10-24 23:37:41 EDT
Created attachment 815994 [details]
all screenshot
Comment 3 CongLi 2013-10-24 23:40:17 EDT
(In reply to CongLi from comment #1)
> Created attachment 815994 [details]
> all screenshot


Attached all screenshots, can get installation info from it. I hope it will be helpful.
Comment 4 Yan Vugenfirer 2013-10-31 11:29:46 EDT
Are you able to boot into the guest? If yes, please provide compressed dump file (mini dump?).

Thanks,
Yan.
Comment 6 CongLi 2014-02-27 05:31:20 EST
(In reply to Yan Vugenfirer from comment #4)
> Are you able to boot into the guest? If yes, please provide compressed dump
> file (mini dump?).

Hi Yan,

I can't reproduce this bug on the following version on the same machine:
qemu-kvm-1.5.3-50.el7.x86_64
kernel-3.10.0-97.el7.x86_64

And I have downgraded qemu and kernel to the version in comment 0, this bug can be reproduced.
kernel-3.10.0-35.el7.x86_64
qemu-kvm-1.5.3-10.el7.x86_64

If hit this again, I will update it. 

Thanks,
Cong
Comment 7 Yan Vugenfirer 2014-02-27 06:24:20 EST
Thanks for the update.
Comment 8 CongLi 2014-03-14 02:32:07 EDT
Here are the test results with more bisection:

1. kernel-3.10.0-44.el7.x86_64    --> pass
   qemu-kvm-1.5.3-15.el7.x86_64

2. kernel-3.10.0-44.el7.x86_64    --> pass
   qemu-kvm-1.5.3-14.el7.x86_64   

4. kernel-3.10.0-43.el7.x86_64    --> pass
   qemu-kvm-1.5.3-15.el7.x86_64 

4. kernel-3.10.0-43.el7.x86_64    --> fail
   qemu-kvm-1.5.3-14.el7.x86_64   


This bug seems both kernel and qemu related, for need to downgrade both of them can reproduce it. 

Thanks,
Cong
Comment 9 CongLi 2014-03-14 05:43:48 EDT
(In reply to CongLi from comment #8)
> Here are the test results with more bisection:
> 
> 1. kernel-3.10.0-44.el7.x86_64    --> pass
>    qemu-kvm-1.5.3-15.el7.x86_64
> 
> 2. kernel-3.10.0-44.el7.x86_64    --> pass
>    qemu-kvm-1.5.3-14.el7.x86_64   
> 
> 4. kernel-3.10.0-43.el7.x86_64    --> pass
>    qemu-kvm-1.5.3-15.el7.x86_64 
> 
> 4. kernel-3.10.0-43.el7.x86_64    --> fail
>    qemu-kvm-1.5.3-14.el7.x86_64   
> 
> 
> This bug seems both kernel and qemu related, for need to downgrade both of
> them can reproduce it. 

The problem is -cpu 'Opteron_G4'.

1. 'Opteron_G2' --> pass
2. 'Opteron_G3' --> pass
3. 'Opteron_G4' --> fail
4. 'Opteron_G5' --> fail

Although this bug can't be reproduced on RHEL.7 host, it's still existed on RHEL.6 host.
I don't know what's the relationship between "-cpu 'Opteron_G4'" and the fix version, I hope it's maybe helpful for the analyze on RHEL.6.

Thanks,
Cong
Comment 12 Radim Krčmář 2014-03-18 12:20:01 EDT
The bisection points towards XSAVE:
 - G2 and G3 don't have CPUID_EXT_XSAVE, but G4 and G5 do
 - qemu-kvm-1.5.3-15.el7 re-computes what is XSAVEd[1]
 - kernel-3.10.0-44.el7 does a similar thing[2]

I don't see anything like that in RHEL6, so a backport should fix this issue there as well.

---
1: [2/2] 1a92e9b x86: cpuid: reconstruct leaf 0Dh data
2: [1/5] 0163873 [virt] kvm: mask unsupported XSAVE entries from leaf 0Dh index 0
Comment 13 Ludek Smid 2014-06-13 05:50:02 EDT
This request was resolved in Red Hat Enterprise Linux 7.0.

Contact your manager or support representative in case you have further questions about the request.

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