https://bugs.winehq.org/show_bug.cgi?id=55765
Bug ID: 55765 Summary: The 32-bit d2d1:d2d1 frequently crashes on the GitLab CI Product: Wine Version: unspecified Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: d2d Assignee: wine-bugs@winehq.org Reporter: fgouget@codeweavers.com Distribution: ---
The 32-bit d2d1:d2d1 crashes on the GitLab CI:
d2d1.c:7400: Test marked todo: Figure does not match. Unhandled exception: page fault on write access to 0x00000000 in wow64 32-bit code (0x79d70bdf). [...] Backtrace: =>0 0x79d70bdf d2d_device_context_Clear+0x7f(iface=<is not available>, colour=<is not available>) [/builds/wine/wine/build32/../dlls/d2d1/device.c:1864] in d2d1 (0x0068fc48) 1 0x004261e4 in d2d1_test (+0x261e4) (0x0068fd08) 2 0x0043bacb in d2d1_test (+0x3bacb) (0x0068fd78) 3 0x0043c5b3 in d2d1_test (+0x3c5b3) (0x0068fe18) 4 0x0043d680 in d2d1_test (+0x3d680) (0x0068fee8) 5 0x0043d384 in d2d1_test (+0x3d384) (0x0068ff30) 6 0x7bbf8a70 in kernel32 (+0x28a70) (0x0068ff48) 7 0x7bd89827 in ntdll (+0x59827) (0x0068ff5c) 8 0x7bd8a048 in ntdll (+0x5a048) (0x0068ffec) 0x79d70bdf d2d_device_context_Clear+0x7f [/builds/wine/wine/build32/../dlls/d2d1/device.c:1864] in d2d1: fst (%eax)
See https://test.winehq.org/data/patterns.html#d2d1:d2d1
It's not clear where in the test the crash happens (particularly with the parallel execution) but it always follows the trace on line 7400 so it is likely to be in test_draw_geometry().
Based on the backtrace and current source, the crash happens on this d2d_device_context_Clear() line, probably because ID3D11DeviceContext_Map() silently failed: vs_cb_data->transform_geometry._11 = 1.0f;
The first crash happened on 2023-10-03: * 2023-10-03 gitlab-debian-32 * 2023-10-04 gitlab-debian-32 * 2023-10-04 MR!4010 * 2023-10-05 MR!3993 * 2023-10-05 MR!4018 * 2023-10-06 gitlab-debian-32 * 2023-10-06 MR!4037 * 2023-10-09 MR!4048