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.