This article has been archived. It is offered "as is" and will no longer be updated.
When you perform a background batch compile, the compile may cause the Aspnet_wp.exe process to deadlock if all the worker threads are used. When you set the process model to maxWorkerThreads = 20, and then when the number of running Aspnet_wp.exe threads also equals 20, all 20 worker threads wait for a ManualResetEvent to be signaled. A WaitCallback (BatchCompileDirectory) function that cannot run until there is a free thread signals the event. A free thread never occurs. Use all the threads in the thread pool, and then generate a situation that requires a batch compile to simulate this scenario.
You may see the following event logged in the Application log of the Event Viewer:
Event ID: 1003: Description: Aspnet_wp.exe (PID: <xxx>) was recycled because it was suspected to be in a deadlocked state. It did not send any responses for pending requests in the last 180 seconds.
When a background batch compile causes the deadlock, the worker threads return the following stack trace:
This issue is fixed in the June 2003 ASP.NET Hotfix Package 1.1. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
821156 INFO: ASP.NET 1.1 June 2003 Hotfix Rollup Package
You cannot obtain this fix individually. You must install the rollup.
Note When you request this hotfix, you receive the rollup.
The English version of this hotfix has the file attributes (or later) that are listed in the following table. The dates and times for these files are listed in coordinated universal time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time tool in Control Panel.