Поведение:
Приложение загружено и используется должным образом.Внезапно конкретная DLL больше не может быть загружена.Сообщение об ошибке:
Компонент ActiveX не может создать объект.
В каждом случае объект создавался успешно много раз до сбоя.Все объекты помечены как «сохранить в памяти».
Эта ошибка очищается при повторном использовании пула приложений.Может пройти несколько часов или месяцев, прежде чем его увидят снова.
Проблема произошла в течение двух часов после обновления, а также не произошла в течение нескольких месяцев безотказной работы.
Проблема произошла с сотнями пользователей одновременно (интенсивное использование), а также с 1-3 пользователями.
Во время возникновения проблемы процесс, выполняющий этот пул приложений, не может создать отказавший объект.Однако он может создавать любые другие объекты.Память, процессор и другие ресурсы остаются при нормальном использовании.Кроме того, другие процессы (такие как автономный exe-файл) могут успешно создавать объект.
Первый экземпляр проблемы появился в середине 2008 года. С тех пор было менее пятидесяти экземпляров,несмотря на пул сотен серверов для этого на.Все экземпляры, кроме одного, вышли из строя в одной и той же DLL.
Информация об ошибке DLL:
самая распространенная - общая структура данных, реализующая b-дерево, не имеет ссылок, кроме своего интерфейса.Код состоит из массивов и одного использования функциональности события vb6.Объект не менялся с 2005 года.
единовременно - взаимодействие с модулем .NET.ошибка возникает при попытке создать объект взаимодействия, а не объект .NET.Этот объект обновляется несколько раз в год.
Среда приложения:
Приложение, размещенное на IIS
VB6, классический ASP, некоторое взаимодействие с второстепенными компонентами .NET
Windows Server 2003 / Windows Server 2008 (у обоих были проблемы независимо)
Попытки воспроизвести:
Использование сценариев (и реальных людей) для выполнения одного и того же конца-пользовательские рабочие процессы, о которых наши журналы сообщали за несколько дней до возникновения проблемы.
Использование сценариев для максимально быстрого создания / уничтожения подозрительных объектов из нескольких одновременных сеансов.
Дикие предположения.Нет преднамеренного успеха, но он проявляется случайным образом на серверах сам по себе.
Устранение неполадок:
Проверка кода
Проверка использования для исследования верхних пределов создания / уничтожения объекта
Проверка возможности создания объекта вне процесса, в котором возникла проблема
Мониторинг ресурсов с течением времени на серверах под нагрузкой
Просмотр журналов IIS, ошибок и событий для определения событий, приведших к проблеме
Вопросы:
Любые идеи о том, как воспроизвести проблему?
Что может вызвать такое поведение?
Идеи для обхода первых двух вопросов в пользу быстрого решения