I have an app pool that recycles every 29 hours, per default. It recycles smoothly 9 times out of 10, and I'm pretty sure the recycle itself is good for the app. Once every couple weeks the recycle does not work. The old worker process dies cleanly and the new worker process starts, but will not serve up content. Recycling the app pool again manually works like a charm. The failed worker process stops and dies cleanly and a second new worker process fires up and serves content perfectly.

I took a crash dump against the failed worker process prior to recycling it, and DebugDiag found nothing to complain about. I tried to dig a little deeper using WinDBG, but mscorsvr/mscorwks is not loaded yet 15 minutes after the new process started. There are 14 threads running (4 async) and 20 pending client connections, but .NET is not even loaded into the process yet.

Any suggestions where to poke and prod to find a root cause on this?

  • Anything in the httperf.log?
    – Jeff Costa
    Aug 5, 2009 at 15:19
  • Timer_ConnectionIdle the usual number of times. Everything else is quiet. Then there's a couple connection-droppeds, probably about the time I restarted the app pool.
    – codepoke
    Aug 5, 2009 at 17:24

1 Answer 1


Hmmm. A little over a year later, I believe this turned out to be an ISAPI filter load problem. If my memory's correct, one procedure is to fire up ProcMon before the App Pool recycle and see what caused the ISAPI load to fail.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.