Access Violation Occurs in Akamai Filter (297260)



The information in this article applies to:

  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Datacenter Server
  • Microsoft Internet Information Services 5.0

This article was previously published under Q297260

SYMPTOMS

On an Akamai cluster that is under a heavy load and that experiences long latency times, you may experience an access violation (AV) in the Akamai filter.

CAUSE

This problem occurs because of a thread contention issue in the Microsoft Internet Information Services (IIS) Asynchronous Thread Queue (ATQ). The thread contention issue occurs when you use the combination of static HTM files and the Akamai SF_NOTIFY_SEND_RAW_DATA filter, and there are long latency times to the client.

The ATQ is a feature that is specific to IIS. When a new request comes into IIS, the request needs a thread to be processed. Because the creation of threads is an expensive operation in terms of time and CPU usage, IIS maintains a set of worker threads ready to handle incoming requests; IIS manages this pool of threads.

Under a heavy load, and when long Internet latency times are experienced, the ATQ timeout processing can cause many of the core IIS components to become blocked during a large Winsock send from the Akamai filter. Because of this, an access violation may occur.

NOTE: This issue may also occur with other SF_NOTIFY_SEND_RAW_DATA filters under the same circumstances.

RESOLUTION

A supported fix is now available from Microsoft, but it is only intended to correct the problem that is described in this article. Apply it only to computers that are experiencing this specific problem. This fix may receive additional testing. Therefore, if you are not severely affected by this problem, Microsoft recommends that you wait for the next Windows 2000 service pack that contains this hotfix.

To resolve this problem immediately, contact Microsoft Product Support Services to obtain the fix. For a complete list of Microsoft Product Support Services phone numbers and information about support costs, visit the following Microsoft Web site:NOTE: In special cases, charges that are ordinarily incurred for support calls may be canceled if a Microsoft Support Professional determines that a specific update will resolve your problem. The typical support costs will apply to additional support questions and issues that do not qualify for the specific update in question.

The English version of this fix should have the following file attributes or later:
   Date        Time    Version      Size    File name
   --------------------------------------------------
   04-May-2001  21:04  5.0.2195.3554  332,560  Asp.dll
   04-May-2001  21:04  5.0.2195.3554   13,584  Infoadmn.dll
   04-May-2001  21:04  5.0.2195.3554  245,520  Infocomm.dll
   04-May-2001  21:04  5.0.2195.3583   62,736  Isatq.dll
   04-May-2001  21:04  5.0.2195.3554    7,440  W3ctrs.dll

				

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.

MORE INFORMATION

The original IIS code handles timeout completions, including the call to the END_OF_REQUEST notification filters, on the same thread as that which owns the lock used to synchronize the ATQ context list. This lock is also used by many other functions.

This update changes IIS to post the timeout completion handling process to one of the pool threads instead of handling it while holding the lock. For additional information about how to install Windows 2000 and Windows 2000 hotfixes at the same time, click the article number below to view the article in the Microsoft Knowledge Base:

249149 Installing Microsoft Windows 2000 and Windows 2000 Hotfixes


Modification Type:MinorLast Reviewed:10/7/2005
Keywords:kbbug kbfix kbQFE kbWin2000PreSP3Fix kbWin2000sp3fix KB297260