none
CrashDump Debugging: Where to get mscordacwks_AMD64_AMD64_2.0.50727.4200.dll ? RRS feed

  • Question

  • Hi,

    I try to analyze a creash dump of my .net worker role. After loading the SOS.dll extension any command tries to load the data access dll mscordacwks. Unfortunately my 64bit version of mscordacwks is newer (2.0.50727.4927) than the required version that is running on azure: 2.0.50727.4200.

    WinDbg first tries to get the DLL from the Microsoft symbol server, but loading fails:

    SYMSRV:  C:\Temp\localsymbols\mscordacwks_AMD64_AMD64_2.0.50727.4200.dll\4A9EE32D9b0000\mscordacwks_AMD64_AMD64_2.0.50727.4200.dll not found
    SYMSRV:  http://msdl.microsoft.com/download/symbols/mscordacwks_AMD64_AMD64_2.0.50727.4200.dll/4A9EE32D9b0000/mscordacwks_AMD64_AMD64_2.0.50727.4200.dll not found
    SYMSRV:  C:\Temp\localsymbols\mscordacwks_AMD64_AMD64_2.0.50727.4200.dll\4A9EE32D9b0000\mscordacwks_AMD64_AMD64_2.0.50727.4200.dll not found

    Unfortunately WinDbg seems to be very picky about the version .. just renaming my newer one and palcing it in the WinDbg directory did not work:
    CLRDLL: Unable to find mscordacwks_AMD64_AMD64_2.0.50727.4200.dll by mscorwks search
    CLRDLL: C:\Program Files\Debugging Tools for Windows (x64)\mscordacwks_AMD64_AMD64_2.0.50727.4200.dll:2.0.50727.4927 f:0
    doesn't match desired version 2.0.50727.4200 f:0

    Does somebody know where I can the correct mscordacwks DLL for debugging managed code in Azure worker role crash-dumps? Has anybody outside microsoft done this successfully before?

    Andreas
    • Moved by toddysm Wednesday, April 7, 2010 11:32 PM .Net DLL is missing from the public symbol server (From:Windows Azure)
    Thursday, January 28, 2010 12:48 PM

All replies

  • I'm looking into where you can get that file and will let you know.  And no, you cannot rename the file unless the version matches.

    You have checked on the public symbol server right?  http://support.microsoft.com/kb/311503


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    • Edited by Tom Christian Thursday, January 28, 2010 8:43 PM Add public symbol server information
    Thursday, January 28, 2010 8:40 PM
  • Hi Tom,

    yes, my symbol path settings includes the standard microsoft symbol server http://msdl.microsoft.com/download/symbols.
    I have included the lines that are output by WinDbg when it tries to fetch the DLL from the symbol server.

    I have tried to find the mscorwks dll on:
    Vista x64
    Windows Server 2008 x64
    Windows 7 x64

    On all systems I installed all available updates. But either the version of the DLL was newer or older than 2.0.50727.4200.

    It would great if there was a blog entry or a documentation that describes how to get a crash dump, set up WinDbg correctly and analyze the problem (and of course where to get the correct mscorwks dll (-:).

    Andreas

    Friday, January 29, 2010 1:55 PM
  • Has anyone found a solution to this as I have a .dmp file as well from Azure that I'd like to debug but cannot get it working.
    Friday, March 26, 2010 2:21 PM
  • re bump
    Wednesday, March 31, 2010 4:01 PM
  • This is the update that contains the DLL
    http://support.microsoft.com/kb/974470

    I am looking for a way to get this posted on the public symbols server (no idea why it is not there)


    This posting is provided "AS IS" with no warranties, and confers no rights.
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Friday, April 2, 2010 8:56 PM
  • Hey Toddy

    Thanks for the link, however I can't seem to access the files to get hold of the .dll running on win 7 - any idea on the best way to extract it?

    Andy

    Tuesday, April 6, 2010 9:16 AM
  • Hey Andy,

    The only way to do this right now is to install the update I mentioned above. I will move this to the .Net forum as this DLL is from .Net 2.0 framework, and they should be able to help.

    Metodi


    This posting is provided "AS IS" with no warranties, and confers no rights.
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Wednesday, April 7, 2010 11:30 PM
  • Still struggling with this - anyone managed to find a solution to getting hold of this dll?
    Wednesday, April 21, 2010 7:16 AM
  • Hey Andy,

    The only way to do this right now is to install the update I mentioned above.

    The dump I have is from a 2008 Srv, where the update have been applied (the dump requires the 2.0.50727.4200.dll)

    But I have a Win7 x64 box, and I can't install this update (my local version is 2.0.50727.4927) as it's already integrated.

    The public symbol server still don't have any symbols for this library as mentionned by the log : SYMSRV:  http://msdl.microsoft.com/download/symbols/mscorwks.dll/4A9EE32D9b0000/mscorwks.dll not found

    So, as the public symbols are not available, I'm NOT ABLE to analyze any crash dump from my 2008 Srv ?

    See my full log below :

    0:000> .cordll -ve -u -l

    CLR DLL status: No load attempts

    0:000> .loadby sos mscorwks

    0:000> !threads

    CLRDLL: C:\Windows\Microsoft.NET\Framework64\v2.0.50727\mscordacwks.dll:2.0.50727.4927 f:0

    doesn't match desired version 2.0.50727.4200 f:0

    SYMSRV:  D:\Symbols\Cache\MicrosoftPublicSymbols\mscordacwks_AMD64_AMD64_2.0.50727.4200.dll\4A9EE32D9b0000\mscordacwks_AMD64_AMD64_2.0.50727.4200.dll not found

    SYMSRV:  http://msdl.microsoft.com/download/symbols/mscordacwks_AMD64_AMD64_2.0.50727.4200.dll/4A9EE32D9b0000/mscordacwks_AMD64_AMD64_2.0.50727.4200.dll not found

    SYMSRV:  C:\ProgramData\dbg\sym\mscordacwks_AMD64_AMD64_2.0.50727.4200.dll\4A9EE32D9b0000\mscordacwks_AMD64_AMD64_2.0.50727.4200.dll not found

    SYMSRV:  http://msdl.microsoft.com/download/symbols/mscordacwks_AMD64_AMD64_2.0.50727.4200.dll/4A9EE32D9b0000/mscordacwks_AMD64_AMD64_2.0.50727.4200.dll not found

    CLRDLL: Unable to find mscordacwks_AMD64_AMD64_2.0.50727.4200.dll by mscorwks search

    CLRDLL: Unable to find 'mscordacwks_AMD64_AMD64_2.0.50727.4200.dll' on the path

    SYMSRV:  D:\Symbols\Cache\MicrosoftPublicSymbols\mscorwks.dll\4A9EE32D9b0000\mscorwks.dll not found

    SYMSRV:  http://msdl.microsoft.com/download/symbols/mscorwks.dll/4A9EE32D9b0000/mscorwks.dll not found

    DBGHELP: C:\Program Files\Debugging Tools for Windows (x64)\mscorwks.dll - file not found

    SYMSRV:  C:\ProgramData\dbg\sym\mscorwks.dll\4A9EE32D9b0000\mscorwks.dll not found

    SYMSRV:  http://msdl.microsoft.com/download/symbols/mscorwks.dll/4A9EE32D9b0000/mscorwks.dll not found

    CLRDLL: Unable to find mscorwks.dll by search

    CLRDLL: ERROR: Unable to load DLL mscordacwks_AMD64_AMD64_2.0.50727.4200.dll, Win32 error 0n2

    Failed to load data access DLL, 0x80004005

    I've also tried steps given here without result : http://blogs.msdn.com/b/dougste/archive/2009/02/18/failed-to-load-data-access-dll-0x80004005-or-what-is-mscordacwks-dll.aspx

    Friday, June 25, 2010 9:33 AM
  • Ok, I've finally found how to use this specific DLL version :

    1)  Go to the machine where the dump come from, get the correct mscordacwks.dll from c:\windows\microsoft.net\framework...\v2.0.50727 (check the detail properties tab to check the version number)

    2) Download this dll on your machine.

    3) Rename the DLL to include the platform (x86 or AMD64) and the specific version, as explained in this blog post. For my case, it was mscordacwks_AMD64_AMD64_2.0.50727.4200.dll

    4) Copy this file in your WinDbg install path (ex : C:\Program Files\Debugging Tools for Windows (x64))

    5) Start windbg

    6) Ensure your sym path is correct (mine was srv*D:\Symbols*http://msdl.microsoft.com/download/symbols)

    7) Load your crash dump

    8) (Optional) call !sym noisy to display symbol resolution informations

    9) (Optional) call .cordll -ve -u -l

    10) Run !threads to check if the clr is loaded.

    References :

     

    Friday, June 25, 2010 10:15 AM