October 13, 2010

IIS 7: Faulting module name: mscorwks.dll Faulting application name: w3wp.exe

We experienced w3wp process crash during our testing on staging environment, with following dump in the event log.

      Faulting application name: w3wp.exe, version: 7.5.7600.16385, time stamp: 0x4a5bd0eb
      Faulting module name: mscorwks.dll, version: 2.0.50727.4952, time stamp: 0x4bebe78c
      Exception code: 0xc0000005

Environment:
   IIS 7
   ASP.NET
  .NET 3.5
  Windows Server 2008, 64 bit
 

We had following three issues crashing the asp.net w3wp process:

1. Check whether the application pool's user has permissions  ( To detect, see this post )
2. Check whether enable 32-bit applications setting is true (Go to advance settings of the application pool)
 
3. Check whether your code is in infinite loop (we had ISAPI URL rewrite module going in long recursive for particular urls. For more details,see my other post)

Once these are in place, things went smoothly.

How did we find the issue earlier:
 
          All team testing on staging environment helped us in finding these issues sooner, making the production deployment much smoother. This particular team didn't have the safety net of tests, as technical practices that enable Agile is not followed during development. By that time I joined the team, it was too late to bring the technical practices to the team. So I had to request all team testing in staging environment covering major scenarios.

This exercise proved me once again that It's never too late to test, and get the quick feedback.
In any process, I found XP practice "Test Early, Test Often, Test Automated" is very essential in delivering quality software. That to me is the core of Agile practices. It enables the Agile.