Debug Diagnostic Tool not generating dumps on Crash

0

Server: Windows 2012r2 Debug Diagnostic Tool v2.1 update 1

Debugger is attached to application pool. I've confirmed it's the correct pool for the site. Pool crashes, however a dump file is never generated.

"Application pool '' is being automatically disabled due to a series of failures in the process(es) serving that application pool."

The rule is just simply set to look at the application pool, not capturing first chance exceptions. I've tried deleting and re-adding it a few times and it never generates the dump.

I checked the debug logs it generated and this is the last exception generated right before the pool crashes:

WARNING: Frame IP not in any known module. Following frames may be wrong. 0x0 0x0 0x0

Edit: Wanted to add that the dumps do generate for first chance exceptions. It seems to only be a problem when trying to capture the second chance, or the one that is actually causing the crash.

Edit 2: Last few lines from one of the debug logs per request:

[9/16/2015 7:21:31 PM]
  Exception 0XC00000FD on thread 154788.  DetailID = 48
  Thread created. New thread system id - System ID: 85156
  Thread exited. Exiting thread system id - System ID: 85156. Exit code - 0x00000000
  Thread exited. Exiting thread system id - System ID: 326816. Exit code - 0x800703e9
  Thread exited. Exiting thread system id - System ID: 41368. Exit code - 0x800703e9
  Thread exited. Exiting thread system id - System ID: 213340. Exit code - 0x800703e9
  Thread exited. Exiting thread system id - System ID: 300224. Exit code - 0x800703e9
  Thread exited. Exiting thread system id - System ID: 51008. Exit code - 0x800703e9
  Thread exited. Exiting thread system id - System ID: 45288. Exit code - 0x800703e9
  Thread exited. Exiting thread system id - System ID: 75176. Exit code - 0x800703e9
  Thread exited. Exiting thread system id - System ID: 143512. Exit code - 0x800703e9
  Thread exited. Exiting thread system id - System ID: 68504. Exit code - 0x800703e9
....... (goes on like this for awhile)
Process exited. Exit code - 0x800703e9

The exception correlates to this

DetailID = 48
    Count:    1
    Exception #:  0XC00000FD
    Stack:        

        WARNING: Frame IP not in any known module. Following frames may be wrong.
        0x0
        0x0
        0x0
        0x0
        0x0
.net
windows
debugging
iis
debugdiag
asked on Stack Overflow Sep 22, 2015 by Noah Sparks • edited Sep 23, 2015 by Noah Sparks

1 Answer

4

By default the debugdiag crash rule takes dumps for all the unhandled second chance exceptions only (if you create a crash rule and leave all settings to default) so if the dumps are not getting generated then the process is not crashing with a 2nd chance exception.

At times CLR calls TerminateProcess function when it encounters fatal exceptions (stack overflow being one of them). So if your process is crashing with these kind of exceptions then you won't get dumps using the default rule and you should change the rule to include the ntdll terminateprocess breakpoint which is present in the default breakpoint list. The bad effect of enabling this breakpoint is that now you get dumps even for SAFE EXITS (like worker process idle shutdowns , recycles etc.) so you need to check the time stamp of the event logged and match the dump file with that...

It would help if you paste the last 5-10 lines of what you see in the text files generated by debugdiag for w3wp.txt.

EDIT: Adding the Callstack as I see in the debugger...

0:065> kL 50
# ChildEBP RetAddr  
00 1a8f291c 74b80947 ntdll!NtTerminateProcess
01 1a8f292c 73e0843d KERNELBASE!TerminateProcess+0x23
02 1a8f29b8 73e07d03 clr!EEPolicy::HandleFatalStackOverflow+0x1ba
03 1a8f29e8 73dca49f clr!EEPolicy::HandleStackOverflow+0x1ac
04 1a8f2a0c 76f500b1 clr!COMPlusFrameHandler+0x9b
05 1a8f2a30 76f50083 ntdll!ExecuteHandler2+0x26
06 1a8f2afc 76f507ff ntdll!ExecuteHandler+0x24
07 1a8f2afc 17732c83 ntdll!KiUserExceptionDispatcher+0xf
08 1a8f309c 17733104 App_Web_lotdetail_aspx_cdcab7d2_hoxucj_s!Unknown+0x1b
09 1a8f3184 17733104 App_Web_lotdetail_aspx_cdcab7d2_hoxucj_s!Unknown+0x49c
0a 1a8f326c 17733104 App_Web_lotdetail_aspx_cdcab7d2_hoxucj_s!Unknown+0x49c
0b 1a8f3354 17733104 App_Web_lotdetail_aspx_cdcab7d2_hoxucj_s!Unknown+0x49c
0c 1a8f343c 17733104 App_Web_lotdetail_aspx_cdcab7d2_hoxucj_s!Unknown+0x49c
0d 1a8f3524 17733104 App_Web_lotdetail_aspx_cdcab7d2_hoxucj_s!Unknown+0x49c
0e 1a8f360c 17733104 App_Web_lotdetail_aspx_cdcab7d2_hoxucj_s!Unknown+0x49c
0f 1a8f36f4 17733104 App_Web_lotdetail_aspx_cdcab7d2_hoxucj_s!Unknown+0x49c
10 1a8f37dc 17733104 App_Web_lotdetail_aspx_cdcab7d2_hoxucj_s!Unknown+0x49c
answered on Stack Overflow Sep 22, 2015 by Puneet Gupta • edited Oct 1, 2015 by Puneet Gupta

User contributions licensed under CC BY-SA 3.0