Como proceder para analisar o dump da Ferramenta de Diagnóstico de Depuração do IIS 7.5 a partir da falha de thread w3wp.exe do Windows Process Activation Service

1

Estou usando a Ferramenta de diagnóstico de depuração (DebugDiag v1.2) em alguns servidores de produção do Windows Server 2008 R2 Standard que executam um aplicativo da Web personalizado criado internamente no IIS 7.5 para criar arquivos de despejo de memória.

O problema é que os eventos de aviso do Serviço de Ativação de Processo do Windows (WAS) continuam ocorrendo em todos os meus servidores de produção e estão aumentando em frequência, mas ainda são aleatórios em termos de quando ocorrem, durante todo o período de 24 horas. / p>

Aqui está um exemplo de evento de registro do sistema com o qual estou preocupado:

Nível: aviso Fonte: WAS ID do Evento: 5011 Descrição: Um processo que atende ao pool de aplicativos 'MyAppPool' sofreu um erro fatal de comunicação com o Windows Process Activation Service. O id do processo era '7776'. O campo de dados contém o número do erro.

Eu analiso o despejo e obtenho algo assim a cada vez (abaixo). O problema é, como posso proceder para detalhar o problema depois de atingir as linhas '0x3d9b9c16', que se repetem centenas de vezes? Que ferramentas ou abordagem eu poderia tomar para depurar ainda mais?

Thread 252 - identificação do sistema 6380 Ponto de entrada 0 x 00000000 Criar hora 25-03-2015 22:52:49 Tempo gasto no modo de usuário 0 Dias 00: 00: 01.856 Tempo gasto no modo kernel 0 Dias 00: 00: 00.124

Este encadeamento é bloqueado por uma exceção não tratada

Pilha de chamadas do .NET

Função System.Web.Hosting.UnsafeIISMethods.MgdIndicateCompletion (IntPtr, System.Web.RequestNotificationStatus ByRef)

Pilha de chamadas completa

Fonte de Função ntdll! ZwTerminateProcess
KERNELBASE! TerminateProcess + 2c
EEPolicy :: HandleFatalStackOverflow + 1ba
clr! EEPolicy :: HandleStackOverflow + 1ac
clr! COMPlusFrameHandler + 9b
ntdll! ExecuteHandler2 + 26
ntdll! ExecuteHandler + 24
ntdll! RtlDispatchException + 127
ntdll! KiUserExceptionDispatcher + f
clr! COMNlsHashProvider :: HashiStringKnownLower80 + 10
clr! COMNlsInfo :: InternalGetCaseInsHash + fa
mscorlib_ni + 2e7a9b
mscorlib_ni + 2e7a0a
mscorlib_ni + 38aba8
mscorlib_ni + 2e1a10
mscorlib_ni + 2e19cf
mscorlib_ni + 2e18ce
System_ni + 1a41b4
System_Web_ni + 1c6785
System_Web_ni + 1f3581
System_Web_ni + 1c67f8
0x1b2bcc27
0x3d9b9c0e
0x3d9b9c16
0x3d9b9c16
0x3d9b9c16
0x3d9b9c16

(isso é repetido por centenas de linhas!) ... 0x3d9b9c16
0x3d9b9c16
0x3d9b9c16
0x3d9b9c16
System_Web_ni + 217774
System_Web_ni + 1ea04d
System_Web_ni + 1ea087
System_Web_ni + 1ea0e2
System_Web_ni + 1ea0e2
System_Web_ni + 1ea0e2
System_Web_ni + 1fd845
System_Web_ni + 1fd3a5
System_Web_ni + 1fd2d9
System_Web_ni + 1fd216
System_Web_ni + 1fc16b
System_Web_ni + 2021f6
System_Web_ni + 1df356
System_Web_ni + 1f1277
System_Web_ni + 1df5f0
System_Web_ni + 1dc0cb
System_Web_ni + 1e1561
System_Web_ni + 1e126f
webengine4! W3_MGD_HANDLER :: ProcessNotification + 5a
webengine4! W3_MGD_HANDLER :: DoWork + 2cb
webengine4! RequestDoWork + 2ea
webengine4! CMgdEngHttpModule :: OnExecuteRequestHandler + 18
iiscore NOTIFICATION_CONTEXT :: RequestDoWork + 128
iiscore NOTIFICATION_CONTEXT :: CallModulesInternal + 305
iiscore NOTIFICATION_CONTEXT :: CallModules + 28
iicore! W3_CONTEXT :: DoStateRequestExecuteHandler + 36
iiscore! W3_CONTEXT :: DoWork + d7
iiscore! W3_MAIN_CONTEXT :: ContinueNotificationLoop + 1f
iiscore! W3_MAIN_CONTEXT :: ProcessIndicateCompletion + 1f
iiscore! W3_CONTEXT :: IndicateCompletion + 75
webengine4! W3_MGD_HANDLER :: IndicateCompletion + 38
webengine4! MgdIndicateCompletion + 22
System_Web_ni + 240211
System_Web_ni + 1e16e0
System_Web_ni + 1e126f
clr! UM2MThunk_WrapperHelper + 10
clr! UM2MThunk_Wrapper + 76
clr! Thread :: DoADCallBack + b4
clr! UM2MDoADCallBack + 92
0x0098b361
webengine4! W3_MGD_HANDLER :: ProcessNotification + 5a
webengine4! ProcessNotificationCallback + 32
clr! UnManagedPerAppDomainTPCount :: DispatchWorkItem + 1ce
clr! ThreadpoolMgr :: ExecuteWorkRequest + 42
clr! ThreadpoolMgr :: WorkerThreadStart + 36c
clr! Thread :: intermediateThreadProc + 4d
kernel32! BaseThreadInitThunk + e e-mail ntdll! __ RtlUserThreadStart + 70
ntdll! _RtlUserThreadStart + 1b

Obrigado!

    
por Bob Kiefer 27.03.2015 / 01:19

0 respostas