1 Reply Latest reply on Feb 18, 2011 11:58 PM by Checkmate

    ATI DX Driver Debug Symbols?

    jacobgalloway
      Crash in ATI DirectX dll, probably caused by me, but need symbols to determine why.

      We have a 64-bit multithreaded 3D Graphics rendering application, built using DirectX 10.1 that occaisionaly has been crashing in recent builds. We suspect that it is a problem caused by something we are doing, but the crash is occurring in the atidxx64.dll (ATI DirectX driver dll?)

      The machine has the ATI Catalyst 10.1 version installed on it, running the 64 bit version of Windows 7. The graphics card is a ATI 4870 I think. We have not been able to reproduce the problem often, but our software can create crash dump files when it does crash, so we can view the crash dump in Visual Studio, and WinDbg. The crash does not happen often enough to know consistently what is causing it. It seems random.

      The crash appears to be occurring in a thread spawned by the ati dx driver itself, during the midddle of the Present() call in our main thread.

      Is it possible to get the debug symbols for a specific ATI driver release from somewhere?

      If not, is it possible, that I can send this to someone at ATI to examine the crash dump and tell me whether it is our fault or not, and what we did?

      Here is the information that Visual Studio 2008 produces about the crash:

      Unhandled exception at 0x731ada19 in GPDSGP8_2010_06_21_11_42_41_0000.dmp: 0xC0000005: Access violation reading location 0x0000000000000038.

      The crash was here:

      > atidxx64.dll!00000000731ada19()  
        [Frames below may be incorrect and/or missing, no symbols loaded for atidxx64.dll] 
        atidxx64.dll!0000000072f9b2dd()  
        atidxx64.dll!0000000072fc04af()  
        atidxx64.dll!00000000731fff53()  
        atidxx64.dll!00000000731fffff()  
        kernel32.dll!BaseThreadInitThunk()  + 0xd bytes 
        ntdll.dll!RtlUserThreadStart()  + 0x21 bytes 

      This is where the main thread was, according to Visual Studio:

        KERNELBASE.dll!WaitForSingleObjectEx()  + 0x9c bytes 
        atidxx64.dll!0000000072fc0d54()  
        [Frames below may be incorrect and/or missing, no symbols loaded for atidxx64.dll] 
        atidxx64.dll!0000000072fc35b2()  
      > atidxx64.dll!0000000072fa54a6()  
        atiuxp64.dll!000007fef855285a()  
        dxgi.dll!CD3D10Device::Present()  + 0xec bytes 
        dxgi.dll!CDXGISwapChainBase::PresentImpl()  + 0xba9 bytes 
        dxgi.dll!CDXGISwapChainBase::Present()  + 0x9 bytes 
        DsGP.exe!CSwapChain::Present(unsigned int unHostFrame=0, bool bWindowed=false, bool bWriteFrameStamp=false)  Line 499 C++
        DsGP.exe!CRenderer::Render(__int64 llFrame=-1, __int64 llClockStartFrame=6655196054)  Line 629 C++
        DsGP.exe!CGPApp::Process()  Line 763 C++
        DsGP.exe!CWndManager::Create(char * lpCmdLine=0x0000000000000000)  Line 352 C++
        DsGP.exe!WinMain(HINSTANCE__ * hInstance=0x0000000000000000, HINSTANCE__ * hPrevInstance=0x0000000000000000, char * lpCmdLine=0x0000000000000000, int nCmdShow=2698838)  Line 79 + 0x14 bytes C++
        DsGP.exe!__tmainCRTStartup()  Line 578 + 0x25 bytes C
        kernel32.dll!BaseThreadInitThunk()  + 0xd bytes 
        ntdll.dll!RtlUserThreadStart()  + 0x21 bytes 

      Using WinDbg, I found that the call stack gave a little more information, but I suspect that it is incorrect because I am missing symbols.

       # Child-SP          RetAddr           Call Site

      00 00000000`02d7fe70 00000000`72f9b2dd atidxx64!XdxInitXopServices+0x21be89

      01 00000000`02d7fea0 00000000`72fc04af atidxx64!XdxInitXopServices+0x974d

      02 00000000`02d7fed0 00000000`731fff53 atidxx64!XdxInitXopServices+0x2e91f

      03 00000000`02d7ff00 00000000`731fffff atidxx64!AmdDxExtCreate+0x1813

      04 00000000`02d7ff30 00000000`76c2f56d atidxx64!AmdDxExtCreate+0x18bf

      05 00000000`02d7ff60 00000000`76d63281 kernel32!BaseThreadInitThunk+0xd

      06 00000000`02d7ff90 00000000`00000000 ntdll!RtlUserThreadStart+0x1d

       

      Any help would be appreciated.

      Thanks!

        • ATI DX Driver Debug Symbols?
          Checkmate

          Hi, I know it's been months now but I'm getting having a very similar problem: A thread in atidxx64.dll crashes when I dispatch a certain DirectCompute shader, copy the results to a staging buffer, then try to Map the staging buffer. It crashes inside Map. It would really help if I had debug symbols for the driver.

          Catalyst 11.2 drivers, Radeon HD 5750...there's just so many things that could go wrong.

          jacobgalloway, did you ever solve your problem?