Bug 1005962

Summary: WHQL "PCI Hardware Compliance Test" fails on W2K8R2 server with Win7x64 QXL driver.
Product: Red Hat Enterprise Linux 8 Reporter: Bill Sanford <bsanford>
Component: spice-qxl-xddmAssignee: Alon Levy <alevy>
Status: CLOSED CURRENTRELEASE QA Contact: Desktop QE <desktop-qa-list>
Severity: high Docs Contact:
Priority: unspecified    
Version: ---CC: acathrow, bcao, bsanford, cfergeau, dblechte, mkrcmari, pvine, vipatel, yeylon
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-04-14 11:54:43 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:
Bug Depends On: 839354    
Bug Blocks:    
Attachments:
Description Flags
The XML file of the task log of the error
none
Process logged messages XML file. none

Description Bill Sanford 2013-09-09 18:27:07 UTC
Created attachment 795732 [details]
The XML file of the task log of the error

Description of problem:
In the WHQL tests that are run for QXL certification there is a "PCI Hardware Compliance Test (PCIHCT) For Individual Devices" test 129, that is looking for a Win7 device and failing the test.

Problem is, I have a W2K8R2 OS with the Win7x64 QXL driver loaded. 

All the other WHQL test for the OS is not the issue, just this one.

It seems like I need a driver that is specifically built for the W2K8R2 Server.

Version-Release number of selected component (if applicable):
qxl-win-unsigned-0.1-18 - qxl_w7_x64.zip

How reproducible:
100%

Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

The attached "test 129.xml" file was the original test 129.wtl file that was saved from the Task log of the test that failed.

Comment 1 Bill Sanford 2013-09-09 18:43:42 UTC
For further clarification, I ran this using WLK 1.6.

Comment 2 Alon Levy 2013-09-25 14:32:48 UTC
Bill, did you say you had a standalone test for this thing? that would save me a heap of trouble setting up WHQL.

Comment 3 Bill Sanford 2013-09-25 14:54:17 UTC
I wish I did have the stand-alone test, I would send it.

Comment 4 Alon Levy 2013-09-27 19:19:46 UTC
Bill, since I've had a hard time installing the program, and more hard time trying to manually extract the cabs and rename the resulting File_xxxx_xxxx_xxxx_xxxx files to the correct file names, and looking for PciHctArgtool.exe, I did some googling. This thread seems to suggest this problem is waivable (used google translate since it is in chinese):

http://social.msdn.microsoft.com/Forums/en-US/14b3b360-411d-440e-b60b-
389a356d4bf8/wcn-wdk-file-signature-verification-library-jobfail

Comment 5 Alon Levy 2013-09-28 16:15:23 UTC
I managed to isolate PciHctArgTool.exe and the required dlls - it's in pcihct.msi and needs WTTLog.dll. Now I can't figure from the xml file the exact error details, can you see if there are any other log files, and trace of the ways that PciHctArgTool.exe is run? running it with the /L switch I get:

PciHctArgTool.exe /L

PCI HCT Argument Specification Tool

INFO   : Version = 6.1.7601.17125 (win7_wlk.110203-1700)
INFO   : Driver Version unavailable (0x2)
INFO   : Getting current device list...
Start: LIST_DEVICES, TUID=
INFO   : Present device information list:
...
INFO   : [#  3] PCI\VEN_1B36&DEV_0100&SUBSYS_11001AF4&REV_04\3&13C0B0C5&0&10
INFO   :        (0, 2, 0) - \Device\NTPNP_PCI0004
INFO   :        Red Hat QXL GPU
...

And with /d using that device id:

PciHctArgTool.exe /D "PCI\VEN_1B36&DEV_0100&SUBSYS_11001AF4&REV_04\3&13C0B0C5&0&10"

PCI HCT Argument Specification Tool

INFO   : Version = 6.1.7601.17125 (win7_wlk.110203-1700)
INFO   : Driver Version unavailable (0x2)
INFO   : Getting current device list...
Start: SINGLE_DEVICE_SETTINGS, TUID=
INFO   : Specified device = PCI\VEN_1B36&DEV_0100&SUBSYS_11001AF4&REV_04\3&13C0B0C5&0&10
INFO   : Saving device information to the registry...
End: Pass, SINGLE_DEVICE_SETTINGS, TUID=, Repro=C:\pcihct\PciHctArgTool.exe /D PCI\VEN_1B36&DEV_0100&SUBSYS_11001AF4&REV_04\3&13C0B0C5&0&10

Summary: Total=1, Passed=1, Failed=0, Blocked=0, Warned=0, Skipped=0

Can you try running it on the machine you are using as well?
Also, include the output of pnputil -e

This is in addition to any more logs other then test 129.xml

I am still baffled by why I can't install the DTM Controller, I'm getting an error starting the SQLServer instance, did you install SQLServer via KitSetup.exe or before running KitSetup?

Comment 6 Alon Levy 2013-09-30 12:49:53 UTC
I got a WLK setup, I'm trying to run test 129, but I can only get test 130, that seems to be similar but maybe not the same. Can you give me the detailed steps on running just test 129 on qxl-win-unsigned-0.1.19 on Win2008R2 x64?

Comment 7 Alon Levy 2013-09-30 13:03:12 UTC
Never mind, my misunderstasnding, job 130 calls job 129. I can reproduce an error, now verifying it is the same error you reported the bug for.

Comment 9 Alon Levy 2013-10-14 15:12:35 UTC
This is an active errata matching the error I got:

http://sysdev.microsoft.com/en-US/Hardware/EC/ECDetails.aspx?id=1388

Comment 10 Bill Sanford 2013-10-23 15:00:02 UTC
Alon, with the new driver, I get an error with "Process Logged Messages."

Context Index:   675355807 
Current:   8DB2C606-5A23-4485-9505-DF2236A3BF43 
Parent:   WTTLOG 
Start Test 10/22/2013 3:32:33.663 PM Root Bus 
Error 10/22/2013 3:32:33.663 PM Assertion FEE286FD-FFBC-435B-B7C0-28D73BD4A558: FAILED. The root bus must be PCI Express for this operating system. 
File:   <Unspecified file> Line: 0 
Error Type:   NT_STATUS 
Error Code:   0xc0000420 
Error Text:   Error 0xc0000420 
Message 10/22/2013 3:32:33.663 PM TEST RESULTS: Passed=0, Failed=1, Skipped=0, Fatal Errors=0, Errors=0, Warnings=0 
End Test 10/22/2013 3:32:33.663 PM Root Bus 
Result:   Fail 
Repro:   "C:\Program Files\KmLog2\KmLogTransform.exe" -OutFile Out.Txt -CreateLog -LogFile PciHct.WTL -CloseLog -rollup -guid BF0EDF7D-F02B-4E1f-A9FF-3B1CEBA22E72 KmLogProviders.etl 
Message 10/22/2013 3:32:33.663 PM

Comment 11 Bill Sanford 2013-10-23 15:00:29 UTC
Alon, with the new QXL driver, I get an error with "Process Logged Messages."

Context Index:   675355807 
Current:   8DB2C606-5A23-4485-9505-DF2236A3BF43 
Parent:   WTTLOG 
Start Test 10/22/2013 3:32:33.663 PM Root Bus 
Error 10/22/2013 3:32:33.663 PM Assertion FEE286FD-FFBC-435B-B7C0-28D73BD4A558: FAILED. The root bus must be PCI Express for this operating system. 
File:   <Unspecified file> Line: 0 
Error Type:   NT_STATUS 
Error Code:   0xc0000420 
Error Text:   Error 0xc0000420 
Message 10/22/2013 3:32:33.663 PM TEST RESULTS: Passed=0, Failed=1, Skipped=0, Fatal Errors=0, Errors=0, Warnings=0 
End Test 10/22/2013 3:32:33.663 PM Root Bus 
Result:   Fail 
Repro:   "C:\Program Files\KmLog2\KmLogTransform.exe" -OutFile Out.Txt -CreateLog -LogFile PciHct.WTL -CloseLog -rollup -guid BF0EDF7D-F02B-4E1f-A9FF-3B1CEBA22E72 KmLogProviders.etl 
Message 10/22/2013 3:32:33.663 PM

Comment 12 Bill Sanford 2013-10-23 15:01:23 UTC
Created attachment 815449 [details]
Process logged messages XML file.

Comment 13 Alon Levy 2013-10-23 15:28:39 UTC
(In reply to Bill Sanford from comment #12)
> Created attachment 815449 [details]
> Process logged messages XML file.

Bill, there is a warning about "Bit 10 (Interrupt Disable) in the Command register (offset 4h) in the Header table must be read-writable if the device supports an interrupt" I think we can ignore (it says so in the logs), and one error which is the one I got and found an active errata for, link in comment 9, for the error "The root bus must be PCI Express for this operating system.".

So if this is the only error you get, can you submit this and use the errata in comment 9 to filter the submission so it passes?

Comment 14 Alon Levy 2013-10-23 15:29:56 UTC
btw, you can consult Mike Cao if you need to about using the errata, see #866736 where he mentions the same errata.

Comment 15 Mike Cao 2013-10-24 07:19:35 UTC
(In reply to Alon Levy from comment #14)
> btw, you can consult Mike Cao if you need to about using the errata, see
> #866736 where he mentions the same errata.

The way we use to apply Filters 
1.download latest wlk filters from https://sysdev.microsoft.com/member/SubmissionWizard/LegalExemptions/updatefilters.cab
2.exact it ,and copy the XXX.sql file to <WLK1.6 CONTROLLER> path。ten click updatefilter.exe
3.login WLK studio ,choose your submission in "device control" ,then click "status" you will see all related filters are applied

Comment 16 Bill Sanford 2013-10-30 18:02:59 UTC
The latest "Apply Filters" should show that the test passes, despite the fail.