https://bugs.winehq.org/show_bug.cgi?id=55346
Bug ID: 55346 Summary: ddraw:ddraw2 - test_coop_level_mode_set() sometimes gets unexpected screen size in Wine Product: Wine Version: unspecified Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: d3d Assignee: wine-bugs@winehq.org Reporter: fgouget@codeweavers.com Distribution: ---
ddraw:ddraw2 - test_coop_level_mode_set() sometimes gets unexpected screen size in Wine:
ddraw2.c:3237: Test failed: Got unexpected screen size 320x240. ddraw2.c:3243: Test failed: Expected message 0x7e, but didn't receive it. ddraw2.c:3292: Test marked flaky: Expected message 0x46, but didn't receive it. ddraw2.c:3295: Test marked flaky: Expected screen size 1024x768, got 0x0. ddraw2.c:3302: Test marked flaky: Expected (0,0)-(1024,768), got (0,0)-(320,240). [the messages above don't always happen] ddraw2.c:3326: Test failed: Expected surface width 1024, got 320. ddraw2.c:3328: Test failed: Expected surface height 768, got 240. ddraw2.c:3333: Test marked flaky: Expected (0,0)-(1024,768), got (0,0)-(320,240). ddraw2.c:3341: Test marked flaky: Expected (0,0)-(1024,768), got (0,0)-(320,240). ddraw2.c:3346: Test failed: Expected surface width 1024, got 320. ddraw2.c:3348: Test failed: Expected surface height 768, got 240. ddraw2.c:3361: Test failed: Expected surface width 1024, got 320. ddraw2.c:3363: Test failed: Expected surface height 768, got 240. ddraw2.c:3368: Test marked flaky: Expected (0,0)-(1024,768), got (0,0)-(320,240). ddraw2.c:3384: Test marked todo: Got unexpected hr 0. ddraw2.c:3392: Test marked flaky: Expected (0,0)-(1024,768), got (0,0)-(320,240). ddraw2.c:3412: Test failed: Got unexpected hr 0. ddraw2.c:3414: Test failed: Got unexpected hr 0. ddraw2.c:3422: Test marked flaky: Expected (0,0)-(1024,768), got (0,0)-(320,240). ddraw2.c:3427: Test failed: Expected surface width 1024, got 320. ddraw2.c:3429: Test failed: Expected surface height 768, got 240. ddraw2.c:3449: Test marked flaky: Expected (0,0)-(1024,768), got (0,0)-(320,240). ddraw2.c:3464: Test failed: Expected message 0x7e, but didn't receive it. ddraw2.c:3470: Test marked flaky: Expected (0,0)-(1024,768), got (0,0)-(320,240). ddraw2.c:3483: Test failed: Expected resolution 1024x768, got 320x240. ddraw2.c:3500: Test failed: Expected surface width 1024, got 320. ddraw2.c:3502: Test failed: Expected surface height 768, got 240. ddraw2.c:3507: Test marked flaky: Expected (0,0)-(1024,768), got (0,0)-(320,240). ddraw2.c:3518: Test marked flaky: Expected (0,0)-(1024,768), got (0,0)-(320,240). ddraw2.c:3523: Test failed: Expected surface width 1024, got 320. ddraw2.c:3525: Test failed: Expected surface height 768, got 240. ddraw2.c:3538: Test failed: Expected surface width 1024, got 320. ddraw2.c:3540: Test failed: Expected surface height 768, got 240. ddraw2.c:3545: Test marked flaky: Expected (0,0)-(1024,768), got (0,0)-(320,240). ddraw2.c:3561: Test marked todo: Got unexpected hr 0. ddraw2.c:3569: Test marked flaky: Expected (0,0)-(1024,768), got (0,0)-(320,240). ddraw2.c:3582: Test failed: Got unexpected hr 0. ddraw2.c:3584: Test failed: Got unexpected hr 0. ddraw2.c:3592: Test marked flaky: Expected (0,0)-(1024,768), got (0,0)-(320,240). ddraw2.c:3597: Test failed: Expected surface width 1024, got 320. ddraw2.c:3599: Test failed: Expected surface height 768, got 240. ddraw2.c:3619: Test marked flaky: Expected (0,0)-(1024,768), got (0,0)-(320,240). ddraw2.c:3634: Test failed: Expected message 0x7e, but didn't receive it. ddraw2.c:3640: Test marked flaky: Expected (0,0)-(1024,768), got (0,0)-(320,240). ddraw2.c:3653: Test failed: Expected resolution 1024x768, got 320x240. ddraw2.c:3670: Test failed: Expected surface width 1024, got 320. ddraw2.c:3672: Test failed: Expected surface height 768, got 240. ddraw2.c:3678: Test marked flaky: Expected (0,0)-(1024,768), got (0,0)-(320,240). ddraw2.c:3695: Test failed: Expected message 0x5, but didn't receive it. ddraw2.c:3697: Test failed: Expected screen size 1024x768, got 0x0. ddraw2.c:3704: Test failed: Expected (0,0)-(1024,768), got (0,0)-(320,240). ddraw2.c:3716: Test failed: Expected surface width 1024, got 320. ddraw2.c:3718: Test failed: Expected surface height 768, got 240. ddraw2.c:3765: Test failed: Expected message 0x47, but didn't receive it. ddraw2.c:3769: Test failed: Expected screen size 2 1024x768, got 0x0. ddraw2.c:3777: Test failed: Expected (0,0)-(1024,768), got (0,0)-(119,100). ddraw2.c:3789: Test failed: Expected surface width 1024, got 320. ddraw2.c:3791: Test failed: Expected surface height 768, got 240.
See https://test.winehq.org/data/patterns.html#ddraw:ddraw2
Where 0x46 == WM_WINDOWPOSCHANGING 0x7e == WM_DISPLAYCHANGE
Both the expected and unexpected resolutions change from one run to the next: 1024x768 / 320x240 like here or 3840x2160 / 640x480 or 640x480 / 720x480 or 1024x768 / 640x480 or 1024x768 / 400x300. Note that these WineTest reports have no prior test failure.
There are not too many instances of this in the nightly tests besides the rbernon-* machines where it happens regularly. However it can also happen for merge requests (3 known cases but there may be more): * 2023-07-26 MR3413 * 2023-06-15 gitlab-debian-32 * 2023-05-12 MR2792 * 2023-02-22 fg-deb64-t32 * 2022-11-29 fgtb-debian11-win32 * 2022-11-28 MR1561
https://bugs.winehq.org/show_bug.cgi?id=55346
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|ddraw:ddraw2 - |ddraw:ddraw2 & ddraw:ddraw4 |test_coop_level_mode_set() |- |sometimes gets unexpected |test_coop_level_mode_set() |screen size in Wine |sometimes gets unexpected | |screen size in Wine Keywords| |source, testcase
--- Comment #1 from François Gouget fgouget@codeweavers.com --- This can also happen in ddraw4 and in those cases it seems we don't have failures in ddraw2 before.
Also it sometimes follows a set of DDERR_NOEXCLUSIVEMODE () failures: * 2023-07-20 fgtb-debian11-wow64 * 2023-06-30 fg-deb64-wow64
ddraw4.c:710: Test failed: Got ddraw state 0x887600e1 on message 0x46, expected 0. ddraw4.c:710: Test failed: Got ddraw state 0x887600e1 on message 0x47, expected 0. ddraw4.c:703: Test failed: Got unexpected wparam 0x1 for message 0x5, expected 0. ddraw4.c:710: Test failed: Got ddraw state 0x887600e1 on message 0x5, expected 0. ddraw4.c:3471: Test failed: Expected message 0x7e, but didn't receive it. ddraw4.c:3478: Test failed: Got unexpected screen size 720x480. ddraw4.c:3536: Test marked flaky: Expected screen size 1024x768, got 720x480. ddraw4.c:3543: Test marked flaky: Expected (0,0)-(1024,768), got (0,0)-(720,480). ddraw4.c:3567: Test failed: Expected surface width 1024, got 720. ddraw4.c:3569: Test failed: Expected surface height 768, got 480. ddraw4.c:3574: Test marked flaky: Expected (0,0)-(1024,768), got (0,0)-(720,480). ddraw4.c:3582: Test marked flaky: Expected (0,0)-(1024,768), got (0,0)-(720,480). ddraw4.c:3587: Test failed: Expected surface width 1024, got 720. ddraw4.c:3589: Test failed: Expected surface height 768, got 480. ddraw4.c:3602: Test failed: Expected surface width 1024, got 720. ddraw4.c:3604: Test failed: Expected surface height 768, got 480. ddraw4.c:3609: Test marked flaky: Expected (0,0)-(1024,768), got (0,0)-(720,480). ddraw4.c:3625: Test marked todo: Got unexpected hr 0. ddraw4.c:3633: Test marked flaky: Expected (0,0)-(1024,768), got (0,0)-(720,480). ddraw4.c:3642: Test failed: Got unexpected hr 0. ddraw4.c:3656: Test marked flaky: Expected (0,0)-(1024,768), got (0,0)-(720,480). ddraw4.c:3661: Test failed: Expected surface width 1024, got 720. ddraw4.c:3663: Test failed: Expected surface height 768, got 480. ddraw4.c:3683: Test marked flaky: Expected (0,0)-(1024,768), got (0,0)-(720,480). ddraw4.c:3704: Test marked flaky: Expected (0,0)-(1024,768), got (0,0)-(720,480). ddraw4.c:3717: Test failed: Expected resolution 1024x768, got 720x480. ddraw4.c:3734: Test failed: Expected surface width 1024, got 720. ddraw4.c:3736: Test failed: Expected surface height 768, got 480. ddraw4.c:3741: Test marked flaky: Expected (0,0)-(1024,768), got (0,0)-(720,480). ddraw4.c:3752: Test marked flaky: Expected (0,0)-(1024,768), got (0,0)-(720,480). ddraw4.c:3757: Test failed: Expected surface width 1024, got 720. ddraw4.c:3759: Test failed: Expected surface height 768, got 480. ddraw4.c:3772: Test failed: Expected surface width 1024, got 720. ddraw4.c:3774: Test failed: Expected surface height 768, got 480. ddraw4.c:3779: Test marked flaky: Expected (0,0)-(1024,768), got (0,0)-(720,480). ddraw4.c:3795: Test marked todo: Got unexpected hr 0. ddraw4.c:3803: Test marked flaky: Expected (0,0)-(1024,768), got (0,0)-(720,480). ddraw4.c:3812: Test failed: Got unexpected hr 0. ddraw4.c:3826: Test marked flaky: Expected (0,0)-(1024,768), got (0,0)-(720,480). ddraw4.c:3831: Test failed: Expected surface width 1024, got 720. ddraw4.c:3833: Test failed: Expected surface height 768, got 480. ddraw4.c:3853: Test marked flaky: Expected (0,0)-(1024,768), got (0,0)-(720,480). ddraw4.c:3874: Test marked flaky: Expected (0,0)-(1024,768), got (0,0)-(720,480). ddraw4.c:3887: Test failed: Expected resolution 1024x768, got 720x480. ddraw4.c:3904: Test failed: Expected surface width 1024, got 720. ddraw4.c:3906: Test failed: Expected surface height 768, got 480. ddraw4.c:3912: Test marked flaky: Expected (0,0)-(1024,768), got (0,0)-(720,480). ddraw4.c:3931: Test failed: Expected screen size 1024x768, got 720x480. ddraw4.c:3938: Test failed: Expected (0,0)-(1024,768), got (0,0)-(720,480). ddraw4.c:3950: Test failed: Expected surface width 1024, got 720. ddraw4.c:3952: Test failed: Expected surface height 768, got 480. ddraw4.c:4003: Test failed: Expected screen size 2 1024x768, got 720x480. ddraw4.c:4011: Test failed: Expected (0,0)-(1024,768), got (0,0)-(720,480). ddraw4.c:4023: Test failed: Expected surface width 1024, got 720. ddraw4.c:4025: Test failed: Expected surface height 768, got 480.
And sometimes follows missing WM_DISPLAYCHANGE failures: * 2023-01-13 fg-deb64-t32
ddraw4.c:3868: Test failed: Expected message 0x7e, but didn't receive it. ddraw4.c:3887: Test failed: Expected resolution 720x400, got 640x480. ddraw4.c:3904: Test failed: Expected surface width 720, got 640. ddraw4.c:3906: Test failed: Expected surface height 400, got 480. [...]
https://bugs.winehq.org/show_bug.cgi?id=55346
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|ddraw:ddraw2 & ddraw:ddraw4 |ddraw:ddraw2 & ddraw:ddraw4 |- |& ddraw:ddraw7 - |test_coop_level_mode_set() |test_coop_level_mode_set() |sometimes gets unexpected |sometimes gets unexpected |screen size in Wine |screen size in Wine
--- Comment #2 from François Gouget fgouget@codeweavers.com --- Finally this can also happen in ddraw7, again either following a DDERR_NOEXCLUSIVEMODE (0x887600e1) failure, or a or neither.
* 2023-07-24 fgtb-debian11-i386 * 2023-07-06 fg-deb64-wow32 * 2023-05-10 MR!2777 * 2023-03-03 MR!2328 * 2022-12-07 MR!1705
https://bugs.winehq.org/show_bug.cgi?id=55346
--- Comment #3 from François Gouget fgouget@codeweavers.com --- Note: 0x5 == WM_SIZE and 0x1 == SIZE_MINIMIZED 0x47 == WM_WINDOWPOSCHANGED
https://bugs.winehq.org/show_bug.cgi?id=55346
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|ddraw:ddraw2 & ddraw:ddraw4 |ddraw:ddraw1 & ddraw:ddraw2 |& ddraw:ddraw7 - |& ddraw:ddraw4 & |test_coop_level_mode_set() |ddraw:ddraw7 - |sometimes gets unexpected |test_coop_level_mode_set() |screen size in Wine |sometimes gets unexpected | |screen size in Wine
--- Comment #4 from François Gouget fgouget@codeweavers.com --- This can also happen in ddraw:ddraw1, mostly on my machines but not only: * 2023-07-25 MR!3402 * 2023-07-20 linux_fg-deb64-wow32/report:ddraw1.c:3568 * 2023-07-20 linux_fgtb-debian11-i386/report:ddraw1.c:3224 * 2023-07-07 linux_fg-deb64-t32/report:ddraw1.c:3224 * 2023-06-20 linux_fgtb-debian11-wow64/report:ddraw1.c:3224 * 2023-04-26 linux_fgtb-debian11-win32/report:ddraw1.c:3224 * 2023-04-19 linux_fgtb-debian11-wow32/report:ddraw1.c:3224 * 2022-12-12 linux_fg-deb64-wow32/report:ddraw1.c:3398 * 2022-11-29 linux_fgtb-debian11-win32/report:ddraw1.c:3224