[Bug 21361] New: Segmentation fault (NULL dereference) while trying to run Tony Hawk 2

wine-bugs at winehq.org wine-bugs at winehq.org
Wed Jan 13 18:59:46 CST 2010


http://bugs.winehq.org/show_bug.cgi?id=21361

           Summary: Segmentation fault (NULL dereference) while trying to
                    run Tony Hawk 2
           Product: Wine
           Version: 1.1.36
          Platform: x86
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: directx-d3d
        AssignedTo: wine-bugs at winehq.org
        ReportedBy: lmage11 at twcny.rr.com


Created an attachment (id=25722)
 --> (http://bugs.winehq.org/attachment.cgi?id=25722)
Messages and backtrace that wine produces

I'm trying to relive my prepubescent life by playing Tony Hawk 2, and wine is
not making it easy. :)

At first I got this, and nothing else happened (I got a black screen):

fixme:mixer:ALSA_MixerInit No master control found on VirMIDI, disabling mixer
fixme:ddraw:DirectDrawEnumerateExA flags 0x00000007 not handled
fixme:d3d_caps:init_driver_info Unhandled vendor 8086.
fixme:win:EnumDisplayDevicesW ((null),0,0x32ea78,0x00000000), stub!
fixme:x11drv:X11DRV_desktop_SetCurrentMode Cannot change screen BPP from 32 to
16
fixme:d3d:WineD3D_ChoosePixelFormat Add OpenGL context recreation support to
SetDepthStencilSurface
fixme:dsalsa:IDsDriverBufferImpl_SetVolumePan (0x13a618,0x1cd290): stub
err:ddraw:PixelFormat_WineD3DtoDD Can't translate this Pixelformat 58
err:ddraw:PixelFormat_WineD3DtoDD Can't translate this Pixelformat 64

I then changed X11's screen depth to 16, and got some different errors and a
segfault. This bug is about the segfault, even though I suspect that the
segfault wouldn't happen if the previous errors were resolved. Backtraces from
wine and gdb are attached.

I pretty much know how the segfault happens on a low level, but I don't know
what the correct resolution is because I don't know anything about D3D or 3D in
general, let alone how wine implements that stuff. Here's the "flow" of code
which causes the segfault to happen:

IDirectDrawImpl_CreateSurface is called
IDirectDrawImpl_AttachD3DDevice is called
IWineD3DDevice_Init3D is called
IWineD3DDeviceParent_CreateSwapChain call fails
Jumps to err_out label, This->swapchains is never allocated
Error handling causes stuff to return until we're in
IDirectDrawImpl_CreateSurface again
... and you can see the rest from the backtraces

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
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