4

Our server is running Windows Server 2003. We have updated the .Net version of our sites in IIS to use 4.0. At random times, 1-2 times per week since the change was made, the rapid-fail is triggered and the site is taken down with 503 Errors.

The Application Logs shows a series of Errors that kick the rapid-fail trigger. There are sets of two errors each, up to the rapid fail trigger of 10. The errors are:

1:27:21 AM
.NET Runtime 4.0 Error
EventType clr20r3, P1 w3wp.exe, P2 6.0.3790.3959, P3 45d6968e, P4 app_code.xqrjkjyl, P5 0.0.0.0, P6 51345a6b, P7 252, P8 0, P9 system.stackoverflowexception, P10 NIL.

1:27:11 AM
.NET Runtime
Application: w3wp.exe
Framework Version: v4.0.30319
Description: The process was terminated due to stack overflow.

Notice that the 4.0 error comes 10 seconds after the unnamed .Net error. I believe the unspecified .net version error is for the older 2.0 framework we have moved from.

In IIS6, the handlers are set to use 4.0. We have several application pools under the main site as well. web.config files for all of them specify 4.0 as the framework to use:

<compilation debug="false" targetFramework="4.0">
<assemblies>
<add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="System.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<!--<add assembly="System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>-->
</assemblies>
Community
  • 1
  • 1
superfreaker
  • 77
  • 10
  • Why the references to the 2.0 versions of `System.Security` and `System.Design`? – Joachim Isaksson Mar 05 '13 at 15:21
  • 1
    Do you have an idea of what is causing the stack overflow - are you able to isolate the code causing the problem and refactor? Im thinking perhaps some resource limits have changed from 2 to 4 and whatever is happening is hitting the lesser 4.0 limits. This is pure conjecture but might be worth looking at the code causing the problem and working backwards from there? – Luke Baughan Mar 05 '13 at 15:50
  • Thanks for the replies. I am not sure why the 2.0 versions of system.design and system.security are used. In regards to the lower 4.0 limits, the only think I can think of are items like maxrequest length for our file upload functionality, but that is in the metabase and I don't think related to this. Is there another place where the details for .net are configured? – superfreaker Mar 05 '13 at 20:51
  • You really need to figure out where in the code the exception is being caused. Try correlating the Event Log with the IIS log. – anon Mar 06 '13 at 04:03
  • You should also check the runtime of the apppool. It is independent of the framework version specified in the web.config. – Eric Falsken Mar 30 '13 at 06:04

1 Answers1

1

You can try get the dump from the IIS memory in the time that this problem occurs using iisstate(http://www.iisfaq.com/?View=P197) or iis debug diag (http://blogs.msdn.com/b/tess/archive/2008/05/21/debugdiag-1-1-or-windbg-which-one-should-i-use-and-how-do-i-gather-memory-dumps.aspx).

With the dump you can analyze it (Windbg) and get in the point where it is throwing this exception.

Also take a look at this Getting IIS Worker Process Crash dumps

Cheers

Community
  • 1
  • 1