https://bugs.winehq.org/show_bug.cgi?id=53201
Bug ID: 53201 Summary: evr:evr crashes almost systematically on the TestBot's Wine VMs Product: Wine Version: unspecified Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: fgouget@codeweavers.com Distribution: ---
evr:evr crashes almost systematically on the TestBot's Wine VMs.
First the crashes happen either after this line: evr.c:1337: Test marked todo: Unexpected hr 0x80004001. or this one: evr.c:2324: Test marked todo: Unexpected hr 0x80004001.
Then the crashes can take several forms. The most common is an EXCEPTION_WINE_ASSERTION:
Unhandled exception: assertion failed in 32-bit code (0xf7f7a559). [...] Backtrace: =>0 0xf7f7a559 __kernel_vsyscall+0x9() in [vdso].so (0x0063e32c) 1 0xf7d4ae02 in libc.so.6 (+0x34e02) (0x0063e32c) 2 0xf7d33306 in libc.so.6 (+0x1d306) (0xf7efb000) 3 0x764b43d8 in libllvm-11.so.1 (+0x75f3d8) (0x0063e628) 4 0x764b41b0 in libllvm-11.so.1 (+0x75f1b0) (0x78f38762) 5 0x7420656c in libvulkan_radeon.so (+0x2f456c) (0x62616e55) 6 0x6c667265 (0x766f2078) 7 0xfe787067 (0x838d72eb) [...] Test failed: crash (80000101)
It can also be a read access to 0x00000004. In that case the backtrace is different:
Unhandled exception: page fault on read access to 0x00000004 in 32-bit code (0x63dc19f0). Backtrace: =>0 0x63dc19f0 in swrast_dri.so (+0x6a39f0) (0x6f2acba4) 1 0x63dc6de7 in swrast_dri.so (+0x6a8de7) (0x00007dbc) 2 0x64213985 in swrast_dri.so (+0xaf5985) (0x00007dbc) 3 0x63dc1b9a in swrast_dri.so (+0x6a3b9a) (0x00007dbc) 4 0x63daa367 in swrast_dri.so (+0x68c367) (0x71291010) 5 0x637ae197 in swrast_dri.so (+0x90197) (0x7b5764a0) 6 0x637a261d in swrast_dri.so (+0x8461d) (0x00000000) 7 0x63cbb3f0 in swrast_dri.so (+0x59d3f0) (0x7b574e00) 8 0x7b7aecba in libglx_mesa.so.0 (+0x2bcba) (0x7d667330) 9 0x7b7aca38 in libglx_mesa.so.0 (+0x29a38) (0x00000000) 10 0x7d95fe24 in libglx.so.0 (+0x3e24) (0x7d98f000) 11 0x7e38a419 create_glxcontext+0x39(context=<internal error>, shareList=<internal error>, display=<internal error>) [Z:\home\winetest\tools\testbot\var\wine\dlls\winex11.drv\opengl.c:1288] in winex11.so (0x0063f648) 12 0x7e38e10e X11DRV_wglCreateContextAttribsARB+0x15e(hdc=94010068, hShareContext=<is not available>, attribList=<is not available>) [Z:\home\winetest\tools\testbot\var\wine\dlls\winex11.drv\opengl.c:2079] in winex11.so (0x0063f688) 13 0x7a8bc111 wglCreateContextAttribsARB+0xd1(hdc=<internal error>, share=<internal error>, attribs=<internal error>) [Z:\home\winetest\tools\testbot\var\wine\dlls\opengl32\wgl.c:281] in opengl32 (0x0063f6c8) 14 0x71481767 context_create_wgl_attribs+0x67(gl_info=047AE2E4, hdc=94010068, share_ctx=00000000) [Z:\home\winetest\tools\testbot\var\wine\dlls\wined3d\context_gl.c:1894] in wined3d (0x0063f748) 15 0x71448ca0 wined3d_caps_gl_ctx_create_attribs+0x40(caps_gl_ctx=0063F830, gl_info=047AE2E4) [Z:\home\winetest\tools\testbot\var\wine\dlls\wined3d\adapter_gl.c:285] in wined3d (0x0063f788) 16 0x71450f6d wined3d_adapter_gl_init+0x1e75(wined3d_creation_flags=<internal error>, ordinal=<internal error>, adapter_gl=<internal error>) [Z:\home\winetest\tools\testbot\var\wine\dlls\wined3d\adapter_gl.c:5359] in wined3d (0x0063f8d8) 17 0x71450f6d wined3d_adapter_gl_create+0x1ebd(ordinal=0, wined3d_creation_flags=0x3ecc) [Z:\home\winetest\tools\testbot\var\wine\dlls\wined3d\adapter_gl.c:5440] in wined3d (0x0063f8d8) 18 0x714bb6fb wined3d_init+0x4b(wined3d=047AE2C8, flags=0x3ecc) [Z:\home\winetest\tools\testbot\var\wine\dlls\wined3d\directx.c:3509] in wined3d (0x0063f938) 19 0x715514d2 wined3d_create+0x62(flags=<internal error>) [Z:\home\winetest\tools\testbot\var\wine\dlls\wined3d\wined3d_main.c:141] in wined3d (0x0063f978) 20 0x67c91d65 d3d9_init+0x35(d3d9=047AE2A8, extended=0) [Z:\home\winetest\tools\testbot\var\wine\dlls\d3d9\directx.c:702] in d3d9 (0x0063f9c8) 21 0x67c83b31 Direct3DCreate9+0x5c(sdk_version=<internal error>) [Z:\home\winetest\tools\testbot\var\wine\dlls\d3d9\d3d9_main.c:44] in d3d9 (0x0063f9f8) 22 0x6558fb89 video_presenter_init_d3d+0x18(presenter=<internal error>) [Z:\home\winetest\tools\testbot\var\wine\dlls\evr\presenter.c:2112] in evr (0x0063fa98) 23 0x6558fb89 evr_presenter_create+0x129(outer=00000000, out=0063FAEC) [Z:\home\winetest\tools\testbot\var\wine\dlls\evr\presenter.c:2172] in evr (0x0063fa98) 24 0x65581d3d classfactory_CreateInstance+0x8d(iface=<internal error>, outer_unk=<internal error>, riid=<internal error>, ppobj=<internal error>) [Z:\home\winetest\tools\testbot\var\wine\dlls\evr\main.c:122] in evr (0x0063fb08) 25 0x6850b749 IClassFactory_CreateInstance+0x1c(ppvObject=<internal error>, riid=<internal error>, pUnkOuter=<internal error>, This=<internal error>) [Z:\home\winetest\tools\testbot\var\wine-win32\include\unknwn.h:223] in combase (0x0063fb98) 26 0x6850b749 CoCreateInstanceEx+0xe4(rclsid=<internal error>, outer=<internal error>, cls_context=<internal error>, server_info=<internal error>, count=<internal error>, results=<internal error>) [Z:\home\winetest\tools\testbot\var\wine\dlls\combase\combase.c:1891] in combase (0x0063fb98) 27 0x6850bbe1 CoCreateInstance+0x6c(rclsid=<internal error>, outer=<internal error>, cls_context=<internal error>, riid=<internal error>, obj=<internal error>) [Z:\home\winetest\tools\testbot\var\wine\dlls\combase\combase.c:1681] in combase (0x0063fc18) 28 0x6558f8c1 MFCreateVideoPresenter+0x91(owner=<internal error>, riid_device=<internal error>, riid=<internal error>, obj=<internal error>) [Z:\home\winetest\tools\testbot\var\wine\dlls\evr\presenter.c:2100] in evr (0x0063fc88) 29 0x00404c72 in evr_test (+0x4c72) (0x0063fd28) [...]
And on cw-rx460 some underlying library just called exit(0):
evr.c:1337: Test marked todo: Unexpected hr 0x80004001. evr:evr:06ac done (0) in 2s The main process has no test summary line
https://test.winehq.org/data/patterns.html#evr:evr
So this impacts not just the TestBot VMs with their QXL graphics card, but also real hardware with an AMD RX 460 GPU. Finally the crashes started on 2022-05-17 and a bisect on a Debian VM points to the commit below as the culprit:
commit 4a98b07c4bcc35a698448261478ba856c149cbea Author: Zhiyi Zhang zzhang@codeweavers.com Date: Tue May 17 14:17:53 2022 +0800
winex11.drv: Open a Vulkan device for D3DKMTOpenAdapterFromLuid().
The Vulkan device is used for querying video memory information for implementing D3DKMTQueryVideoMemoryInfo().
Signed-off-by: Zhiyi Zhang zzhang@codeweavers.com Signed-off-by: Huw Davies huw@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org