On Thu May 29 14:51:20 2025 +0000, Matteo Bruni wrote:
This crashes for me, 32-bit tests:
0024:trace:d3d10:d3d10_effect_Release 00246110 decreasing refcount to 0. 0024:trace:d3d10:d3d10_effect_local_buffer_destroy local buffer 01585260. 0024:trace:d3d10:d3d10_effect_type_destroy effect type 01580078. 0024:trace:d3d10:d3d10_effect_local_buffer_destroy l->u.buffer.buffer 00000000 0024:trace:d3d10:d3d10_effect_local_buffer_destroy local buffer 015852F0. 0024:trace:d3d10:d3d10_effect_local_buffer_destroy l->u.buffer.buffer->lpVtbl 00000020 ... Unhandled exception: page fault on read access to 0x00000028 in 32-bit code (0x77ad8242). 0174:fixme:dbghelp:elf_search_auxv can't find symbol in module Register dump: CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b EIP:77ad8242 ESP:0077fbb4 EBP:0077fbdc EFLAGS:00010216( R- -- I -A-P- ) EAX:01585404 EBX:00000001 ECX:7bd0cd2f EDX:00000020 ESI:00000008 EDI:015852f0 Stack dump: 0x0077fbb4: 01585404 77af6d18 77afe240 77afa0d8 0x0077fbc4: 00000020 0077fbf4 77afe2e0 00000000 0x0077fbd4: 00246110 015791fc 0077fc04 77ad859b 0x0077fbe4: 00246110 77af6d18 77afe2e0 77afa110 0x0077fbf4: 00246110 00000000 00000000 00000000 0x0077fc04: 0077fd20 00418a52 00246110 00448664 Backtrace: =>0 0x77ad8242 ID3D10Buffer_Release+0x5(This=<internal error>) [/home/matteo/wine-32/include/d3d10.h:1718] in d3d10 (0x0077fbdc) 1 0x77ad8242 d3d10_effect_local_buffer_destroy+0xd9(l=<internal error>) [/home/matteo/wine/dlls/d3d10/effect.c:4528] in d3d10 (0x0077fbdc) 2 0x77ad8242 d3d10_effect_Release+0x292(iface=00246110) [/home/matteo/wine/dlls/d3d10/effect.c:4607] in d3d10 (0x0077fbdc) 3 0x77ad859b d3d10_effect_Release+0x2b(iface=00246110) [/home/matteo/wine/dlls/d3d10/effect.c:4579] in d3d10 (0x0077fc04) 4 0x00418a52 test_effect_scalar_variable+0x1782() [/home/matteo/wine/dlls/d3d10/tests/effect.c:5208] in d3d10_test (0x0077fd20) 5 0x0040369e func_effect+0x4e() [/home/matteo/wine/dlls/d3d10/tests/effect.c:9814] in d3d10_test (0x0077fdf8) 6 0x004366c5 run_test+0x157(name=<internal error>) [/home/matteo/wine/include/wine/test.h:767] in d3d10_test (0x0077ff14) 7 0x004366c5 main+0x385(argc=0x2, argv=00242270) [/home/matteo/wine/include/msvcrt/io.h:23] in d3d10_test (0x0077ff14) 8 0x004063f7 mainCRTStartup+0x77() [/home/matteo/wine/dlls/msvcrt/crt_main.c:60] in d3d10_test (0x0077ff40) 9 0x7bb4eb10 in kernel32 (+0xeb10) (0x0077ff58) 10 0x7bcdd0b3 in ntdll (+0xd0b3) (0x0077ff6c) 11 0x7bd13e2d in ntdll (+0x43e2d) (0x0077ffe8) 0x77ad8242 d3d10_effect_Release+0x292 [/home/matteo/wine/dlls/d3d10/effect.c:4607] in d3d10: calll *8(%edx) 4607 d3d10_effect_local_buffer_destroy(&effect->local_buffers[i]);
Line numbers above are a bit off because of the additional debug traces. I'm not sure if the issue is with vkd3d-shader or d3d10, but it looks like the `ID3D10Buffer` vtbl pointer is corrupted somehow. You can run the test with `WINETEST_INTERACTIVE=1` to allow winedbg to catch the exception.
Ok, it's probably premature then. Could you check if https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1510 fixes it? Especially last commit.