Я разрабатываю веб-сайт на своей рабочей станции Windows Vista Ultimate (64-бит), используя IIS 7.0 локально для тестирования. Время от времени я получаю всплывающее окно с ошибкой "Рабочий процесс IIS прекратил работу и был закрыт". После этого я могу продолжать работать над сайтом, так что IIS, похоже, порождает новые рабочие процессы без каких-либо проблем.
Из журналов ошибок следует, что IIS завершает рабочий процесс после определенного периода бездействия, как и задумано. Пока все хорошо, но почему это вызывает ошибку?
Сайт размещен на локальном хосте порт 8008 и использует PHP (ISAPI) и модуль URL Rewrite, но в остальном настроен довольно просто. Соответствующие записи журнала ошибок приведены ниже в хронологическом порядке:
Системный журнал, 12:10:18 PM (Информация, Событие 5186, WAS):
Рабочий процесс с идентификатором процесса '6288', обслуживающий пул приложений 'SDL', был остановлен из-за бездействия. Конфигурация тайм-аута пула приложений установлена на 20 минут. Новый рабочий процесс будет запущен при необходимости.
Журнал приложения, 12:10:20 PM (Ошибка, Событие 1000, Ошибка приложения):
Ошибка приложения w3wp.exe, версия 7.0.6002.18005, временная метка 0x49e023cf, ошибка модуля ntdll.dll, версия 6.0.6002.18005, временная метка 0x49e03824, код исключения 0xc0000374, смещение ошибки 0x000ab0bf, идентификатор процесса 0x1890, время запуска приложения 0x01ca0255c7b92db0.
Системный журнал, 12:10:24 PM (Предупреждение, Событие 5009, WAS):
Процесс, обслуживающий пул приложений «SDL», неожиданно завершился. Идентификатор процесса — «6288». Код завершения процесса — «0xff».
решение1
Код ошибки в вашем журнале приложения (0xc0000374) — ошибка повреждения кучи. Вы можете отладить ее дальше с помощью аварийного дампа, но это довольно мучительно. Вы упомянули, что используете ISAPI DLL, поэтому я бы поискал обновленную версию этой DLL, которая специально поддерживает IIS7.