https://bugs.winehq.org/show_bug.cgi?id=45431
Bug ID: 45431 Summary: Crash Bandicoot N. Sane Trilogy (Steam, D3D11 game) deadlocks in IDXGISwapChain::ResizeTarget while trying to resize window Product: Wine Version: 3.11 Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: directx-d3d Assignee: wine-bugs@winehq.org Reporter: focht@gmx.net Distribution: ---
Hello folks,
some users reported it running without any patches, using DXVK:
https://www.reddit.com/r/wine_gaming/comments/8w3iv2/crash_bandicoot_n_sane_...
--- quote --- Seems to run exceptionally well. Thanks for sharing. --- quote ---
Some experience a crash:
https://github.com/doitsujin/dxvk/issues/483 (legit Steam version)
https://www.reddit.com/r/wine_gaming/comments/8vjdvc/crash_bandicoot_n_sane_... (non-legit Steam version)
Those crashes might be related to bug 45428 which I tried to reproduce but I don't come even that far.
Using vanilla Wine 3.11, no DXVK or any other overrides.
When starting the game I encounter a nasty deadlock when the game tries to change the resolution while being in windowed mode (from smaller to larger).
Console output:
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files (x86)/Crash Bandicoot N Sane Trilogy
$ wine ./CrashBandicootNSaneTrilogy.exe ... 0056:fixme:d3d_shader:shader_sm4_read_instruction_modifier Unhandled modifier 0x800000c2. 0056:fixme:d3d_shader:shader_sm4_read_instruction_modifier Unhandled modifier 0x00155543. [Streaming] Loaded chunk 'shaders_win64:MP_PERMANENT' in 1668ms (load: 1668ms pending: 0ms) 0060:fixme:d3d11:d3d11_immediate_context_Flush iface 0xc3fb80 stub! 0060:fixme:d3d11:d3d11_immediate_context_Flush iface 0xc3fb80 stub! 002e:fixme:dxgi:dxgi_output_GetDisplayModeList iface 0x50d88e00, format DXGI_FORMAT_R8G8B8A8_UNORM, flags 0, mode_count 0x23f950, desc (nil) partial stub! 002e:fixme:dxgi:dxgi_output_GetDisplayModeList iface 0x50d88e00, format DXGI_FORMAT_R8G8B8A8_UNORM, flags 0, mode_count 0x23f950, desc 0x1de959d0 partial stub! 002e:fixme:dxgi:d3d11_swapchain_GetDesc Ignoring ScanlineOrdering, Scaling and SwapEffect. 002e:fixme:dxgi:d3d11_swapchain_GetDesc Ignoring ScanlineOrdering, Scaling and SwapEffect. 002e:fixme:dxgi:d3d11_swapchain_GetDesc Ignoring ScanlineOrdering, Scaling and SwapEffect. 005e:err:ntdll:RtlpWaitForCriticalSection section 0x7fec26572bc0 "/home/focht/projects/wine/mainline-src/dlls/wined3d/wined3d_main.c: wined3d_cs" wait timed out in thread 005e, blocked by 002e, retrying (60 sec) ... --- snip ---
winedbg provides some insight (I only included the relevant/interesting threads):
--- snip --- Wine-dbg>info process pid threads executable (all id:s are in hex)
0000002d 23 'CrashBandicootNSaneTrilogy.exe'
00000027 4 'explorer.exe' 0000000e 5 'services.exe' 00000020 4 _ 'winedevice.exe' 0000001b 3 _ 'plugplay.exe' 00000011 4 _ 'winedevice.exe'
Wine-dbg>info thread process tid prio (all id:s are in hex) ... 0000002d (D) C:\Program Files (x86)\Crash Bandicoot N Sane Trilogy\CrashBandicootNSaneTrilogy.exe 00000060 0 0000005f 0 0000005e 0 0000005d 0 0000005c 0 0000005b 0 0000005a 0 00000059 0 00000058 0 00000057 0 00000056 0 00000055 0 00000054 0 00000053 0 00000044 1 00000043 -1 00000042 1 00000033 1 00000032 1 00000031 1 00000030 1 0000002f 1 0000002e 0 <==
Wine-dbg>bt all
... # CSMT
Backtracing for thread 005f in process 002d (C:\Program Files (x86)\Crash Bandicoot N Sane Trilogy\CrashBandicootNSaneTrilogy.exe): Backtrace: =>0 0x00007fec37894a72 __libc_read+0x42() in libpthread.so.0 (0x0000000035fbf540) 1 0x000000007bd15bc9 wait_select_reply+0x34() [/home/focht/projects/wine/mainline-src/dlls/ntdll/server.c:359] in ntdll (0x0000000035fbf560) 2 0x000000007bd16b99 server_select+0x1ba() [/home/focht/projects/wine/mainline-src/dlls/ntdll/server.c:618] in ntdll (0x0000000035fbf6c0) 3 0x000000007bd2f847 wait_objects+0xf6() [/home/focht/projects/wine/mainline-src/dlls/ntdll/sync.c:1031] in ntdll (0x0000000035fbf800) 4 0x000000007bd2f8d0 NtWaitForMultipleObjects+0x86() [/home/focht/projects/wine/mainline-src/dlls/ntdll/sync.c:1042] in ntdll (0x0000000035fbf8c0) 5 0x000000007b4f2a49 WaitForMultipleObjectsEx+0x14e() [/home/focht/projects/wine/mainline-src/dlls/kernel32/sync.c:221] in kernel32 (0x0000000035fbfbd0) 6 0x000000007b4f27c2 WaitForSingleObject+0x3b() [/home/focht/projects/wine/mainline-src/dlls/kernel32/sync.c:160] in kernel32 (0x0000000035fbfc10) 7 0x00007fec263fdd0d wined3d_cs_wait_event+0xc8() [/home/focht/projects/wine/mainline-src/dlls/wined3d/cs.c:2665] in wined3d (0x0000000035fbfc70) 8 0x00007fec263fdf68 wined3d_cs_run+0x251() [/home/focht/projects/wine/mainline-src/dlls/wined3d/cs.c:2702] in wined3d (0x0000000035fbfdd0) 9 0x000000007bd26c3a call_thread_func+0x116() [/home/focht/projects/wine/mainline-src/dlls/ntdll/signal_x86_64.c:4367] in ntdll (0x0000000035fbffd0)
Backtracing for thread 005e in process 002d (C:\Program Files (x86)\Crash Bandicoot N Sane Trilogy\CrashBandicootNSaneTrilogy.exe): Backtrace: =>0 0x00007fec375b9a39 syscall+0x19() in libc.so.6 (0x0000000035c9d740) 1 0x000000007bcac223 futex_wait+0x52() [/home/focht/projects/wine/mainline-src/dlls/ntdll/critsection.c:69] in ntdll (0x0000000035c9d740) 2 0x000000007bcac396 fast_wait+0x5b() [/home/focht/projects/wine/mainline-src/dlls/ntdll/critsection.c:108] in ntdll (0x0000000035c9d780) 3 0x000000007bcac576 wait_semaphore+0x44() [/home/focht/projects/wine/mainline-src/dlls/ntdll/critsection.c:229] in ntdll (0x0000000035c9d8c0) 4 0x000000007bcacd05 RtlpWaitForCriticalSection+0x23d() [/home/focht/projects/wine/mainline-src/dlls/ntdll/critsection.c:452] in ntdll (0x0000000035c9daa0) 5 0x000000007bcad241 RtlEnterCriticalSection+0x182() [/home/focht/projects/wine/mainline-src/dlls/ntdll/critsection.c:566] in ntdll (0x0000000035c9dbb0) 6 0x00007fec264f3780 wined3d_mutex_lock+0x21() [/home/focht/projects/wine/mainline-src/dlls/wined3d/wined3d_main.c:357] in wined3d (0x0000000035c9dbe0) 7 0x00007fec265a491c d3d11_swapchain_GetDesc+0x18d() [/home/focht/projects/wine/mainline-src/dlls/dxgi/swapchain.c:297] in dxgi (0x0000000035c9dd40) 8 0x0000000140b98e3f in crashbandicootnsanetrilogy (+0xb98e3e) (0x0000000000000005) 9 0x0000000140b6785d in crashbandicootnsanetrilogy (+0xb6785c) (0x0000000000000005) 10 0x0000000140b66e84 in crashbandicootnsanetrilogy (+0xb66e83) (0x0000000000000005) 11 0x00007fec27ac93bb WINPROC_wrapper+0x39() [/home/focht/projects/wine/mainline-src/dlls/user32/winproc.c:216] in user32 (0x0000000035c9df10) 12 0x00007fec27ac95a8 call_window_proc+0x138() [/home/focht/projects/wine/mainline-src/dlls/user32/winproc.c:246] in user32 (0x0000000035c9df90) 13 0x00007fec27acbf15 WINPROC_CallProcWtoA+0x11ea() [/home/focht/projects/wine/mainline-src/dlls/user32/winproc.c:861] in user32 (0x0000000035c9e520) 14 0x00007fec27acc270 WINPROC_call_window+0x33b() [/home/focht/projects/wine/mainline-src/dlls/user32/winproc.c:923] in user32 (0x0000000035c9e5a0) 15 0x00007fec27a6afba call_window_proc+0xeb() [/home/focht/projects/wine/mainline-src/dlls/user32/message.c:2223] in user32 (0x0000000035c9e650) 16 0x00007fec27a6e791 send_message+0x182() [/home/focht/projects/wine/mainline-src/dlls/user32/message.c:3264] in user32 (0x0000000035c9e6b0) 17 0x00007fec27a6f0d3 SendMessageW+0xd3() [/home/focht/projects/wine/mainline-src/dlls/user32/message.c:3464] in user32 (0x0000000035c9e7c0) 18 0x00007fec27a0deb9 DEFWND_HandleWindowPosChanged+0x16c() [/home/focht/projects/wine/mainline-src/dlls/user32/defwnd.c:75] in user32 (0x0000000035c9e820) 19 0x00007fec27a0ecc7 DEFWND_DefWinProc+0x577() [/home/focht/projects/wine/mainline-src/dlls/user32/defwnd.c:268] in user32 (0x0000000035c9e9c0) 20 0x00007fec27a113a7 DefWindowProcA+0x952() [/home/focht/projects/wine/mainline-src/dlls/user32/defwnd.c:921] in user32 (0x0000000035c9eb80) 21 0x0000000140b66faf in crashbandicootnsanetrilogy (+0xb66fae) (0x0000000000000047) 22 0x00007fec27ac93bb WINPROC_wrapper+0x39() [/home/focht/projects/wine/mainline-src/dlls/user32/winproc.c:216] in user32 (0x0000000035c9ec70) 23 0x00007fec27ac95a8 call_window_proc+0x138() [/home/focht/projects/wine/mainline-src/dlls/user32/winproc.c:246] in user32 (0x0000000035c9ecf0) 24 0x00007fec27acbf15 WINPROC_CallProcWtoA+0x11ea() [/home/focht/projects/wine/mainline-src/dlls/user32/winproc.c:861] in user32 (0x0000000035c9f280) 25 0x00007fec27acc270 WINPROC_call_window+0x33b() [/home/focht/projects/wine/mainline-src/dlls/user32/winproc.c:923] in user32 (0x0000000035c9f300) 26 0x00007fec27a6afba call_window_proc+0xeb() [/home/focht/projects/wine/mainline-src/dlls/user32/message.c:2223] in user32 (0x0000000035c9f3b0) 27 0x00007fec27a6e791 send_message+0x182() [/home/focht/projects/wine/mainline-src/dlls/user32/message.c:3264] in user32 (0x0000000035c9f410) 28 0x00007fec27a6f0d3 SendMessageW+0xd3() [/home/focht/projects/wine/mainline-src/dlls/user32/message.c:3464] in user32 (0x0000000035c9f520) 29 0x00007fec27ac5f27 USER_SetWindowPos+0x705() [/home/focht/projects/wine/mainline-src/dlls/user32/winpos.c:2328] in user32 (0x0000000035c9f600) 30 0x00007fec27a69bd7 handle_internal_message+0x99() [/home/focht/projects/wine/mainline-src/dlls/user32/message.c:1861] in user32 (0x0000000035c9f660) 31 0x00007fec27a6af20 call_window_proc+0x51() [/home/focht/projects/wine/mainline-src/dlls/user32/message.c:2210] in user32 (0x0000000035c9f700) 32 0x00007fec27a6d7b6 peek_message+0x1022() [/home/focht/projects/wine/mainline-src/dlls/user32/message.c:2952] in user32 (0x0000000035c9fb00) 33 0x00007fec27a70743 GetMessageW+0x1a5() [/home/focht/projects/wine/mainline-src/dlls/user32/message.c:3828] in user32 (0x0000000035c9fbd0) 34 0x00007fec27a70895 GetMessageA+0xb5() [/home/focht/projects/wine/mainline-src/dlls/user32/message.c:3844] in user32 (0x0000000035c9fcb0) 35 0x0000000140b6ad83 in crashbandicootnsanetrilogy (+0xb6ad82) (0x0000000035c9ffd0) 36 0x0000000140df1705 in crashbandicootnsanetrilogy (+0xdf1704) (0x0000000035c9ffd0) 37 0x000000007bd26c3a call_thread_func+0x116() [/home/focht/projects/wine/mainline-src/dlls/ntdll/signal_x86_64.c:4367] in ntdll (0x0000000035c9ffd0)
...
Backtracing for thread 002e in process 002d (C:\Program Files (x86)\Crash Bandicoot N Sane Trilogy\CrashBandicootNSaneTrilogy.exe): Backtrace: =>0 0x00007fec37894a72 __libc_read+0x42() in libpthread.so.0 (0x000000000023e850) 1 0x000000007bd15bc9 wait_select_reply+0x34() [/home/focht/projects/wine/mainline-src/dlls/ntdll/server.c:359] in ntdll (0x000000000023e870) 2 0x000000007bd16b99 server_select+0x1ba() [/home/focht/projects/wine/mainline-src/dlls/ntdll/server.c:618] in ntdll (0x000000000023e9d0) 3 0x000000007bd2f847 wait_objects+0xf6() [/home/focht/projects/wine/mainline-src/dlls/ntdll/sync.c:1031] in ntdll (0x000000000023eb10) 4 0x000000007bd2f8d0 NtWaitForMultipleObjects+0x86() [/home/focht/projects/wine/mainline-src/dlls/ntdll/sync.c:1042] in ntdll (0x000000000023ebd0) 5 0x000000007b4f2a49 WaitForMultipleObjectsEx+0x14e() [/home/focht/projects/wine/mainline-src/dlls/kernel32/sync.c:221] in kernel32 (0x000000000023eee0) 6 0x00007fec24282728 X11DRV_MsgWaitForMultipleObjectsEx+0x168() [/home/focht/projects/wine/mainline-src/dlls/winex11.drv/event.c:497] in winex11 (0x000000000023efe0) 7 0x00007fec27acd71e wait_message+0x4e() [/home/focht/projects/wine/mainline-src/dlls/user32/winproc.c:1164] in user32 (0x000000000023f050) 8 0x00007fec27a6dafc wait_message_reply+0x146() [/home/focht/projects/wine/mainline-src/dlls/user32/message.c:3035] in user32 (0x000000000023f140) 9 0x00007fec27a6e54f send_inter_thread_message+0x130() [/home/focht/projects/wine/mainline-src/dlls/user32/message.c:3213] in user32 (0x000000000023f190) 10 0x00007fec27a6e8c4 send_message+0x2b5() [/home/focht/projects/wine/mainline-src/dlls/user32/message.c:3281] in user32 (0x000000000023f1e0) 11 0x00007fec27a6f0d3 SendMessageW+0xd3() [/home/focht/projects/wine/mainline-src/dlls/user32/message.c:3464] in user32 (0x000000000023f2f0) 12 0x00007fec27ac6165 SetWindowPos+0x22e() [/home/focht/projects/wine/mainline-src/dlls/user32/winpos.c:2362] in user32 (0x000000000023f420) 13 0x00007fec27abfd3f MoveWindow+0x146() [/home/focht/projects/wine/mainline-src/dlls/user32/winpos.c:673] in user32 (0x000000000023f540) 14 0x00007fec264c4d4d wined3d_swapchain_resize_target+0x3df() [/home/focht/projects/wine/mainline-src/dlls/wined3d/swapchain.c:1338] in wined3d (0x000000000023f6a0) 15 0x00007fec265a5117 d3d11_swapchain_ResizeTarget+0x29f() [/home/focht/projects/wine/mainline-src/dlls/dxgi/swapchain.c:383] in dxgi (0x000000000023f7e0) 16 0x0000000140b8ea4c in crashbandicootnsanetrilogy (+0xb8ea4b) (0x000000000023f869) 17 0x0000000140b663c9 in crashbandicootnsanetrilogy (+0xb663c8) (0x000000000023f969) 18 0x0000000140236d79 in crashbandicootnsanetrilogy (+0x236d78) (0x000000000023fa40) 19 0x0000000140232fbd in crashbandicootnsanetrilogy (+0x232fbc) (0x000000000023fb09) 20 0x0000000140140949 in crashbandicootnsanetrilogy (+0x140948) (0x000000000023fbd0) 21 0x00000001400281b5 in crashbandicootnsanetrilogy (+0x281b4) (0x00000001413861c0) 22 0x0000000140027d49 in crashbandicootnsanetrilogy (+0x27d48) (0x000000000023fd40) 23 0x0000000140029911 in crashbandicootnsanetrilogy (+0x29910) (0x000000000023fd40) 24 0x00000001412f919f in crashbandicootnsanetrilogy (+0x12f919e) (0x000000000023fdc0) 25 0x000000007b4d6c6d call_process_entry+0x20() [/home/focht/projects/wine/mainline-src/dlls/kernel32/process.c:1067] in kernel32 (0x000000000023fdc0) 26 0x000000007b4d6eb7 start_process+0x243() [/home/focht/projects/wine/mainline-src/dlls/kernel32/process.c:1099] in kernel32 (0x000000000023ffd0)
--- snip ---
Both threads hold the 'wined3d_mutex', resulting in deadlock.
* d3d11_swapchain_ResizeTarget -> MoveWindow -> inter-thread msg to window owning thread * d3d11_swapchain_GetDesc (can't process the message, waits for lock)
Trace log, although the previous callstacks should already tell the whole story.
--- snip --- ... 0061:trace:msg:WINPROC_CallProcWtoA (hwnd=0x1007c,msg=WM_GETMINMAXINFO,wp=00000000,lp=35c7ea80) 0061:Call window proc 0x140b66ce0 (hwnd=0x1007c,msg=WM_GETMINMAXINFO,wp=00000000,lp=35c7ea80) 0061:Call user32.GetWindowLongPtrA(0001007c,ffffffeb) ret=140b66d0e 0061:Ret user32.GetWindowLongPtrA() retval=00000000 ret=140b66d0e 0061:Call user32.DefWindowProcA(0001007c,00000024,00000000,35c7ea80) ret=140b66faf 0061:Ret user32.DefWindowProcA() retval=00000000 ret=140b66faf 0061:Ret window proc 0x140b66ce0 (hwnd=0x1007c,msg=WM_GETMINMAXINFO,wp=00000000,lp=35c7ea80) retval=00000000 0061:trace:win:MonitorFromWindow (0x1007c, 0x00000001) 0061:trace:win:GetWindowRect hwnd 0x1007c (0,0)-(0,0) 0061:Call winex11.drv.EnumDisplayMonitors(00000000,00000000,7f2f2a6534f4,35c7e790) ret=7f2f2a653eca 0061:Call winex11.drv.GetMonitorInfo(00000001,35c7e530) ret=7f2f2a653d6f 0061:Ret winex11.drv.GetMonitorInfo() retval=00000001 ret=7f2f2a653d6f 0061:trace:win:GetMonitorInfoW flags 0001, monitor (0,0)-(1920,1080), work (0,0)-(1920,1031) 0061:Ret winex11.drv.EnumDisplayMonitors() retval=00000001 ret=7f2f2a653eca 0061:trace:win:MonitorFromRect (0,0)-(0,0) flags 1 returning 0x1 0061:Call winex11.drv.GetMonitorInfo(00000001,35c7ea30) ret=7f2f2a653d6f 0061:Ret winex11.drv.GetMonitorInfo() retval=00000001 ret=7f2f2a653d6f 0061:trace:win:GetMonitorInfoW flags 0001, monitor (0,0)-(1920,1080), work (0,0)-(1920,1031) 0061:trace:win:WINPOS_GetMinMaxInfo 1926 1086 / -3 -3 / 3852 1092 / 112 27 ... 0061:Ret window proc 0x140b66ce0 (hwnd=0x1007c,msg=WM_SETCURSOR,wp=0001007c,lp=02000001) retval=00000000 ... 0061:Ret user32.GetMessageA() retval=00000001 ret=140b6ad83 0061:Call user32.TranslateMessage(35c7fd20) ret=140b6ad97 0061:Ret user32.TranslateMessage() retval=00000000 ret=140b6ad97 ... 0061:Call user32.DispatchMessageA(35c7fd20) ret=140b6ada2 ... 0061:Call window proc 0x140b66ce0 (hwnd=0x1007c,msg=WM_MOUSEMOVE,wp=00000000,lp=01640282) ... 0061:Call user32.DefWindowProcA(0001007c,00000200,00000000,01640282) ret=140b66faf 0061:Ret user32.DefWindowProcA() retval=00000000 ret=140b66faf ... 0061:Ret window proc 0x140b66ce0 (hwnd=0x1007c,msg=WM_MOUSEMOVE,wp=00000000,lp=01640282) retval=00000000 ... 0061:Ret user32.DispatchMessageA() retval=00000000 ret=140b6ada2 ... 0061:Call user32.GetMessageA(35c7fd20,00000000,00000000,00000000) ret=140b6ad83 ... 0061:Call winex11.drv.MsgWaitForMultipleObjectsEx(00000001,35c7faa0,ffffffff,000004ff,00000000) ret=7f2f2a6ab71e <tid 0061 message pump waits for new messages> ... 0031:trace:dxgi:dxgi_adapter_AddRef 0xc73160 increasing refcount to 3. 0031:trace:dxgi:dxgi_adapter_EnumOutputs Returning output 0x51c11b30. 0031:trace:dxgi:dxgi_adapter_Release 0xc73160 decreasing refcount to 2. 0031:trace:dxgi:d3d11_swapchain_ResizeTarget iface 0xc9ac30, target_mode_desc 0x22f810. 0031:trace:dxgi:d3d11_swapchain_ResizeTarget Mode: resolution 1920x1080, refresh rate 0 / 1, format DXGI_FORMAT_R8G8B8A8_UNORM, scanline ordering 0, scaling 0. 0031:Call wined3d.wined3d_mutex_lock() ret=7f2f291830fa 0031:Ret wined3d.wined3d_mutex_lock() retval=00000000 ret=7f2f291830fa 0031:Call wined3d.wined3d_swapchain_resize_target(00c9ac90,0022f6d0) ret=7f2f29183117 0031:Call user32.GetWindowLongW(0001007c,ffffffec) ret=7f2f290a2ace 0031:Ret user32.GetWindowLongW() retval=00000100 ret=7f2f290a2ace 0031:Call user32.GetWindowLongW(0001007c,fffffff0) ret=7f2f290a2aef 0031:Ret user32.GetWindowLongW() retval=16ca0000 ret=7f2f290a2aef 0031:Call user32.AdjustWindowRectEx(0022f510,16ca0000,00000000,00000100) ret=7f2f290a2b0e 0031:Call winex11.drv.SystemParametersInfo(00000029,00000000,0022f1a0,00000000) ret=7f2f2a676a0d 0031:Ret winex11.drv.SystemParametersInfo() retval=00000000 ret=7f2f2a676a0d 0031:Call user32.GetDpiForSystem() ret=7f2f2a418749 0031:Ret user32.GetDpiForSystem() retval=00000060 ret=7f2f2a418749 0031:Call user32.GetDpiForSystem() ret=7f2f2a418749 0031:Ret user32.GetDpiForSystem() retval=00000060 ret=7f2f2a418749 0031:Call user32.GetDpiForSystem() ret=7f2f2a418749 0031:Ret user32.GetDpiForSystem() retval=00000060 ret=7f2f2a418749 0031:Call user32.GetDpiForSystem() ret=7f2f2a418749 0031:Ret user32.GetDpiForSystem() retval=00000060 ret=7f2f2a418749 0031:Call user32.GetDpiForSystem() ret=7f2f2a418749 0031:Ret user32.GetDpiForSystem() retval=00000060 ret=7f2f2a418749 0031:Call user32.GetDpiForSystem() ret=7f2f2a418749 0031:Ret user32.GetDpiForSystem() retval=00000060 ret=7f2f2a418749 0031:Ret user32.AdjustWindowRectEx() retval=00000001 ret=7f2f290a2b0e 0031:Call user32.GetWindowRect(0001007c,0022f520) ret=7f2f290a2b67 0031:trace:win:GetWindowRect hwnd 0x1007c (317,167)-(1603,912) 0031:Ret user32.GetWindowRect() retval=00000001 ret=7f2f290a2b67 0031:Call user32.MoveWindow(0001007c,0000013d,000000a7,00000786,00000451,00000001) ret=7f2f290a2d4d 0031:trace:win:MoveWindow 0x1007c 317,167 1926x1105 1 0031:trace:win:SetWindowPos hwnd 0x1007c, after (nil), 317,167 (1926x1105), flags 00000014 0031:trace:win:dump_winpos_flags flags: SWP_NOZORDER SWP_NOACTIVATE 0031:trace:msg:send_inter_thread_message hwnd 0x1007c msg 80000001 (WM_WINE_SETWINDOWPOS) wp 0 lp 22f240 0061:Ret winex11.drv.MsgWaitForMultipleObjectsEx() retval=00000000 ret=7f2f2a6ab71e 0061:trace:msg:peek_message got type 1 msg 80000001 (WM_WINE_SETWINDOWPOS) hwnd 0x1007c wp 0 lp 22f240 0061:trace:msg:WINPROC_CallProcWtoA (hwnd=0x1007c,msg=WM_WINDOWPOSCHANGING,wp=00000000,lp=0022f240) 0031:Call winex11.drv.MsgWaitForMultipleObjectsEx(00000001,0022f020,ffffffff,00008040,00000000) ret=7f2f2a6ab71e 0061:Call window proc 0x140b66ce0 (hwnd=0x1007c,msg=WM_WINDOWPOSCHANGING,wp=00000000,lp=0022f240) 0061:Call user32.GetWindowLongPtrA(0001007c,ffffffeb) ret=140b66d0e 0061:Ret user32.GetWindowLongPtrA() retval=212806f0 ret=140b66d0e 0061:Call user32.DefWindowProcA(0001007c,00000046,00000000,0022f240) ret=140b66faf 0061:trace:win:GetWindowRect hwnd 0x1007c (317,167)-(1603,912) ... 0061:Ret window proc 0x140b66ce0 (hwnd=0x1007c,msg=WM_ERASEBKGND,wp=004c0047,lp=00000000) retval=00000000 0061:trace:win:release_dc 0x1007c 0x4c0047 0061:trace:win:USER_SetWindowPos status flags = 1006 0061:trace:msg:WINPROC_CallProcWtoA (hwnd=0x1007c,msg=WM_WINDOWPOSCHANGED,wp=00000000,lp=0022f240) 0061:Call window proc 0x140b66ce0 (hwnd=0x1007c,msg=WM_WINDOWPOSCHANGED,wp=00000000,lp=0022f240) 0061:Call user32.GetWindowLongPtrA(0001007c,ffffffeb) ret=140b66d0e 0061:Ret user32.GetWindowLongPtrA() retval=212806f0 ret=140b66d0e 0061:Call user32.DefWindowProcA(0001007c,00000047,00000000,0022f240) ret=140b66faf 0061:trace:msg:WINPROC_CallProcWtoA (hwnd=0x1007c,msg=WM_SIZE,wp=00000000,lp=04380780) 0061:Call window proc 0x140b66ce0 (hwnd=0x1007c,msg=WM_SIZE,wp=00000000,lp=04380780) 0061:Call user32.GetWindowLongPtrA(0001007c,ffffffeb) ret=140b66d0e 0061:Ret user32.GetWindowLongPtrA() retval=212806f0 ret=140b66d0e 0061:Call user32.GetClientRect(0001007c,35c7dd10) ret=140b677af 0061:Ret user32.GetClientRect() retval=00000001 ret=140b677af 0061:trace:dxgi:d3d11_swapchain_GetDesc iface 0xc9ac30, desc 0x35c7dc90. 0061:Call wined3d.wined3d_mutex_lock() ret=7f2f2918291c ... 0061:err:ntdll:RtlpWaitForCriticalSection section 0x7f2f29150bc0 "/home/focht/projects/wine/mainline-src/dlls/wined3d/wined3d_main.c: wined3d_cs" wait timed out in thread 0061, blocked by 0031, retrying (60 sec) --- snip ---
$ wine --version wine-3.11-150-g80205232d3
Regards
https://bugs.winehq.org/show_bug.cgi?id=45431
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL| |https://store.steampowered. | |com/app/731490
https://bugs.winehq.org/show_bug.cgi?id=45431
zzzzzyzz@hacari.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |zzzzzyzz@hacari.org
https://bugs.winehq.org/show_bug.cgi?id=45431
--- Comment #1 from Henri Verbeet hverbeet@gmail.com --- We'd probably need to do some tests to check whether it's supposed to return the old swapchain desc or the new one at that point, but in principle we could avoid the wined3d call in GetDesc() by just storing a copy in the swapchain.
https://bugs.winehq.org/show_bug.cgi?id=45431
Philip Rebohle philip.rebohle@tu-dortmund.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |philip.rebohle@tu-dortmund. | |de
--- Comment #2 from Philip Rebohle philip.rebohle@tu-dortmund.de --- This issue affects Dragon Age: Inquisition as well when fullscreen mode is enabled.
Things might get particularly interesting when an app calls ResizeBuffers from the message callback.
https://bugs.winehq.org/show_bug.cgi?id=45431
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Crash Bandicoot N. Sane |Multiple D3D11 games |Trilogy (Steam, D3D11 game) |deadlock in |deadlocks in |IDXGISwapChain::ResizeTarge |IDXGISwapChain::ResizeTarge |t while trying to resize |t while trying to resize |window (Crash Bandicoot N. |window |Sane Trilogy, Dragon Age: | |Inquisition)
--- Comment #3 from Anastasius Focht focht@gmx.net --- Hello folks,
refining summary to collect more affected games here.
$ wine --version wine-3.15-188-g0799550075
Regards
https://bugs.winehq.org/show_bug.cgi?id=45431
Józef Kucia joseph.kucia@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |joseph.kucia@gmail.com See Also| |https://bugs.winehq.org/sho | |w_bug.cgi?id=39229
https://bugs.winehq.org/show_bug.cgi?id=45431
Józef Kucia joseph.kucia@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Assignee|wine-bugs@winehq.org |joseph.kucia@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=45431
Józef Kucia joseph.kucia@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|NEW |RESOLVED Fixed by SHA1| |0896decb183b4363235e7bd47ff | |780c92ba992e9
--- Comment #4 from Józef Kucia joseph.kucia@gmail.com --- Should be fixed by https://source.winehq.org/git/wine.git/?a=commit;h=0896decb183b4363235e7bd47... Please open new bugs for remaining issues.
https://bugs.winehq.org/show_bug.cgi?id=45431
Józef Kucia joseph.kucia@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Assignee|joseph.kucia@gmail.com |wine-bugs@winehq.org
https://bugs.winehq.org/show_bug.cgi?id=45431
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #5 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 4.0-rc1.