[Bug 45993] New: Hard Reset Redux crashes on exit with ' unsafe_impl_from_ID3D11InputLayout: Assertion `iface->lpVtbl == &d3d11_input_layout_vtbl' failed.'

wine-bugs at winehq.org wine-bugs at winehq.org
Mon Oct 15 03:33:02 CDT 2018


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 at winehq.org
          Reporter: focht at 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

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list