В процессе, обслуживающем пул приложений «X», произошла фатальная ошибка связи со службой активации процессов Windows

Я запускаю приложение ASP.NET 4.0 под IIS 7.5. Несколько раз в день наш пул приложений неожиданно перезагружается. Наш системный журнал показывает следующее событие, когда это происходит:

В процессе, обслуживающем пул приложений "X", произошла фатальная ошибка связи со службой активации процессов Windows. Идентификатор процесса был «5768». Поле данных содержит номер ошибки.

ИЛИ

Процесс, обслуживающий пул приложений «X», не ответил на запрос проверки связи. Идентификатор процесса был «1032».

Почти всегда в одно и то же время в журнале приложений есть соответствующее событие:

Faulting application name: w3wp.exe, version: 7.5.7600.16385, time stamp: 0x4a5bcd2b
Faulting module name: clr.dll, version: 4.0.30319.269, time stamp: 0x4ee9ae83
Exception code: 0xc00000fd
Fault offset: 0x00001916
Faulting process id: 0x508
Faulting application start time: 0x01cd4d8958ecf9ad
Faulting application path: C:\Windows\SysWOW64\inetsrv\w3wp.exe
Faulting module path: C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
Report Id: 8dcc413b-b98a-11e1-8075-001c23d6d910

Поэтому я установил Инструменты отладки IIS и настроил правило сбоя, указав «Определенный пул веб-приложений IIS», не записывая в журнал исключения первого шанса и ничего в разделе «Дополнительные настройки» (исключения, точки останова, события ).

Я также (одновременно )запускаю ADPlus из средств отладки Windows со следующей командной строкой:

adplus -crash -pn w3wp.exe -NoDumpOnFirst -o c:\logs

Однако с тех пор, как я подключил отладчики, я получил несколько сообщений «предупреждения» в системном журнале (, в том числе о «Процессе, обслуживающем пул приложений« X », произошла фатальная ошибка связи...» ), но я больше НЕ получаю соответствующее событие уровня ошибки в журнале приложений.

Единственное, что мне удалось получить, это следующее (их было около 50):

[6/18/2012 7:50:25 PM] Thread exited. Exiting thread system id - System ID: 3300. Exit code - 0x800703e9
[6/18/2012 7:50:25 PM] Thread exited. Exiting thread system id - System ID: 4992. Exit code - 0x800703e9
[6/18/2012 7:50:25 PM] Thread exited. Exiting thread system id - System ID: 5456. Exit code - 0x800703e9
[6/18/2012 7:50:25 PM] Thread exited. Exiting thread system id - System ID: 4924. Exit code - 0x800703e9

Код выхода 0x800703e9 указывает на переполнение стека где-то, что хорошо, потому что это должно быть легко исправить, как только я найду это.

Однако для того, чтобы это сделать,Мне нужно больше информации из моих аварийных дампов, чтобы я мог открыть их с помощью WinDbg и использовать команду «!clrstack», чтобы точно определить мою проблему.

Мой вопрос:У меня неправильно настроены инструменты отладки или я неправильно понимаю журналы событий? Кажется, что наш пул приложений перезапускается всякий раз, когда я вижу в системном журнале событие, касающееся «фатальной ошибки связи со службой активации процессов Windows», однако я не получаю никакой информации о аварийном дампе от средств отладки IIS или ADPlus, когда эти события происходят. И по какой-то причине, поскольку я подключил отладчики, я больше не получаю событий «Ошибка» в журнале приложений, которые соответствуют событиям предупреждения моего системного журнала. Не уверен, почему. Мне как-то нужно получить полный аварийный дамп с информацией о CLR, чтобы я мог понять, в чем моя проблема.

Единственное, что я могу упомянуть, это то, что служба отчетов об ошибках Windows не работает. Не уверен, нужно это или нет.

Спасибо за любую помощь.

19
задан Scott 20 June 2012 в 15:24
поделиться