система может «зависнуть». Как сообщили специалисты Microsoft, ошибка возникает в том случае, если вызовы локального RPC состоят из множества потоков и особенно если каждый поток имеет собственные параметры доступа с точки зрения безопасности. Существует два симптома RPC-сбоя. Во-первых, поскольку поток «зависает», HTTP-клиенты отсоединяются по тайм-ауту, когда происходит обращение к ASP, манипулирующим COM-объектами. Во-вторых, значения двух счетчиков производительности — Requests Executing и Requests Queued — непрерывно растут и никогда не возвращаются в нулевое значение, даже если Web-сервер простаивает. Описываемая ошибка присутствует в 11 исправлениях, вышедших уже после появления SP3 (post-SP3 Hotfixes), и, по некоторым данным, в недавно опубликованном Microsoft IIS Security Rollup «MS03-018: Patch Available for Denial of Service Through FTP Status Request Vulnerability» ( http://support.microsoft.com/?scid=317196). Если работа с COM-объектами проводится с помощью ASP-приложения, всякого рода неожиданности могут быть вызваны именно этой ошибкой.
Более того, ошибка остается и после установки любой из программ коррекции, указанных в статье Microsoft «FIX: RPC Bug Causes Threads to Stop Responding in ASP/COM+ Applications» (http://support.microsoft.com/?kbid=814119), и после установки программ коррекции безопасности, описанных в бюллетене Microsoft Security Bulletin MS03-010 (Print Flaw in RPC Endpoint Mapper Could Allow Denial of Service Attacks). Также, вероятнее всего, ничего не изменится и в бюллетене Security Bulletin MS03-018 (Cumulative Patch for Internet Information Service). Проблема может быть связана с процедурой формирования пакетов исправлений (например, в состав сборки позабыли включить последнюю версию RPC), поскольку дата выпуска библиотечного компонента RPC, с помощью которого корректируется описываемая проблема, предшествует аналогичной дате нескольких исправлений из сборки. Хотя нигде в документации не утверждается, что ошибка RPC присутствует в самой последней сборке IIS Security Rollup, известно, что она по сути своей интегральная, а поэтому тоже попадает под подозрение. Если при работе с ASP и COM-объектами администратор сталкивается с непонятными проблемами, ему может понадобиться новая версия RPC Runtime Library. В этом случае следует позвонить в Microsoft Product Support Services (PSS) и запросить RPC-исправление, rpcrt4.dll, с датой выпуска 3 февраля 2003 г. и номером версии 5.0.2195.6661.