https://bugs.winehq.org/show_bug.cgi?id=53497
Bug ID: 53497 Summary: d3d8:device - test_resource_access() crashes 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: ---
d3d8:device - test_resource_access() crashes in Wine:
device.c:9782: Test marked todo: Test DS 29: Got unexpected hr 0x8876086c. Unhandled exception: page fault on read access to 0x0000400c in 32-bit code (0x714b859f). Register dump: CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b EIP:714b859f ESP:0069f570 EBP:0069f5c8 EFLAGS:00210246( R- -- I Z- -P- ) EAX:00000000 EBX:00000000 ECX:0019e9d0 EDX:00000000 ESI:00004000 EDI:00167e1c Stack dump: 0x0069f570: 0018e618 00000000 00000020 0069f5a0 0x0069f580: 00000001 00168900 0069f5b8 71552eae 0x0069f590: 00130000 00000000 0069f5c8 71552eae 0x0069f5a0: 715d6480 0018e618 0069f5d0 0019e9d0 0x0069f5b0: 00000000 0069f5d0 0069f628 00000001 0x0069f5c0: 00168900 0069f7a4 0069f628 6854c9e5 Backtrace: =>0 0x714b859f mode_matches_filter+0x3f(scanline_ordering=<internal error>, format=<internal error>, mode=<internal error>, adapter=<internal error>) [Z:\home\winetest\tools\testbot\var\wine\dlls\wined3d\directx.c:1285] in wined3d (0x0069f5c8) 1 0x714b859f wined3d_output_get_mode+0xaf(output=00167E1C, format_id=WINED3DFMT_UNKNOWN, scanline_ordering=WINED3D_SCANLINE_ORDERING_UNKNOWN, mode_idx=0, mode=0069F5FC, cached=true) [Z:\home\winetest\tools\testbot\var\wine\dlls\wined3d\directx.c:1350] in wined3d (0x0069f5c8) 2 0x6854c9e5 d3d8_EnumAdapterModes+0x65(iface=00168900, adapter=0x1, mode_idx=0, mode=0069F7A4) [Z:\home\winetest\tools\testbot\var\wine\dlls\d3d8\directx.c:176] in d3d8 (0x0069f628) 3 0x004315e5 in d3d8_test (+0x315e5) (0x0069fe08) 4 0x004670cb in d3d8_test (+0x670cb) (0x0069fee8) 5 0x00466c6f in d3d8_test (+0x66c6f) (0x0069ff30) 6 0x7b62a170 in kernel32 (+0x2a170) (0x0069ff48) 7 0x7bc5c627 in ntdll (+0x5c627) (0x0069ff5c) 8 0x7bc5cce0 RtlCreateUserThread(entry=00466BF0, arg=7FFD1000) [Z:\home\winetest\tools\testbot\var\wine\dlls\ntdll\thread.c:261] in ntdll (0x0069ffec) 0x714b859f wined3d_output_get_mode+0xaf [Z:\home\winetest\tools\testbot\var\wine\dlls\wined3d\directx.c:1350] in wined3d: movl 0xc(%esi),%eax 1350 const struct wined3d_display_mode *wined3d_mode = &output->modes[i];
https://test.winehq.org/data/patterns.html#d3d8:device
The crash seems to only happen on multi-monitor configurations and is not 100% systematic.
A bisect shows that it started with the commit below:
commit 95352c096f0bbb0c2be3dc09c972792894d5315e Author: Zebediah Figura zfigura@codeweavers.com AuthorDate: Tue Jul 26 18:15:28 2022 -0500
wined3d: Build a list of wined3d_display_mode structures in wined3d_output_get_mode[_count]().