[prev in list] [next in list] [prev in thread] [next in thread] 

List:       wine-devel
Subject:    Re: [PATCH 2/5] d3d8/tests: Add a small test for multisampled
From:       Francois Gouget <fgouget () free ! fr>
Date:       2011-10-25 12:44:51
Message-ID: alpine.DEB.2.02.1110251436040.10921 () amboise ! dolphin
[Download RAW message or body]

commit fd1afd24f4af20646ce0f3a7ac2064e8e49b1e7d
Author: Henri Verbeet <hverbeet@codeweavers.com>
Date:   Wed Oct 19 22:03:11 2011 +0200

    d3d8/tests: Add a small test for multisampled CopyRects().

This commit causes the d3d8:visual to crash on my desktop (Debian 
Testing, 9600GT, 285.05.09-1 proprietary driver):

wine: Unhandled stack overflow at address 0x7e3ab8bf (thread 0009), starting \
debugger... err:seh:setup_exception_record stack overflow 1100 bytes in thread 0009 \
eip 7ef8952b esp 00240ee4 stack 0x240000-0x241000-0x340000

The call that causes the crash is:

    hr = IDirect3DDevice8_CopyRects(device, rt, NULL, 0, readback, NULL);

The stack trace seems to point towards an out of hand recursion problem 
that eventually causes a stack overrun:

Backtrace:
=>0 0x7e3a7a32 d3dfmt_get_conv+0x12(surface=0x161728, need_alpha_ck=0x1, \
use_texturing=0x1, format=0x242074, convert=0x24210c) \
[/home/fgouget/wine/wine/dlls/wined3d/surface.c:4372] in wined3d (0x00242018)  1 \
0x7e3b05ee surface_load_texture+0xcd(surface=0x161728, gl_info=0x12b078, rect=(nil), \
srgb=0) [/home/fgouget/wine/wine/dlls/wined3d/surface.c:5953] in wined3d (0x00242128) \
2 0x7e3abc50 surface_load_location+0x39f(surface=0x161728, location=0x40000, \
rect=(nil)) [/home/fgouget/wine/wine/dlls/wined3d/surface.c:6136] in wined3d \
(0x00242258)  3 0x7e3ac1c0 surface_load_location+0x90f(surface=0x161728, \
location=0x20000, rect=(nil)) [/home/fgouget/wine/wine/dlls/wined3d/surface.c:5771] \
in wined3d (0x00242388)  4 0x7e3b063b surface_load_texture+0x11a(surface=0x161728, \
gl_info=0x12b078, rect=(nil), srgb=0) \
[/home/fgouget/wine/wine/dlls/wined3d/surface.c:5979] in wined3d (0x00242498)  5 \
0x7e3abc50 surface_load_location+0x39f(surface=0x161728, location=0x40000, \
rect=(nil)) [/home/fgouget/wine/wine/dlls/wined3d/surface.c:6136] in wined3d \
(0x002425c8)  6 0x7e3ac1c0 surface_load_location+0x90f(surface=0x161728, \
location=0x20000, rect=(nil)) [/home/fgouget/wine/wine/dlls/wined3d/surface.c:5771] \
in wined3d (0x002426f8)  7 0x7e3b063b surface_load_texture+0x11a(surface=0x161728, \
gl_info=0x12b078, rect=(nil), srgb=0) \
[/home/fgouget/wine/wine/dlls/wined3d/surface.c:5979] in wined3d (0x00242808)  8 \
0x7e3abc50 surface_load_location+0x39f(surface=0x161728, location=0x40000, \
rect=(nil)) [/home/fgouget/wine/wine/dlls/wined3d/surface.c:6136] in wined3d \
(0x00242938)  9 0x7e3ac1c0 surface_load_location+0x90f(surface=0x161728, \
location=0x20000, rect=(nil)) [/home/fgouget/wine/wine/dlls/wined3d/surface.c:5771] \
in wined3d (0x00242a68)  10 0x7e3b063b surface_load_texture+0x11a(surface=0x161728, \
gl_info=0x12b078, rect=(nil), srgb=0) \
[/home/fgouget/wine/wine/dlls/wined3d/surface.c:5979] in wined3d (0x00242b78)  11 \
0x7e3abc50 surface_load_location+0x39f(surface=0x161728, location=0x40000, \
rect=(nil)) [/home/fgouget/wine/wine/dlls/wined3d/surface.c:6136] in wined3d \
(0x00242ca8)  12 0x7e3ac1c0 surface_load_location+0x90f(surface=0x161728, \
location=0x20000, rect=(nil)) [/home/fgouget/wine/wine/dlls/wined3d/surface.c:5771] \
in wined3d (0x00242dd8)  13 0x7e3b063b surface_load_texture+0x11a(surface=0x161728, \
gl_info=0x12b078, rect=(nil), srgb=0) \
[/home/fgouget/wine/wine/dlls/wined3d/surface.c:5979] in wined3d (0x00242ee8)  14 \
0x7e3abc50 surface_load_location+0x39f(surface=0x161728, location=0x40000, \
rect=(nil)) [/home/fgouget/wine/wine/dlls/wined3d/surface.c:6136] in wined3d \
(0x00243018)  15 0x7e3ac1c0 surface_load_location+0x90f(surface=0x161728, \
location=0x20000, rect=(nil)) [/home/fgouget/wine/wine/dlls/wined3d/surface.c:5771] \
in wined3d (0x00243148)  16 0x7e3b063b surface_load_texture+0x11a(surface=0x161728, \
gl_info=0x12b078, rect=(nil), srgb=0) \
[/home/fgouget/wine/wine/dlls/wined3d/surface.c:5979] in wined3d (0x00243258)  17 \
0x7e3abc50 surface_load_location+0x39f(surface=0x161728, location=0x40000, \
rect=(nil)) [/home/fgouget/wine/wine/dlls/wined3d/surface.c:6136] in wined3d \
(0x00243388)  18 0x7e3ac1c0 surface_load_location+0x90f(surface=0x161728, \
location=0x20000, rect=(nil)) [/home/fgouget/wine/wine/dlls/wined3d/surface.c:5771] \
in wined3d (0x002434b8)  19 0x7e3b063b surface_load_texture+0x11a(surface=0x161728, \
gl_info=0x12b078, rect=(nil), srgb=0) \
[/home/fgouget/wine/wine/dlls/wined3d/surface.c:5979] in wined3d (0x002435c8) [...]


-- 
Francois Gouget <fgouget@free.fr>              http://fgouget.free.fr/
 Advice is what we ask for when we already know the answer but wish we didn't
                                 -- Eric Jong


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic