Назад | Перейти на главную страницу

Тайм-аут пула приложений IIS вызывает сбой в Vista

Я разрабатываю веб-сайт на своей рабочей станции Windows Vista Ultimate (64-разрядная версия), используя IIS 7.0 локально для тестирования. В случайное время я получаю всплывающее сообщение об ошибке «Рабочий процесс IIS перестал работать и был закрыт». После этого я могу продолжить работу над сайтом, поэтому кажется, что IIS без проблем порождает новые рабочие процессы.

Из журналов ошибок видно, что происходит то, что IIS завершает работу рабочего процесса после определенного периода бездействия, как это было задумано. Пока все хорошо, но почему это вызывает ошибку?

Сайт размещен на порту 8008 localhost и использует PHP (ISAPI) и модуль URL Rewrite, но в остальном настраивается довольно просто. Соответствующие записи в журнале ошибок следуют в хронологическом порядке:

Системный журнал, 12:10:18 (информация, событие 5186, WAS):

Рабочий процесс с идентификатором процесса «6288», обслуживающий пул приложений «SDL», был остановлен из-за бездействия. Конфигурация тайм-аута пула приложений была установлена ​​на 20 минут. При необходимости будет запущен новый рабочий процесс.

Журнал приложений, 12:10:20 (ошибка, событие 1000, ошибка приложения):

Сбойное приложение w3wp.exe, версия 7.0.6002.18005, отметка времени 0x49e023cf, неисправный модуль ntdll.dll, версия 6.0.6002.18005, отметка времени 0x49e03824, код исключения 0xc0000374, смещение ошибки 0x000ab0bf, идентификатор процесса 0x1890, время запуска приложения 0x01ca92db0.

Системный журнал, 12:10:24 (предупреждение, событие 5009, WAS):

Неожиданно завершился процесс, обслуживающий пул приложений "SDL". Идентификатор процесса был «6288». Код выхода процесса был «0xff».

Код ошибки в журнале приложения (0xc0000374) - это ошибка повреждения кучи. Вы можете отладить это дальше с помощью аварийного дампа, но это своего рода боль. Вы упомянули, что используете ISAPI DLL, поэтому я бы поискал обновленную версию этой DLL, которая специально поддерживает IIS7.