https://bugs.winehq.org/show_bug.cgi?id=45993
Bug ID: 45993 Summary: Hard Reset Redux crashes on exit with 'unsafe_impl_from_ID3D11InputLayout: Assertion `iface->lpVtbl == &d3d11_input_layout_vtbl' failed.' Product: Wine Version: 3.18 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,
as it says.
Prerequisite: Needs workaround for bug 40803 ("Hard Reset Redux fails to launch ("DirectX 10 device not found!")(DXGI_ADAPTER_DESC1 'DedicatedSystemMemory' or 'SharedSystemMemory' member must be non-null)") to run.
--- snip --- $ pwd /home/focht/.wine/drive_c/GOG Games/Hard Reset Redux
$ WINEDEBUG=+seh,+loaddll,+process,+dxgi,+d3d,+d3d11,+msgbox wine ./hr.Win32.exe >>log.txt 2>&1 ... 0059:trace:d3d:wined3d_cs_run Executing WINED3D_CS_OP_SET_SHADER. 0055:trace:d3d11:d3d11_immediate_context_PSSetShader iface 0x6c30fdc, shader 0x9a1da78, class_instances (nil), class_instance_count 0. 0059:trace:d3d:wined3d_cs_run WINED3D_CS_OP_SET_SHADER executed. 0055:trace:d3d:wined3d_device_set_pixel_shader device 0x66d2720, shader 0x9a1daa0. 0059:trace:d3d:wined3d_cs_run Executing WINED3D_CS_OP_SET_SHADER. 0055:trace:d3d11:d3d11_immediate_context_IASetIndexBuffer iface 0x6c30fdc, buffer 0x6b8f710, format DXGI_FORMAT_R16_UINT, offset 0. 0059:trace:d3d:wined3d_cs_run WINED3D_CS_OP_SET_SHADER executed. 0055:trace:d3d:wined3d_device_set_index_buffer device 0x66d2720, buffer 0x6b8f750, format WINED3DFMT_R16_UINT, offset 0. 0055:trace:d3d:wined3d_buffer_incref 0x6b8f750 increasing refcount to 2. 0055:trace:d3d:wined3d_buffer_decref 0xbc1caf8 decreasing refcount to 1. 0059:trace:d3d:wined3d_cs_run Executing WINED3D_CS_OP_SET_INDEX_BUFFER. 0055:trace:d3d11:d3d11_immediate_context_IASetInputLayout iface 0x6c30fdc, input_layout 0x6c0e4c8. 0059:trace:d3d:wined3d_cs_run WINED3D_CS_OP_SET_INDEX_BUFFER executed. 0055:trace:d3d:wined3d_device_set_vertex_declaration device 0x66d2720, declaration 0x6c0e4f0. 0059:trace:d3d:wined3d_cs_run Executing WINED3D_CS_OP_SET_VERTEX_DECLARATION. 0055:trace:d3d11:d3d11_immediate_context_IASetVertexBuffers iface 0x6c30fdc, start_slot 0, buffer_count 1, buffers 0xf81faa0, strides 0xf81fab0, offsets 0xf81fab4. 0059:trace:d3d:wined3d_cs_run WINED3D_CS_OP_SET_VERTEX_DECLARATION executed. 0055:trace:d3d:wined3d_device_set_stream_source device 0x66d2720, stream_idx 0, buffer 0x6b8f630, offset 0, stride 16. 0055:trace:d3d:wined3d_buffer_incref 0x6b8f630 increasing refcount to 2. 0055:trace:d3d:wined3d_buffer_decref 0xbc1c6f0 decreasing refcount to 1. 0059:trace:d3d:wined3d_cs_run Executing WINED3D_CS_OP_SET_STREAM_SOURCE. 0055:trace:d3d11:d3d11_immediate_context_DrawIndexed iface 0x6c30fdc, index_count 288, start_index_location 0, base_vertex_location 0. 0059:trace:d3d:wined3d_cs_run WINED3D_CS_OP_SET_STREAM_SOURCE executed. 0055:trace:d3d:wined3d_device_set_base_vertex_index device 0x66d2720, base_index 0. 0055:trace:d3d:wined3d_device_draw_indexed_primitive device 0x66d2720, start_idx 0, index_count 288. 0059:trace:d3d:wined3d_cs_run Executing WINED3D_CS_OP_DRAW. 0055:trace:d3d11:d3d11_immediate_context_PSSetShaderResources iface 0x6c30fdc, start_slot 13, view_count 1, views 0xf81fae8. ... 0059:trace:d3d:context_release Releasing context 0x6bac7a8, level 1. 0059:trace:d3d:wined3d_cs_run WINED3D_CS_OP_DRAW executed. 0059:trace:d3d:wined3d_cs_run Executing WINED3D_CS_OP_MAP. 0059:trace:d3d:wined3d_buffer_map buffer 0x6c246c8, offset 0, size 0, data 0xf81fb7c, flags 0x40002000. 0059:trace:d3d:context_acquire device 0x66d2720, texture (nil), sub_resource_idx 0. 0059:trace:d3d:context_enter Entering context 0x6bac7a8, level 1. 0059:trace:d3d:wined3d_buffer_validate_location buffer 0x6c246c8, location WINED3D_LOCATION_BUFFER. 0059:trace:d3d:wined3d_buffer_validate_location New locations flags are WINED3D_LOCATION_BUFFER. 0059:trace:d3d:context_release Releasing context 0x6bac7a8, level 1. 0059:trace:d3d:wined3d_buffer_map Returning memory at 0xd00a3000 (base 0xd00a3000, offset 0). 0059:trace:d3d:wined3d_cs_run WINED3D_CS_OP_MAP executed. 0055:trace:d3d11:d3d11_immediate_context_Unmap iface 0x6c30fdc, resource 0x6c24688, subresource_idx 0. 0055:trace:d3d11:d3d11_buffer_GetType iface 0x6c24688, resource_dimension 0xf81fb6c. 0055:trace:d3d:wined3d_buffer_get_resource buffer 0x6c246c8. 0055:trace:d3d:wined3d_resource_unmap resource 0x6c246c8, sub_resource_idx 0. 0059:trace:d3d:wined3d_cs_run Executing WINED3D_CS_OP_UNMAP. 0059:trace:d3d:wined3d_buffer_unmap buffer 0x6c246c8. 0059:trace:d3d:context_acquire device 0x66d2720, texture (nil), sub_resource_idx 0. 0059:trace:d3d:context_enter Entering context 0x6bac7a8, level 1. 0059:trace:d3d:context_release Releasing context 0x6bac7a8, level 1. 0059:trace:d3d:wined3d_cs_run WINED3D_CS_OP_UNMAP executed. 0055:trace:d3d11:d3d11_immediate_context_VSSetConstantBuffers iface 0x6c30fdc, start_slot 0, buffer_count 1, buffers 0xf81fc04. 0055:trace:d3d:wined3d_device_set_constant_buffer device 0x66d2720, type 0x1, idx 0, buffer 0x6c246c8. 0055:trace:d3d11:d3d11_immediate_context_PSSetConstantBuffers iface 0x6c30fdc, start_slot 0, buffer_count 1, buffers 0xf81fc04. 0055:trace:d3d:wined3d_device_set_constant_buffer device 0x66d2720, type 0, idx 0, buffer 0x6c246c8. 0055:trace:d3d11:d3d11_immediate_context_OMSetDepthStencilState iface 0x6c30fdc, depth_stencil_state 0x6c0f358, stencil_ref 1. 0055:trace:d3d:wined3d_device_set_render_state device 0x66d2720, state WINED3D_RS_ZENABLE (0x7), value 0x1. 0055:trace:d3d:wined3d_device_set_render_state Application is setting the old value over, nothing to do. 0055:trace:d3d:wined3d_device_set_render_state device 0x66d2720, state WINED3D_RS_ZWRITEENABLE (0xe), value 0. 0055:trace:d3d:wined3d_device_set_render_state Application is setting the old value over, nothing to do. 0055:trace:d3d:wined3d_device_set_render_state device 0x66d2720, state WINED3D_RS_ZFUNC (0x17), value 0x4. 0055:trace:d3d:wined3d_device_set_render_state Application is setting the old value over, nothing to do. 0055:trace:d3d:wined3d_device_set_render_state device 0x66d2720, state WINED3D_RS_STENCILENABLE (0x34), value 0x1. 0055:trace:d3d:wined3d_device_set_render_state Application is setting the old value over, nothing to do. 0055:trace:d3d:wined3d_device_set_render_state device 0x66d2720, state WINED3D_RS_STENCILMASK (0x3a), value 0x1. 0055:trace:d3d:wined3d_device_set_render_state Application is setting the old value over, nothing to do. 0055:trace:d3d:wined3d_device_set_render_state device 0x66d2720, state WINED3D_RS_STENCILWRITEMASK (0x3b), value 0. 0055:trace:d3d:wined3d_device_set_render_state Application is setting the old value over, nothing to do. 0055:trace:d3d:wined3d_device_set_render_state device 0x66d2720, state WINED3D_RS_STENCILREF (0x39), value 0x1. 0055:trace:d3d:wined3d_device_set_render_state Application is setting the old value over, nothing to do. 0055:trace:d3d:wined3d_device_set_render_state device 0x66d2720, state WINED3D_RS_STENCILFAIL (0x35), value 0x1. 0055:trace:d3d:wined3d_device_set_render_state Application is setting the old value over, nothing to do. 0055:trace:d3d:wined3d_device_set_render_state device 0x66d2720, state WINED3D_RS_STENCILZFAIL (0x36), value 0x1. 0055:trace:d3d:wined3d_device_set_render_state Application is setting the old value over, nothing to do. 0055:trace:d3d:wined3d_device_set_render_state device 0x66d2720, state WINED3D_RS_STENCILPASS (0x37), value 0x1. 0055:trace:d3d:wined3d_device_set_render_state Application is setting the old value over, nothing to do. 0055:trace:d3d:wined3d_device_set_render_state device 0x66d2720, state WINED3D_RS_STENCILFUNC (0x38), value 0x3. 0055:trace:d3d:wined3d_device_set_render_state Application is setting the old value over, nothing to do. 0055:trace:d3d:wined3d_device_set_render_state device 0x66d2720, state WINED3D_RS_TWOSIDEDSTENCILMODE (0xb9), value 0. 0055:trace:d3d:wined3d_device_set_render_state Application is setting the old value over, nothing to do. /home/focht/projects/wine/mainline-src/dlls/d3d11/inputlayout.c:394: unsafe_impl_from_ID3D11InputLayout: Assertion `iface->lpVtbl == &d3d11_input_layout_vtbl' failed. 0055:trace:seh:raise_exception code=80000101 flags=1 addr=0xf7fce049 ip=f7fce049 tid=0055 0055:trace:seh:raise_exception eax=00000000 ebx=00000002 ecx=0f81f8fc edx=00000000 esi=00000008 edi=00000000 0055:trace:seh:raise_exception ebp=0f81f8fc esp=0f81f8e0 cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00000286 0055:trace:seh:call_stack_handlers calling handler at 0x7bca5470 code=80000101 flags=1 --- snip ---
Call stack from debugger:
--- snip --- 0F81FBD0 7E63F4F9 ; RETURN from d3d11.__x86.get_pc_thunk.bx to d3d11.unsafe_impl_from_ID3D11InputLayout+9 0F81FBD4 7E683000 ; OFFSET d3d11._GLOBAL_OFFSET_TABLE_ 0F81FBD8 0F81FC18 0F81FBDC 7E639D1D ; RETURN from d3d11.unsafe_impl_from_ID3D11InputLayout to d3d11.d3d11_immediate_context_IASetInputLayout+2D 0F81FBE0 06BA0188 0F81FBE4 000000B9 0F81FBE8 7E57AEE5 0F81FBEC 7E635754 ; RETURN from d3d11.wined3d_mutex_unlock to d3d11.d3d11_immediate_context_OMSetDepthStencilState+94 0F81FBF0 0000009B 0F81FBF4 00000000 0F81FBF8 0F81FC24 0F81FBFC 06BA0188 0F81FC00 00000000 0F81FC04 06BB3290 0F81FC08 0F81FC28 0F81FC0C 0000000C 0F81FC10 00CD4884 0F81FC14 0000009B 0F81FC18 0F81FC84 0F81FC1C 00A0EB25 ; RETURN to hr_Win32.00A0EB25 0F81FC20 00A0EA9E ; RETURN to hr_Win32.00A0EA9E 0F81FC24 00A0EB25 ; iface = 00A0EB25 0F81FC28 06BFC60C ; input_layout = 06BFC60C --- snip ---
Memory dump, showing 'iface->lpVtbl' == 'd3d11_blend_state_vtbl' when the assert() triggers.
--- snip --- 06BA0180 00000138 06BA0184 04455355 ; "USE" 06BA0188 7E682B60 ; d3d11.d3d11_blend_state_vtbl 06BA018C 7E682B20 ; d3d11.d3d10_blend_state_vtbl 06BA0190 00000001 06BA0194 06BA0194 06BA0198 06BA0194 06BA019C 06B9ED20 --- snip ---
$ sha1sum * f355e7a8fe0e8478bf3b17f5c35e82e3bc6e0cf1 setup_hard_reset_redux_2.0.0.2-1.bin 6b0137751cd0ef4f5cf18f7789ec05444e842d3d setup_hard_reset_redux_2.0.0.2-2.bin e3a7b9a142de3896de82e444bdaf14fdabda276e setup_hard_reset_redux_2.0.0.2.exe
$ du -shL * 4.0G setup_hard_reset_redux_2.0.0.2-1.bin 1.3G setup_hard_reset_redux_2.0.0.2-2.bin 33M setup_hard_reset_redux_2.0.0.2.exe
$ wine --version wine-3.18
Regards
https://bugs.winehq.org/show_bug.cgi?id=45993
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Depends on| |40803
https://bugs.winehq.org/show_bug.cgi?id=45993
zzzzzyzz@hacari.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |zzzzzyzz@hacari.org
https://bugs.winehq.org/show_bug.cgi?id=45993 Bug 45993 depends on bug 40803, which changed state.
Bug 40803 Summary: Hard Reset Redux fails to launch ("DirectX 10 device not found!")(DXGI_ADAPTER_DESC1 'DedicatedSystemMemory' or 'SharedSystemMemory' member must be non-null) https://bugs.winehq.org/show_bug.cgi?id=40803
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED