I have an application that hangs every so often.
I am using WinDBG to attempt to find the problem.
Specifically, how can I find out what is the critical section being waited upon?
I did get results for !cs -l and WinDBG does not show any critical sections that are locked.
The result of !analyze -v -hang follows:
0:029> !analyze -v -hang
*******************************************************************************
* *
* Exception Analysis *
* *
*******************************************************************************
*** ERROR: Symbol file could not be found. Defaulted to export symbols for D:\Windows\system32\MSVBVM60.DLL -
*** WARNING: Unable to verify checksum for D:\Program Files (x86)\Software Verification\Memory Validator\svlmemoryvalidatorstub.dll
*** ERROR: Symbol file could not be found. Defaulted to export symbols for D:\Program Files (x86)\Software Verification\Memory Validator\svlmemoryvalidatorstub.dll -
GetPageUrlData failed, server returned HTTP status 404
URL requested: http://watson.microsoft.com/0001000c.htm?Retriage=1
FAULTING_IP:
ntdll!DbgBreakPoint+0
77ad000c cc int 3
EXCEPTION_RECORD: ffffffff – (.exr 0xffffffffffffffff)
ExceptionAddress: 77ad000c (ntdll!DbgBreakPoint)
ExceptionCode: 80000003 (Break instruction exception)
ExceptionFlags: 00000000
NumberParameters: 1
Parameter[0]: 00000000
FAULTING_THREAD: 00000019
BUGCHECK_STR: HANG
PROCESS_NAME: S3DHost.exe
OVERLAPPED_MODULE: Address regions for ‘EquipDropTarget’ and ‘EquipEnvManager409.dll’ overlap
ERROR_CODE: (NTSTATUS) 0xcfffffff -
EXCEPTION_CODE: (NTSTATUS) 0xcfffffff -
EXCEPTION_PARAMETER1: 00000000
MOD_LIST:
NTGLOBALFLAG: 400
APPLICATION_VERIFIER_FLAGS: 0
MANAGED_STACK: !dumpstack -EE
OS Thread Id: 0x1028 (29)
Current frame:
ChildEBP RetAddr Caller,Callee
LOADERLOCK_BLOCKED_API: LdrInitializeThunk:LdrpInitializeThread:
DERIVED_WAIT_CHAIN:
Dl Eid Cid WaitType
– — ------- --------------------------
29 c4c.1028 Speculated (Triage) –>
25 c4c.1390 Critical Section (Self)
WAIT_CHAIN_COMMAND: ~29s;k;;~25s;k;;
BLOCKING_THREAD: 00001390
DEFAULT_BUCKET_ID: APPLICATION_HANG_SELF_Unowned_CriticalSection
PRIMARY_PROBLEM_CLASS: APPLICATION_HANG_SELF_Unowned_CriticalSection
LAST_CONTROL_TRANSFER: from 77af8c44 to 77adf861
STACK_TEXT:
1d4efb94 77af8c44 0000021c 00000000 00000000 ntdll!ZwWaitForSingleObject+0x15
1d4efbf8 77af8b28 00000000 00000000 00000000 ntdll!RtlpWaitOnCriticalSection+0x13e
1d4efc20 77af9ef9 77bc20c0 6e39dde0 ffed6000 ntdll!RtlEnterCriticalSection+0x150
1d4efcb4 77af9c9c 1d4efd24 6e39dc54 00000000 ntdll!LdrpInitializeThread+0xc6
1d4efd00 77af9cc9 1d4efd24 77ac0000 00000000 ntdll!_LdrpInitialize+0x1ad
1d4efd10 00000000 1d4efd24 77ac0000 00000000 ntdll!LdrInitializeThunk+0x10
FOLLOWUP_IP:
ntdll!ZwWaitForSingleObject+15
77adf861 83c404 add esp,4
SYMBOL_STACK_INDEX: 0
SYMBOL_NAME: ntdll!ZwWaitForSingleObject+15
FOLLOWUP_NAME: MachineOwner
MODULE_NAME: ntdll
IMAGE_NAME: ntdll.dll
DEBUG_FLR_IMAGE_TIMESTAMP: 4ba9b29c
STACK_COMMAND: ~25s ; kb
BUCKET_ID: HANG_ntdll!ZwWaitForSingleObject+15
FAILURE_BUCKET_ID: APPLICATION_HANG_SELF_Unowned_CriticalSection_cfffffff_ntdll.dll!ZwWaitForSingleObject
WATSON_STAGEONE_URL: http://watson.microsoft.com/0001000c.htm?Retriage=1
Followup: MachineOwner
---------
Thanks,
Osiris Pedroso