[PATCH 2/5] d3d10core: Fixup HRESULT in a bunch of error cases.
Stefan Dösinger
stefandoesinger at gmail.com
Fri Sep 23 15:07:13 CDT 2011
(CCing Michael)
Hi Michael,
The Wine buildbot has spotted some heap corruption in the d3dx9 weld vertices
test. It found those tests when testing one of Matteo's patches, but I doubt
that the patch itself is flawed.
For more information see the quote below. To try to reproduce this run the
test with WINEDEBUG=warn+heap, this enables some consistency checking of the
heap data structures to detect some overruns, acess of freed memory etc. The
bug could be anywhere in the d3dx9 tests, d3dx9.dll, d3d9 or wined3d. Maybe
you can spot something - I'll take a look myself too.
Cheers,
Stefan
On Friday 23 September 2011 19:01:45 Dan Kegel wrote:
> Hi Matteo,
> a test failed here under WINEDEBUG=warn+heap,
> could it be caused by your patch series, or is it unrelated?
> Thanks,
> Dan
>
>
> ---------- Forwarded message ----------
> From: <buildbot at kegel.com>
> Date: Fri, Sep 23, 2011 at 9:39 AM
> Subject: Re: 79237: [PATCH 2/5] d3d10core: Fixup HRESULT in a bunch of
> error cases.
> To: dank at kegel.com
>
>
> This is an experimental automated build and test service.
> Please feel free to ignore this email while we work the kinks out.
>
> For more info about this message, see http://wiki.winehq.org/BuildBot
>
> The Buildbot has detected a failed build on builder runtests-heaptest
> while building Wine.
> Full details are available at:
> http://buildbot.kegel.com/builders/runtests-heaptest/builds/0 (though
> maybe not for long, as I'm still reinstalling the buildbot
> periodically while experimenting)
> BUILD FAILED: failed shell_3
>
> Errors:
> alarum: failed command was ../../../wine d3dx9_36_test.exe.so mesh.c
> fixme:win:EnumDisplayDevicesW ((null),0,0x33f47c,0x00000000), stub!
> fixme:win:EnumDisplayDevicesW ((null),0,0x33f47c,0x00000000), stub!
> fixme:win:EnumDisplayDevicesW ((null),0,0x33f64c,0x00000000), stub!
> fixme:win:EnumDisplayDevicesW ((null),0,0x33f67c,0x00000000), stub!
> fixme:d3dx:D3DXCreateBox (0x13c590, 2.000000, 20.000000, 4.900000,
> (nil), 0x33fcb0): stub
> fixme:d3dx:D3DXCreateBox ((nil), 22.000000, 20.000000, 4.900000,
> 0x33fcb4, 0x33fcb0): stub
> fixme:d3dx:D3DXCreateBox (0x13c590, -2.000000, 20.000000, 4.900000,
> 0x33fcb4, 0x33fcb0): stub
> fixme:d3dx:D3DXCreateBox (0x13c590, 22.000000, -20.000000, 4.900000,
> 0x33fcb4, 0x33fcb0): stub
> fixme:d3dx:D3DXCreateBox (0x13c590, 22.000000, 20.000000, -4.900000,
> 0x33fcb4, 0x33fcb0): stub
> fixme:d3dx:D3DXCreateBox (0x13c590, 10.900000, 20.000000, 4.900000,
> 0x33fcb4, 0x33fcb0): stub
> mesh.c:2496: Tests skipped: D3DXCreateBox failed
> fixme:win:EnumDisplayDevicesW ((null),0,0x33f6bc,0x00000000), stub!
> fixme:win:EnumDisplayDevicesW ((null),0,0x33f6bc,0x00000000), stub!
> fixme:win:EnumDisplayDevicesW ((null),0,0x33f5ac,0x00000000), stub!
> fixme:win:EnumDisplayDevicesW ((null),0,0x33f21c,0x00000000), stub!
> fixme:win:EnumDisplayDevicesW ((null),0,0x33f30c,0x00000000), stub!
> fixme:d3dx:D3DXGetDeclVertexSize Unhandled element type 0x12, size
> will be incorrect.
> fixme:d3dx:ID3DXSkinInfoImpl_GetMinBoneInfluence (0x15c3c8): stub
> fixme:win:EnumDisplayDevicesW ((null),0,0x33e85c,0x00000000), stub!
> fixme:win:EnumDisplayDevicesW ((null),0,0x33e70c,0x00000000), stub!
> fixme:win:EnumDisplayDevicesW ((null),0,0x33bd0c,0x00000000), stub!
> wine: Unhandled page fault on read access to 0xfeeefeee at address
> 0x7bc4813e (thread 0028), starting debugger...
> Unhandled exception: page fault on read access to 0xfeeefeee in 32-bit
> code (0x7bc4813e).
> Register dump:
> CS:0073 SS:007b DS:007b ES:007b FS:0033 GS:003b
> EIP:7bc4813e ESP:0033c0d0 EBP:0033c108 EFLAGS:00010202( R- -- I - - -
> ) EAX:feeefeee EBX:7bcb5ff4 ECX:00004008 EDX:00f75ff8
> ESI:7ffdf000 EDI:0033e0ec
> Stack dump:
> 0x0033c0d0: 00110000 00e96668 50000062 7bc3449a
> 0x0033c0e0: 00110064 682eeff4 00001302 00e91268
> 0x0033c0f0: 00e96668 00110000 feeefef4 feeefeee
> 0x0033c100: 00000000 7bcb5ff4 0033c158 7bc4b741
> 0x0033c110: 00e66000 00e96668 00e91260 00000000
> 0x0033c120: 7c8ec470 7ffdf000 002065a8 00e70fa8
> Backtrace:
> =>0 0x7bc4813e HEAP_MakeInUseBlockFree+0xf5(subheap=0xe66000,
> pArena=0xe96668)
> [/home/bob/wineslave.dir/sandbox/slave/runtests-default/build/dlls/ntdll/he
> ap.c:640] in ntdll (0x0033c108)
> 1 0x7bc4b741 RtlFreeHeap+0xdf(heap=0x110000, flags=0x50000062,
> ptr=0xe91268)
> [/home/bob/wineslave.dir/sandbox/slave/runtests-default/build/dlls/ntdll/h
> eap.c:1757] in ntdll (0x0033c158)
> 2 0x68c39745 wined3d_stateblock_decref+0x308(stateblock=0xe84440)
> [/home/bob/wineslave.dir/sandbox/slave/runtests-default/build/dlls/wined3d/
> stateblock.c:529] in wined3d (0x0033c1e8)
> 3 0x68ba095e wined3d_device_uninit_3d+0x35f(device=0xe81280)
> [/home/bob/wineslave.dir/sandbox/slave/runtests-default/build/dlls/wined3d/
> device.c:1521] in wined3d (0x0033c2b8)
> 4 0x68b27386 IDirect3DDevice9Impl_Release+0x141(iface=0x136d08)
> [/home/bob/wineslave.dir/sandbox/slave/runtests-default/build/dlls/d3d9/dev
> ice.c:263] in d3d9 (0x0033c318)
> 5 0x68593961 free_test_context+0x30(test_context=0x1bf500)
> [/home/bob/wineslave.dir/sandbox/slave/runtests-default/build/dlls/d3dx9_36
> /tests/mesh.c:169] in d3dx9_36_test (0x0033c348)
> 6 0x685b6d1f test_weld_vertices+0x7a01()
> [/home/bob/wineslave.dir/sandbox/slave/runtests-default/build/dlls/d3dx9_36
> /tests/mesh.c:8167] in d3dx9_36_test (0x0033fce8)
> 7 0x685b6d99 func_mesh+0x6e()
> [/home/bob/wineslave.dir/sandbox/slave/runtests-default/build/dlls/d3dx9_36
> /tests/mesh.c:8192] in d3dx9_36_test (0x0033fcf8)
> 8 0x685c6c0e run_test+0x9e(name="mesh.c")
> [/home/bob/wineslave.dir/sandbox/slave/runtests-default/build/dlls/d3dx9_36
> /tests/../../../include/wine/test.h:556] in d3dx9_36_test (0x0033fd58)
> 9 0x685c7025 main+0x23a(argc=<couldn't compute location>,
> argv=0x111eb8)
> [/home/bob/wineslave.dir/sandbox/slave/runtests-default/build/dlls/d3dx9_3
> 6/tests/../../../include/wine/test.h:624] in d3dx9_36_test (0x0033fe28)
> 10 0x685c70ae __wine_spec_exe_entry+0x69(peb=0x7ffdf000)
> [/home/bob/wineslave.dir/sandbox/slave/runtests-default/build/dlls/winecrt0
> /exe_entry.c:36] in d3dx9_36_test (0x0033fe60)
> 11 0x7b85fc8c call_process_entry+0xb() in kernel32 (0x0033fe78)
> 12 0x7b85fdd3 start_process+0x144(peb=0x7ffdf000)
> [/home/bob/wineslave.dir/sandbox/slave/runtests-default/build/dlls/kernel32
> /process.c:1091] in kernel32 (0x0033fec8)
> 13 0x7bc7ea30 call_thread_func+0xb() in ntdll (0x0033fed8)
> 14 0x7bc7ea6e call_thread_entry_point+0x33(entry=0x7b85fc8e,
> arg=0x7ffdf000)
> [/home/bob/wineslave.dir/sandbox/slave/runtests-default/build/dlls/ntdll/si
> gnal_i386.c:2499] in ntdll (0x0033ffb8)
> 15 0x7bc541ed start_process+0x25(kernel_start=0x7b85fc8e)
> [/home/bob/wineslave.dir/sandbox/slave/runtests-default/build/dlls/ntdll/lo
> ader.c:2612] in ntdll (0x0033ffe8)
> 16 0x68028c09 wine_call_on_stack+0x1c() in libwine.so.1 (0x00000000)
> 0x7bc4813e HEAP_MakeInUseBlockFree+0xf5
> [/home/bob/wineslave.dir/sandbox/slave/runtests-default/build/dlls/ntdll/he
> ap.c:640] in ntdll: movl 0x0(%eax),%eax
> 640 size += (pFree->size & ARENA_SIZE_MASK) +
> sizeof(ARENA_FREE); Modules:
> Module Address Debug info Name (66 modules)
> ELF 40000000-40002000 Deferred libnvidia-tls.so.270.41.06
> ELF 40002000-41724000 Deferred
> libnvidia-glcore.so.270.41.06 ELF 68000000-6801e000 Deferred
> ld-linux.so.2
> ELF 68020000-68162000 Dwarf libwine.so.1
> ELF 68163000-68178000 Deferred libz.so.1
> ELF 68179000-68192000 Deferred libpthread.so.0
> ELF 68192000-682f3000 Deferred libc.so.6
> ELF 682f4000-682f8000 Deferred libdl.so.2
> ELF 682f9000-6831f000 Deferred libm.so.6
> ELF 6831f000-68327000 Deferred libnss_compat.so.2
> ELF 68327000-6833e000 Deferred libnsl.so.1
> ELF 6833e000-68349000 Deferred libnss_nis.so.2
> ELF 68349000-68355000 Deferred libnss_files.so.2
> ELF 68555000-685da000 Dwarf d3dx9_36_test<elf>
> \-PE 68560000-685da000 \ d3dx9_36_test
> ELF 685da000-6864d000 Deferred d3dx9_36<elf>
> \-PE 685e0000-6864d000 \ d3dx9_36
> ELF 6864d000-686ac000 Deferred d3dcompiler_43<elf>
> \-PE 68660000-686ac000 \ d3dcompiler_43
> ELF 686ac000-686d3000 Deferred d3dxof<elf>
> \-PE 686b0000-686d3000 \ d3dxof
> ELF 686d3000-68803000 Deferred ole32<elf>
> \-PE 686f0000-68803000 \ ole32
> ELF 68803000-68869000 Deferred advapi32<elf>
> \-PE 68810000-68869000 \ advapi32
> ELF 68869000-689bf000 Deferred user32<elf>
> \-PE 68880000-689bf000 \ user32
> ELF 689bf000-68a77000 Deferred gdi32<elf>
> \-PE 689d0000-68a77000 \ gdi32
> ELF 68a77000-68a92000 Deferred version<elf>
> \-PE 68a80000-68a92000 \ version
> ELF 68a92000-68b10000 Deferred rpcrt4<elf>
> \-PE 68aa0000-68b10000 \ rpcrt4
> ELF 68b10000-68b4c000 Dwarf d3d9<elf>
> \-PE 68b20000-68b4c000 \ d3d9
> ELF 68b4c000-68cb5000 Dwarf wined3d<elf>
> \-PE 68b60000-68cb5000 \ wined3d
> ELF 68ccc000-68d52000 Deferred libfreetype.so.6
> ELF 68d52000-68d81000 Deferred libfontconfig.so.1
> ELF 68d81000-68dab000 Deferred libexpat.so.1
> ELF 68e01000-68ebc000 Deferred winex11<elf>
> \-PE 68e10000-68ebc000 \ winex11
> ELF 68ed3000-68edb000 Deferred libsm.so.6
> ELF 68edb000-68ef3000 Deferred libice.so.6
> ELF 68ef3000-68f02000 Deferred libxext.so.6
> ELF 68f02000-6901d000 Deferred libx11.so.6
> ELF 6901d000-69022000 Deferred libuuid.so.1
> ELF 69022000-6903b000 Deferred libxcb.so.1
> ELF 6903b000-6903f000 Deferred libxau.so.6
> ELF 6903f000-69045000 Deferred libxdmcp.so.6
> ELF 69045000-69067000 Deferred imm32<elf>
> \-PE 69050000-69067000 \ imm32
> ELF 69067000-6906b000 Deferred libxinerama.so.1
> ELF 6906b000-69071000 Deferred libxxf86vm.so.1
> ELF 69071000-6907b000 Deferred libxrender.so.1
> ELF 6907b000-69083000 Deferred libxrandr.so.2
> ELF 69083000-69087000 Deferred libxcomposite.so.1
> ELF 69087000-69096000 Deferred libxi.so.6
> ELF 69096000-690a0000 Deferred libxcursor.so.1
> ELF 690a0000-690a6000 Deferred libxfixes.so.3
> ELF 690eb000-691b9000 Deferred libgl.so.1
> ELF 7b800000-7b9b2000 Dwarf kernel32<elf>
> \-PE 7b810000-7b9b2000 \ kernel32
> ELF 7bc00000-7bcd2000 Dwarf ntdll<elf>
> \-PE 7bc10000-7bcd2000 \ ntdll
> ELF 7bf00000-7bf04000 Deferred <wine-loader>
> Threads:
> process tid prio (all id:s are in hex)
> 0000000e services.exe
> 00000021 0
> 00000020 0
> 00000015 0
> 00000010 0
> 0000000f 0
> 00000012 winedevice.exe
> 0000001a 0
> 00000019 0
> 00000014 0
> 00000013 0
> 0000001b plugplay.exe
> 00000022 0
> 0000001f 0
> 0000001c 0
> 0000001d explorer.exe
> 0000001e 0
> 00000027 (D)
> Z:\home\bob\wineslave.dir\sandbox\slave\runtests-heaptest\build\dlls\d3dx9
> _36\tests\d3dx9_36_test.exe 00000028 0 <==
> Backtrace:
> =>0 0x7bc4813e HEAP_MakeInUseBlockFree+0xf5(subheap=0xe66000,
> pArena=0xe96668)
> [/home/bob/wineslave.dir/sandbox/slave/runtests-default/build/dlls/ntdll/he
> ap.c:640] in ntdll (0x0033c108)
> 1 0x7bc4b741 RtlFreeHeap+0xdf(heap=0x110000, flags=0x50000062,
> ptr=0xe91268)
> [/home/bob/wineslave.dir/sandbox/slave/runtests-default/build/dlls/ntdll/h
> eap.c:1757] in ntdll (0x0033c158)
> 2 0x68c39745 wined3d_stateblock_decref+0x308(stateblock=0xe84440)
> [/home/bob/wineslave.dir/sandbox/slave/runtests-default/build/dlls/wined3d/
> stateblock.c:529] in wined3d (0x0033c1e8)
> 3 0x68ba095e wined3d_device_uninit_3d+0x35f(device=0xe81280)
> [/home/bob/wineslave.dir/sandbox/slave/runtests-default/build/dlls/wined3d/
> device.c:1521] in wined3d (0x0033c2b8)
> 4 0x68b27386 IDirect3DDevice9Impl_Release+0x141(iface=0x136d08)
> [/home/bob/wineslave.dir/sandbox/slave/runtests-default/build/dlls/d3d9/dev
> ice.c:263] in d3d9 (0x0033c318)
> 5 0x68593961 free_test_context+0x30(test_context=0x1bf500)
> [/home/bob/wineslave.dir/sandbox/slave/runtests-default/build/dlls/d3dx9_36
> /tests/mesh.c:169] in d3dx9_36_test (0x0033c348)
> 6 0x685b6d1f test_weld_vertices+0x7a01()
> [/home/bob/wineslave.dir/sandbox/slave/runtests-default/build/dlls/d3dx9_36
> /tests/mesh.c:8167] in d3dx9_36_test (0x0033fce8)
> 7 0x685b6d99 func_mesh+0x6e()
> [/home/bob/wineslave.dir/sandbox/slave/runtests-default/build/dlls/d3dx9_36
> /tests/mesh.c:8192] in d3dx9_36_test (0x0033fcf8)
> 8 0x685c6c0e run_test+0x9e(name="mesh.c")
> [/home/bob/wineslave.dir/sandbox/slave/runtests-default/build/dlls/d3dx9_36
> /tests/../../../include/wine/test.h:556] in d3dx9_36_test (0x0033fd58)
> 9 0x685c7025 main+0x23a(argc=<couldn't compute location>,
> argv=0x111eb8)
> [/home/bob/wineslave.dir/sandbox/slave/runtests-default/build/dlls/d3dx9_3
> 6/tests/../../../include/wine/test.h:624] in d3dx9_36_test (0x0033fe28)
> 10 0x685c70ae __wine_spec_exe_entry+0x69(peb=0x7ffdf000)
> [/home/bob/wineslave.dir/sandbox/slave/runtests-default/build/dlls/winecrt0
> /exe_entry.c:36] in d3dx9_36_test (0x0033fe60)
> 11 0x7b85fc8c call_process_entry+0xb() in kernel32 (0x0033fe78)
> 12 0x7b85fdd3 start_process+0x144(peb=0x7ffdf000)
> [/home/bob/wineslave.dir/sandbox/slave/runtests-default/build/dlls/kernel32
> /process.c:1091] in kernel32 (0x0033fec8)
> 13 0x7bc7ea30 call_thread_func+0xb() in ntdll (0x0033fed8)
> 14 0x7bc7ea6e call_thread_entry_point+0x33(entry=0x7b85fc8e,
> arg=0x7ffdf000)
> [/home/bob/wineslave.dir/sandbox/slave/runtests-default/build/dlls/ntdll/si
> gnal_i386.c:2499] in ntdll (0x0033ffb8)
> 15 0x7bc541ed start_process+0x25(kernel_start=0x7b85fc8e)
> [/home/bob/wineslave.dir/sandbox/slave/runtests-default/build/dlls/ntdll/lo
> ader.c:2612] in ntdll (0x0033ffe8)
> 16 0x68028c09 wine_call_on_stack+0x1c() in libwine.so.1 (0x00000000)
> make: *** [mesh.ok] Error 5
>
> _______________________________________________
> wine-tests-results mailing list
> wine-tests-results at winehq.org
> http://www.winehq.org/mailman/listinfo/wine-tests-results
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://www.winehq.org/pipermail/wine-tests-results/attachments/20110923/14e347dc/attachment-0001.pgp>
More information about the wine-tests-results
mailing list