https://bugs.winehq.org/show_bug.cgi?id=51188
Bug ID: 51188 Summary: test_user_shared_data() fails in ntdll:virtual Product: Wine Version: 6.8 Hardware: x86-64 OS: Windows Status: NEW Severity: normal Priority: P2 Component: ntdll Assignee: wine-bugs@winehq.org Reporter: fgouget@codeweavers.com
Created attachment 70061 --> https://bugs.winehq.org/attachment.cgi?id=70061 AllFeatures traces
test_user_shared_data() fails on Windows 7 and 8.1 in ntdll:virtual. https://test.winehq.org/data/patterns.html#ntdll:virtual
On Windows 7 there are two failures: virtual.c:962: Test failed: Got unexpected AllFeatures[1] 128, expected 256. virtual.c:966: Test failed: Got unexpected Features[1].Size 128, expected 256.
And on Windows 8.1 there is one: virtual.c:957: Test failed: Got unexpected AllFeatureSize 0.
The test also has a special case which claims to be for Windows 10 Pro, though in fact the broken behavior seems to describe the behavior of all Windows 10 versions:
ok(xstate.AllFeatures[i] == feature_sizes[i] || broken(!xstate.AllFeatures[i]) /* win10pro */,
Given that this is related to processor features it's interesting to check what processors are involved: https://testbot.winehq.org/JobDetails.pl?Key=91253
w7u Win7 IvyBridge-IBRS (QEmu) fails w7pro64 Win7 SandyBridge (QEmu) success w2008s64 Win2008 kvm64 (QEmu) skipped (missing XState features) cw-gtx560 Win8.1 i7-2600K fails cw-rx460 Win8.1 i7-2600K fails w8 Win8.1 kvm32 (QEmu 32-bit) skipped (missing XState features) w864 Win8.1 core2duo (QEmu) skipped (missing XState features) cw-rx460 Win10 1507 i7-2600K broken (success) w1064v1507 Win10 1507 IvyBridge-IBRS (QEmu) broken (success) w1064v1607 Win10 1607 IvyBridge-IBRS (QEmu) broken (success) w1064v1709 Win10 1709 IvyBridge-IBRS (QEmu) broken (success) w1064v1809 Win10 1809 IvyBridge-IBRS (QEmu) broken (success) w1064v1909 Win10 1909 IvyBridge-IBRS (QEmu) broken (success) w10pro64 Win10 2004 IvyBridge-IBRS (QEmu) broken (success) w1064 Win10 2009 IvyBridge-IBRS (QEmu) broken (success)
So it looks like there is no XState support on kvm32, kvm64 and core2duo processors which explains why the TestBot gets no failure on Windows 8.1.
As for the half-size issue on w7u, this may be because that processor is 32-bit and not 64-bit.
Finally, at best the comment for the broken(!xstate.AllFeatures[i]) is wrong, or that broken statement itself is wrong given that it considers the behavior of all Windows 10 versions to be broken.
https://bugs.winehq.org/show_bug.cgi?id=51188
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |source, testcase Regression SHA1| |97b5ad7597bf2add39251d7379f | |c607bf1578478
--- Comment #1 from François Gouget fgouget@codeweavers.com --- The tests were introduced in this commit:
commit 97b5ad7597bf2add39251d7379fc607bf1578478 Author: Paul Gofman pgofman@codeweavers.com AuthorDate: Thu Aug 20 00:22:59 2020 +0300 Commit: Alexandre Julliard julliard@winehq.org CommitDate: Thu Aug 20 18:50:02 2020 +0200
wineboot: Initialize XState features in user_shared_data.
Signed-off-by: Paul Gofman pgofman@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
https://bugs.winehq.org/show_bug.cgi?id=51188
--- Comment #2 from François Gouget fgouget@codeweavers.com --- Some more results (the test was not run on the other cw-gtx560 and cx-rx460 configurations):
cw-gtx560 Win10 1909 i7-2600K broken (success) cw-rx460 Win10 2009 i7-2600K broken (success)
https://bugs.winehq.org/show_bug.cgi?id=51188
--- Comment #3 from François Gouget fgouget@codeweavers.com --- The 32-bit Windows 7 failure was fixed by this commit:
commit 834d50e7e12b4768b803e1ac2614660b917ab12f Author: Francois Gouget fgouget@codeweavers.com Date: Thu May 27 16:16:17 2021 +0200
ntdll/tests: Fix the XState AllFeatureSize check on old CPUs.
On old CPUs lacking XSAVEC, Windows 8 and 10 don't set AllFeatureSize / AllFeatures.
Signed-off-by: Francois Gouget fgouget@icodeweavers.com
https://bugs.winehq.org/show_bug.cgi?id=51188
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |dc94b03799363a94b6f93a8e464 | |13803f4ec00dd Status|NEW |RESOLVED Resolution|--- |FIXED
--- Comment #4 from François Gouget fgouget@codeweavers.com --- And the following commit fixes the issue on Windows 8:
commit dc94b03799363a94b6f93a8e46413803f4ec00dd Author: Francois Gouget fgouget@codeweavers.com AuthorDate: Fri May 28 18:12:34 2021 +0200
ntdll/tests: Fix the XState AllFeatureSize check on old CPUs.
On old CPUs lacking XSAVEC, Windows 8+ does not set AllFeatureSize and AllFeatures.
Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=51188 Signed-off-by: Francois Gouget fgouget@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
https://bugs.winehq.org/show_bug.cgi?id=51188
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #5 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 6.10.