IIS 7 AppPool logs an error after recycle due to inactivity


We have Windows 2008 RS Server running IIS hosting an ASP.NET site. This morning there was a weird sequence. First a notice that the AppPool was being recycled due to inactivity:

"A worker process with process id of '6896' serving application pool 'xxxx' was shutdown due to inactivity. Application Pool timeout configuration was set to 20 minutes. A new worker process will be started when needed."

This makes sense and jibes with out timeout settings, but 30 seconds later we see:

"A process serving application pool 'xxxx' terminated unexpectedly. The process id was '6896'. The process exit code was '0xc0000005'."

I found an older KB article that explains a condition where this might happend on IIS6 due to permission issues, but am curious what might cause this on IIS7.5, especially since we are not seeing it regularly.

asked on Server Fault Jan 19, 2012 by Derek Dysart

1 Answer


A similar thing to that article could be a cause.

The error message is basically "access denied" (anything ending in 05 is typically "no"), which suggests the process tried to do something when it was told to go away, and failed.


  • it's an idle worker process
  • which has been told to recycle and
  • is thus terminating anyway, and
  • a new worker process gets queued up before the old one is terminated (it won't actually be running at this point unless there's a pending request to the same pool; the HTTP.SYS queue gets re-set to WAS in the meantime)

...there should be minimal impact on the app (and zero on any users), unless it's trying to do something crazy on appdomain termination, or similar.

If it was doing it as the App Pool account (discussion of terms), which is really likely (given it's recycling because of no requests) that account presumably failed to read or write something somewhere. Nice and specific isn't it?

So, more information please:

  • Are you running the App Pool as a specific user account, or as an ApplicationPoolIdentity?

  • If a specific account, do you have manualGroupMembership=true

    • (and if so, is the user a member of IIS_IUSRS? If not using mGM=true, it doesn't need to be, the SID for IIS_IUSRS gets injected anyway)
answered on Server Fault Jan 19, 2012 by TristanK

User contributions licensed under CC BY-SA 3.0