I’ve been having a problem getting any output to be produced from SOS while
debugging one of our production dumps and I’m curious to find out why SOS is
failing.
For sake of this discussion I will refer to my dumps as a “good dump” vs.
“bad dump”. My setup is as follows:
WinDbg 6.11.1.404
SOS, mscorwks, mscordacwks, mscordacwks_x86_x86_2.0.50727.832 and other 2.0
HF823 (NDP20-KB928365-v2-X86) DLLs reside in C:\DebugToolz\clr20_hf832\
directory.
When I issue the commands below on a “good dump”, I get valid output.
Commands:
.exepath C:\DebugToolz\clr20_hf832
.load C:\DebugToolz\psscor2\x86\psscor2.dll
.reload /f /v mscoree.dll
.reload /f /v mscorwks.dll
.cordll -l -lp C:\DebugToolz\clr20_hf832\ -e -N -sd -ve
!threads
0:000> !threads
DBGHELP: C:\DebugToolz\clr20_hf832\mscordacwks_x86_x86_2.0.50727.832.dll - OK
CLRDLL: Loaded DLL
C:\DebugToolz\clr20_hf832\mscordacwks_x86_x86_2.0.50727.832.dll
ThreadCount: 10
UnstartedThread: 0
BackgroundThread: 7
PendingThread: 0
DeadThread: 2
Hosted Runtime: no
PreEmptive GC Alloc Lock
ID OSID ThreadOBJ State GC Context Domain Count
APT Exception
0 1 de4 0014a5b0 6020 Enabled 01690a60:01691aa4 001518f0 0
STA
XXXX 2 774 00154770 b220 Enabled 01693014:01693aa4 001518f0 0
Ukn (Finalizer)
<snip>
When I issue the same commands while debugging a “bad dump”, 4 C++
exceptions are thrown and output is produced as follows:
0:000> .exepath C:\DebugToolz\clr20_hf832
Executable image search path is: C:\DebugToolz\clr20_hf832
Expanded Executable image search path is: c:\debugtoolz\clr20_hf832
0:000> .load C:\DebugToolz\clr20_hf832\sos.dll
0:000> .reload /f /v mscoree.dll
AddImage: C:\WINNT\system32\mscoree.dll
DllBase = 79000000
Size = 00045000
Checksum = 0004a468
TimeDateStamp = 461f2d7e
0:000> .reload /f /v mscorwks.dll
AddImage: C:\WINNT\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll
DllBase = 79e70000
Size = 00566000
Checksum = 0056f6af
TimeDateStamp = 461f2e2a
0:000> .cordll -l -lp C:\DebugToolz\clr20_hf832\ -e -N -sd -ve
NOTE: This code is not supported and may not work.
Do not report any problems you have.
CLR DLL status: No load attempts
Test new CLR interfaces
0:000> !threads
CLRDLL: Loaded DLL
C:\DebugToolz\clr20_hf832\mscordacwks_x86_x86_2.0.50727.832.dll
Failed to request ThreadStore
The C++ exceptions in question are as follows:
(8264.8744): C++ EH exception - code e06d7363 (first chance)
ChildEBP RetAddr Args to Child
00d7e088 6bd1961f e06d7363 00000001 00000003 kernel32!RaiseException+0x53
00d7e0c0 6bcf6644 00d7e0f8 6bd8d014 8874ae24
mscordacwks_x86_x86_2_0_50727_832!_CxxThrowException+0x46
00d7e0f0 6bce9b39 000cf9d8 00000000 000ccda0
mscordacwks_x86_x86_2_0_50727_832!DacError+0x3f
00d7e108 6bce1d1c 00000000 00000004 00000001
mscordacwks_x86_x86_2_0_50727_832!DacInstantiateTypeByAddressHelper+0x15
00d7e11c 6bcf9b57 7a387910 00000004 00000001
mscordacwks_x86_x86_2_0_50727_832!DacInstantiateTypeByAddress+0x13
00d7e130 6bcfeb3d 00000000 00000000 00000028
mscordacwks_x86_x86_2_0_50727_832!ClrDataAccess::RequestUsefulGlobals+0x3c
00d7e1d8 64280210 000ccda0 f0000044 00000000
mscordacwks_x86_x86_2_0_50727_832!ClrDataAccess::Request+0xbdd
00d7e1f4 6428dfeb 00000000 773e5ddf 00000000 sos!ResetGlobals+0x20
00d7e230 0218061f 00816a84 00d7e310 ea661d60 sos!Threads+0x7b
00d7e2d0 02180889 00816a80 00d7e4dc 00d7e430 dbgeng!ExtensionInfo::CallA+0x33f
00d7e460 02180952 00816a80 00d7e4dc 00d7e4ea dbgeng!ExtensionInfo::Call+0x129
00d7e47c 0217f14f 00816a80 00863200 00d7e4dc
dbgeng!ExtensionInfo::CallAny+0x72
00d7e8f4 021c91c9 00816a80 00000000 00000000 dbgeng!ParseBangCmd+0x65f
00d7e9d4 021ca5c9 00816a80 00000000 ea6615a8 dbgeng!ProcessCommands+0x4f9
00d7ea18 020fe579 00816a80 00000000 00000000
dbgeng!ProcessCommandsAndCatch+0x49
00d7eeb0 020fe7fa 00816a80 00d7efa0 00000002 dbgeng!Execute+0x2b9
00d7eee0 01028c83 00816a88 00000001 00d7efa0
dbgeng!DebugClient::ExecuteWide+0x6a
00d7ef88 01029188 00000000 00d7efa0 00000001 windbg!ProcessCommand+0x143
00d7ffa0 0102b456 00000000 806e6ef2 00000000 windbg!ProcessEngineCommands+0xa8
00d7ffb4 7c80b729 00000000 773e5ddf 00000000 windbg!EngineLoop+0x366
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
eax=00d7e038 ebx=80070026 ecx=00000000 edx=01450002 esi=00d7e0c0 edi=03240020
eip=7c812afb esp=00d7e034 ebp=00d7e088 iopl=0 nv up ei pl nz na pe nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000206
kernel32!RaiseException+0x53:
7c812afb 5e pop esi
0:001> !gle
LastErrorValue: (Win32) 0xcb (203) - The system could not find the
environment option that was entered.
LastStatusValue: (NTSTATUS) 0xc0000100 - Indicates the specified environment
variable name was not found in the specified environment block.
0:001> g
(8264.8744): C++ EH exception - code e06d7363 (first chance)
ChildEBP RetAddr Args to Child
00d7da68 6bd1961f e06d7363 00000001 00000003 kernel32!RaiseException+0x53
00d7daa0 6bcfebe9 00000000 00000000 6bce9382
mscordacwks_x86_x86_2_0_50727_832!_CxxThrowException+0x46
00d7e1d8 64280210 000ccda0 f0000044 00000000
mscordacwks_x86_x86_2_0_50727_832!ClrDataAccess::Request+0xc89
00d7e1f4 6428dfeb 00000000 773e5ddf 00000000 sos!ResetGlobals+0x20
00d7e230 0218061f 00816a84 00d7e310 ea661d60 sos!Threads+0x7b
00d7e2d0 02180889 00816a80 00d7e4dc 00d7e430 dbgeng!ExtensionInfo::CallA+0x33f
00d7e460 02180952 00816a80 00d7e4dc 00d7e4ea dbgeng!ExtensionInfo::Call+0x129
00d7e47c 0217f14f 00816a80 00863200 00d7e4dc
dbgeng!ExtensionInfo::CallAny+0x72
00d7e8f4 021c91c9 00816a80 00000000 00000000 dbgeng!ParseBangCmd+0x65f
00d7e9d4 021ca5c9 00816a80 00000000 ea6615a8 dbgeng!ProcessCommands+0x4f9
00d7ea18 020fe579 00816a80 00000000 00000000
dbgeng!ProcessCommandsAndCatch+0x49
00d7eeb0 020fe7fa 00816a80 00d7efa0 00000002 dbgeng!Execute+0x2b9
00d7eee0 01028c83 00816a88 00000001 00d7efa0
dbgeng!DebugClient::ExecuteWide+0x6a
00d7ef88 01029188 00000000 00d7efa0 00000001 windbg!ProcessCommand+0x143
00d7ffa0 0102b456 00000000 806e6ef2 00000000 windbg!ProcessEngineCommands+0xa8
00d7ffb4 7c80b729 00000000 773e5ddf 00000000 windbg!EngineLoop+0x366
00d7ffec 00000000 0102b0f0 00000000 00000000 kernel32!BaseThreadStart+0x37
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
eax=00d7da18 ebx=6bcfebda ecx=00000000 edx=00000000 esi=00d7daa0 edi=00000000
eip=7c812afb esp=00d7da14 ebp=00d7da68 iopl=0 nv up ei pl nz na pe nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000206
kernel32!RaiseException+0x53:
7c812afb 5e pop esi
0:001> !gle
LastErrorValue: (Win32) 0xcb (203) - The system could not find the
environment option that was entered.
LastStatusValue: (NTSTATUS) 0xc0000100 - Indicates the specified environment
variable name was not found in the specified environment block.
0:001> g
(8264.8744): C++ EH exception - code e06d7363 (first chance)
ChildEBP RetAddr Args to Child
00d7df70 6bd1961f e06d7363 00000001 00000003 kernel32!RaiseException+0x53
00d7dfa8 6bcf6644 00d7dfe0 6bd8d014 8874910c
mscordacwks_x86_x86_2_0_50727_832!_CxxThrowException+0x46
00d7dfd8 6bce9b39 000cf9d8 00000000 000ccda0
mscordacwks_x86_x86_2_0_50727_832!DacError+0x3f
00d7dff0 6bce1d1c 00000000 00000004 00000001
mscordacwks_x86_x86_2_0_50727_832!DacInstantiateTypeByAddressHelper+0x15
00d7e004 6bcfabf8 7a38667c 00000004 00000001
mscordacwks_x86_x86_2_0_50727_832!DacInstantiateTypeByAddress+0x13
00d7e018 6bcfe044 00000000 00000000 00000038
mscordacwks_x86_x86_2_0_50727_832!ClrDataAccess::RequestThreadStoreData+0x39
00d7e0c0 64287f75 000ccda0 f0000000 00000000
mscordacwks_x86_x86_2_0_50727_832!ClrDataAccess::Request+0xe4
00d7e1e8 6428e089 00000000 00000000 00d7e2d0
sos!PrintThreadsFromThreadStore+0x35
00d7e230 0218061f 00000000 00d7e310 ea661d60 sos!Threads+0x119
00d7e2d0 02180889 00816a80 00d7e4dc 00d7e430 dbgeng!ExtensionInfo::CallA+0x33f
00d7e460 02180952 00816a80 00d7e4dc 00d7e4ea dbgeng!ExtensionInfo::Call+0x129
00d7e47c 0217f14f 00816a80 00863200 00d7e4dc
dbgeng!ExtensionInfo::CallAny+0x72
00d7e8f4 021c91c9 00816a80 00000000 00000000 dbgeng!ParseBangCmd+0x65f
00d7e9d4 021ca5c9 00816a80 00000000 ea6615a8 dbgeng!ProcessCommands+0x4f9
00d7ea18 020fe579 00816a80 00000000 00000000
dbgeng!ProcessCommandsAndCatch+0x49
00d7eeb0 020fe7fa 00816a80 00d7efa0 00000002 dbgeng!Execute+0x2b9
00d7eee0 01028c83 00816a88 00000001 00d7efa0
dbgeng!DebugClient::ExecuteWide+0x6a
00d7ef88 01029188 00000000 00d7efa0 00000001 windbg!ProcessCommand+0x143
00d7ffa0 0102b456 00000000 806e6ef2 00000000 windbg!ProcessEngineCommands+0xa8
00d7ffb4 7c80b729 00000000 773e5ddf 00000000 windbg!EngineLoop+0x366
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
eax=00d7df20 ebx=80070026 ecx=00000000 edx=01460002 esi=00d7dfa8 edi=03240020
eip=7c812afb esp=00d7df1c ebp=00d7df70 iopl=0 nv up ei pl nz na pe nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000206
kernel32!RaiseException+0x53:
7c812afb 5e pop esi
0:001> !gle
LastErrorValue: (Win32) 0xcb (203) - The system could not find the
environment option that was entered.
LastStatusValue: (NTSTATUS) 0xc0000100 - Indicates the specified environment
variable name was not found in the specified environment block.
0:001> g
(8264.8744): C++ EH exception - code e06d7363 (first chance)
ChildEBP RetAddr Args to Child
00d7d950 6bd1961f e06d7363 00000001 00000003 kernel32!RaiseException+0x53
00d7d988 6bcfebe9 00000000 00000000 6bce9382
mscordacwks_x86_x86_2_0_50727_832!_CxxThrowException+0x46
00d7e0c0 64287f75 000ccda0 f0000000 00000000
mscordacwks_x86_x86_2_0_50727_832!ClrDataAccess::Request+0xc89
00d7e1e8 6428e089 00000000 00000000 00d7e2d0
sos!PrintThreadsFromThreadStore+0x35
00d7e230 0218061f 00000000 00d7e310 ea661d60 sos!Threads+0x119
00d7e2d0 02180889 00816a80 00d7e4dc 00d7e430 dbgeng!ExtensionInfo::CallA+0x33f
00d7e460 02180952 00816a80 00d7e4dc 00d7e4ea dbgeng!ExtensionInfo::Call+0x129
00d7e47c 0217f14f 00816a80 00863200 00d7e4dc
dbgeng!ExtensionInfo::CallAny+0x72
00d7e8f4 021c91c9 00816a80 00000000 00000000 dbgeng!ParseBangCmd+0x65f
00d7e9d4 021ca5c9 00816a80 00000000 ea6615a8 dbgeng!ProcessCommands+0x4f9
00d7ea18 020fe579 00816a80 00000000 00000000
dbgeng!ProcessCommandsAndCatch+0x49
00d7eeb0 020fe7fa 00816a80 00d7efa0 00000002 dbgeng!Execute+0x2b9
00d7eee0 01028c83 00816a88 00000001 00d7efa0
dbgeng!DebugClient::ExecuteWide+0x6a
00d7ef88 01029188 00000000 00d7efa0 00000001 windbg!ProcessCommand+0x143
00d7ffa0 0102b456 00000000 806e6ef2 00000000 windbg!ProcessEngineCommands+0xa8
00d7ffb4 7c80b729 00000000 773e5ddf 00000000 windbg!EngineLoop+0x366
00d7ffec 00000000 0102b0f0 00000000 00000000 kernel32!BaseThreadStart+0x37
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
eax=00d7d900 ebx=6bcfebda ecx=00000000 edx=00000000 esi=00d7d988 edi=00000000
eip=7c812afb esp=00d7d8fc ebp=00d7d950 iopl=0 nv up ei pl nz na pe nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000206
kernel32!RaiseException+0x53:
7c812afb 5e pop esi
0:001> !gle
LastErrorValue: (Win32) 0xcb (203) - The system could not find the
environment option that was entered.
LastStatusValue: (NTSTATUS) 0xc0000100 - Indicates the specified environment
variable name was not found in the specified environment block.
When I found out that PSSCOR2 was released
(http://blogs.msdn.com/tom/archive/2010/03/29/new-debugger-extension-for-net-psscor2-released.aspx),
I was really excited thinking that maybe I will get different results.
Unfortunately, I get the same outcome with PSSCOR2.
0:000> .exepath C:\DebugToolz\clr20_hf832
Executable image search path is: C:\DebugToolz\clr20_hf832
Expanded Executable image search path is: c:\debugtoolz\clr20_hf832
0:000> .load C:\DebugToolz\psscor2\x86\psscor2.dll
0:000> .reload /f /v mscoree.dll
AddImage: C:\WINNT\system32\mscoree.dll
DllBase = 79000000
Size = 00045000
Checksum = 0004a468
TimeDateStamp = 461f2d7e
0:000> .reload /f /v mscorwks.dll
AddImage: C:\WINNT\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll
DllBase = 79e70000
Size = 00566000
Checksum = 0056f6af
TimeDateStamp = 461f2e2a
0:000> .cordll -l -lp C:\DebugToolz\clr20_hf832\ -e -N -sd -ve
NOTE: This code is not supported and may not work.
Do not report any problems you have.
CLR DLL status: No load attempts
Test new CLR interfaces
0:000> !threads
CLRDLL: Loaded DLL
C:\DebugToolz\clr20_hf832\mscordacwks_x86_x86_2.0.50727.832.dll
Failed to request ThreadStore
0:001> kb
ChildEBP RetAddr Args to Child
00d7e0a0 6bd1961f e06d7363 00000001 00000003 kernel32!RaiseException+0x53
00d7e0d8 6bcf6644 00d7e110 6bd8d014 24d934ec
mscordacwks_x86_x86_2_0_50727_832!_CxxThrowException+0x46
00d7e108 6bce9b39 000cd560 00000000 000d2eb0
mscordacwks_x86_x86_2_0_50727_832!DacError+0x3f
00d7e120 6bce1d1c 00000000 00000004 00000001
mscordacwks_x86_x86_2_0_50727_832!DacInstantiateTypeByAddressHelper+0x15
00d7e134 6bcf9b57 7a387910 00000004 00000001
mscordacwks_x86_x86_2_0_50727_832!DacInstantiateTypeByAddress+0x13
00d7e148 6bcfeb3d 00000000 00000000 00000028
mscordacwks_x86_x86_2_0_50727_832!ClrDataAccess::RequestUsefulGlobals+0x3c
00d7e1f0 03246a50 000d2eb0 f0000044 00000000
mscordacwks_x86_x86_2_0_50727_832!ClrDataAccess::Request+0xbdd
WARNING: Stack unwind information not available. Following frames may be
wrong.
00d7e230 0218061f 000d2eb0 00d7e310 05028ed0 psscor2+0x16a50
00d7e2d0 02180889 00816a80 00d7e4dc 00d7e430 dbgeng!ExtensionInfo::CallA+0x33f
00d7e460 02180952 00816a80 00d7e4dc 00d7e4ea dbgeng!ExtensionInfo::Call+0x129
00d7e47c 0217f14f 00816a80 008630e0 00d7e4dc
dbgeng!ExtensionInfo::CallAny+0x72
00d7e8f4 021c91c9 00816a80 00000000 00000000 dbgeng!ParseBangCmd+0x65f
00d7e9d4 021ca5c9 00816a80 00000000 05028618 dbgeng!ProcessCommands+0x4f9
00d7ea18 020fe579 00816a80 00000000 00000000
dbgeng!ProcessCommandsAndCatch+0x49
00d7eeb0 020fe7fa 00816a80 00d7efa0 00000002 dbgeng!Execute+0x2b9
00d7eee0 01028c83 00816a88 00000001 00d7efa0
dbgeng!DebugClient::ExecuteWide+0x6a
00d7ef88 01029188 00000000 00d7efa0 00000001 windbg!ProcessCommand+0x143
00d7ffa0 0102b456 00000000 806e6ef2 00000000 windbg!ProcessEngineCommands+0xa8
00d7ffb4 7c80b729 00000000 773e5ddf 00000000 windbg!EngineLoop+0x366
00d7ffec 00000000 0102b0f0 00000000 00000000 kernel32!BaseThreadStart+0x37
0:001> g
(a760.a2bc): C++ EH exception - code e06d7363 (first chance)
ChildEBP RetAddr Args to Child
00d7da80 6bd1961f e06d7363 00000001 00000003 kernel32!RaiseException+0x53
00d7dab8 6bcfebe9 00000000 00000000 6bce9382
mscordacwks_x86_x86_2_0_50727_832!_CxxThrowException+0x46
00d7e1f0 03246a50 000d2eb0 f0000044 00000000
mscordacwks_x86_x86_2_0_50727_832!ClrDataAccess::Request+0xc89
WARNING: Stack unwind information not available. Following frames may be
wrong.
00d7e230 0218061f 000d2eb0 00d7e310 05028ed0 psscor2+0x16a50
00d7e2d0 02180889 00816a80 00d7e4dc 00d7e430 dbgeng!ExtensionInfo::CallA+0x33f
00d7e460 02180952 00816a80 00d7e4dc 00d7e4ea dbgeng!ExtensionInfo::Call+0x129
00d7e47c 0217f14f 00816a80 008630e0 00d7e4dc
dbgeng!ExtensionInfo::CallAny+0x72
00d7e8f4 021c91c9 00816a80 00000000 00000000 dbgeng!ParseBangCmd+0x65f
00d7e9d4 021ca5c9 00816a80 00000000 05028618 dbgeng!ProcessCommands+0x4f9
00d7ea18 020fe579 00816a80 00000000 00000000
dbgeng!ProcessCommandsAndCatch+0x49
00d7eeb0 020fe7fa 00816a80 00d7efa0 00000002 dbgeng!Execute+0x2b9
00d7eee0 01028c83 00816a88 00000001 00d7efa0
dbgeng!DebugClient::ExecuteWide+0x6a
00d7ef88 01029188 00000000 00d7efa0 00000001 windbg!ProcessCommand+0x143
00d7ffa0 0102b456 00000000 806e6ef2 00000000 windbg!ProcessEngineCommands+0xa8
00d7ffb4 7c80b729 00000000 773e5ddf 00000000 windbg!EngineLoop+0x366
00d7ffec 00000000 0102b0f0 00000000 00000000 kernel32!BaseThreadStart+0x37
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
eax=00d7da30 ebx=6bcfebda ecx=00000000 edx=00000000 esi=00d7dab8 edi=00000000
eip=7c812afb esp=00d7da2c ebp=00d7da80 iopl=0 nv up ei pl nz na pe nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000206
kernel32!RaiseException+0x53:
7c812afb 5e pop esi
0:001> g
(a760.a2bc): C++ EH exception - code e06d7363 (first chance)
ChildEBP RetAddr Args to Child
00d7df38 6bd1961f e06d7363 00000001 00000003 kernel32!RaiseException+0x53
00d7df70 6bcf6644 00d7dfa8 6bd8d014 24d90a44
mscordacwks_x86_x86_2_0_50727_832!_CxxThrowException+0x46
00d7dfa0 6bce9b39 000cd560 00000000 000d2eb0
mscordacwks_x86_x86_2_0_50727_832!DacError+0x3f
00d7dfb8 6bce1d1c 00000000 00000004 00000001
mscordacwks_x86_x86_2_0_50727_832!DacInstantiateTypeByAddressHelper+0x15
00d7dfcc 6bcfabf8 7a38667c 00000004 00000001
mscordacwks_x86_x86_2_0_50727_832!DacInstantiateTypeByAddress+0x13
00d7dfe0 6bcfe044 00000000 00000000 00000038
mscordacwks_x86_x86_2_0_50727_832!ClrDataAccess::RequestThreadStoreData+0x39
00d7e088 032642d6 000d2eb0 f0000000 00000000
mscordacwks_x86_x86_2_0_50727_832!ClrDataAccess::Request+0xe4
WARNING: Stack unwind information not available. Following frames may be
wrong.
00d7e1bc 03264c21 00000000 00000000 773e5ddf psscor2+0x342d6
00d7e208 0326c592 00d7e310 24f38856 773e5ddf psscor2+0x34c21
00d7e230 0218061f 000d2eb0 00d7e310 05028ed0 psscor2!threads+0xd2
00d7e2d0 02180889 00816a80 00d7e4dc 00d7e430 dbgeng!ExtensionInfo::CallA+0x33f
00d7e460 02180952 00816a80 00d7e4dc 00d7e4ea dbgeng!ExtensionInfo::Call+0x129
00d7e47c 0217f14f 00816a80 008630e0 00d7e4dc
dbgeng!ExtensionInfo::CallAny+0x72
00d7e8f4 021c91c9 00816a80 00000000 00000000 dbgeng!ParseBangCmd+0x65f
00d7e9d4 021ca5c9 00816a80 00000000 05028618 dbgeng!ProcessCommands+0x4f9
00d7ea18 020fe579 00816a80 00000000 00000000
dbgeng!ProcessCommandsAndCatch+0x49
00d7eeb0 020fe7fa 00816a80 00d7efa0 00000002 dbgeng!Execute+0x2b9
00d7eee0 01028c83 00816a88 00000001 00d7efa0
dbgeng!DebugClient::ExecuteWide+0x6a
00d7ef88 01029188 00000000 00d7efa0 00000001 windbg!ProcessCommand+0x143
00d7ffa0 0102b456 00000000 806e6ef2 00000000 windbg!ProcessEngineCommands+0xa8
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
eax=00d7dee8 ebx=80070026 ecx=00000000 edx=011d0001 esi=00d7df70 edi=03340020
eip=7c812afb esp=00d7dee4 ebp=00d7df38 iopl=0 nv up ei pl nz na pe nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000206
kernel32!RaiseException+0x53:
7c812afb 5e pop esi
0:001> g
(a760.a2bc): C++ EH exception - code e06d7363 (first chance)
ChildEBP RetAddr Args to Child
00d7d918 6bd1961f e06d7363 00000001 00000003 kernel32!RaiseException+0x53
00d7d950 6bcfebe9 00000000 00000000 6bce9382
mscordacwks_x86_x86_2_0_50727_832!_CxxThrowException+0x46
00d7e088 032642d6 000d2eb0 f0000000 00000000
mscordacwks_x86_x86_2_0_50727_832!ClrDataAccess::Request+0xc89
WARNING: Stack unwind information not available. Following frames may be
wrong.
00d7e1bc 03264c21 00000000 00000000 773e5ddf psscor2+0x342d6
00d7e208 0326c592 00d7e310 24f38856 773e5ddf psscor2+0x34c21
00d7e230 0218061f 000d2eb0 00d7e310 05028ed0 psscor2!threads+0xd2
00d7e2d0 02180889 00816a80 00d7e4dc 00d7e430 dbgeng!ExtensionInfo::CallA+0x33f
00d7e460 02180952 00816a80 00d7e4dc 00d7e4ea dbgeng!ExtensionInfo::Call+0x129
00d7e47c 0217f14f 00816a80 008630e0 00d7e4dc
dbgeng!ExtensionInfo::CallAny+0x72
00d7e8f4 021c91c9 00816a80 00000000 00000000 dbgeng!ParseBangCmd+0x65f
00d7e9d4 021ca5c9 00816a80 00000000 05028618 dbgeng!ProcessCommands+0x4f9
00d7ea18 020fe579 00816a80 00000000 00000000
dbgeng!ProcessCommandsAndCatch+0x49
00d7eeb0 020fe7fa 00816a80 00d7efa0 00000002 dbgeng!Execute+0x2b9
00d7eee0 01028c83 00816a88 00000001 00d7efa0
dbgeng!DebugClient::ExecuteWide+0x6a
00d7ef88 01029188 00000000 00d7efa0 00000001 windbg!ProcessCommand+0x143
00d7ffa0 0102b456 00000000 806e6ef2 00000000 windbg!ProcessEngineCommands+0xa8
00d7ffb4 7c80b729 00000000 773e5ddf 00000000 windbg!EngineLoop+0x366
00d7ffec 00000000 0102b0f0 00000000 00000000 kernel32!BaseThreadStart+0x37
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
eax=00d7d8c8 ebx=6bcfebda ecx=00000000 edx=00000000 esi=00d7d950 edi=00000000
eip=7c812afb esp=00d7d8c4 ebp=00d7d918 iopl=0 nv up ei pl nz na pe nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000206
kernel32!RaiseException+0x53:
7c812afb 5e pop esi
Can anyone please take a look at the exceptions and make a suggestion as to
what might be wrong here?
Thank you,
Olegas
I disassembled mscordacwks_x86_x86_2_0_50727_832!DacError and stepped
through it just before we called
mscordacwks_x86_x86_2_0_50727_832!HRException::HRException
0:001> u mscordacwks_x86_x86_2_0_50727_832!DacError
mscordacwks_x86_x86_2_0_50727_832!DacError+3b
mscordacwks_x86_x86_2_0_50727_832!DacError:
6bcf6605 6a04 push 4
6bcf6607 b8d425d86b mov eax,offset
mscordacwks_x86_x86_2_0_50727_832!MakePath+0xd40 (6bd825d4)
6bcf660c e80eb7feff call
mscordacwks_x86_x86_2_0_50727_832!_EH_prolog3 (6bce1d1f)
6bcf6611 6a0c push 0Ch
6bcf6613 e848980100 call mscordacwks_x86_x86_2_0_50727_832!operator
new[] (6bd0fe60)
6bcf6618 59 pop ecx
6bcf6619 8bc8 mov ecx,eax
6bcf661b 894df0 mov dword ptr [ebp-10h],ecx
6bcf661e 33c0 xor eax,eax
6bcf6620 8945fc mov dword ptr [ebp-4],eax
6bcf6623 3bc8 cmp ecx,eax
6bcf6625 7408 je
mscordacwks_x86_x86_2_0_50727_832!DacError+0x2a (6bcf662f)
6bcf6627 ff7508 push dword ptr [ebp+8]
6bcf662a e8dbfdffff call
mscordacwks_x86_x86_2_0_50727_832!HRException::HRException (6bcf640a)
6bcf662f 834dfcff or dword ptr [ebp-4],0FFFFFFFFh
6bcf6633 894508 mov dword ptr [ebp+8],eax
6bcf6636 6814d0d86b push offset
mscordacwks_x86_x86_2_0_50727_832!_TI3PAVHRException (6bd8d014)
6bcf663b 8d4508 lea eax,[ebp+8]
6bcf663e 50 push eax
6bcf663f e8952f0200 call
mscordacwks_x86_x86_2_0_50727_832!_CxxThrowException (6bd195d9)
0:001> ? ebp+8
Evaluate expression: 14147496 = 00d7dfa8
0:001> !error poi(ebp+8)
Error code: (HRESULT) 0x80070026 (2147942438) - Reached the end of the file.
The “bad dump” is a hefty 500+ MB file. I’m able get native call stacks out
of the dump, but not managed. Also, executing !heap –stat throws an access
violation in ext!AVrfpEnumerateHeapAllocationsWorker+0x7c
Does that suggest that the dump file is corrupt?
Thank you,
Olegas