viisual.net




Using DebugDiag to Troubleshoot the C0000005 AVs in IIS6

If you’re seeing these type of events…

 

 

 

 

 

 

To get to the root cause of this we need to collect memory dumps triggered at the moment the c0000005 access violation is thrown.

 

Install Debugdiag v 1.1 on the server(s) seeing the c0000005  from http://www.microsoft.com/DOWNLOADS/details.aspx?FamilyID=28bd5941-c458-46f1-b24d-f60151d875a3&displaylang=en

 

Begin by creating a Crash rule.

 

 

 

If you’re not sure which application pool to select, just select All IIS/COM+ related processes. . .

 

 

 

Click the Exceptions button . . .

 

 

 

 

 

Click Add Exception. . .

 

 

 

Select the c0000005 – Access Violation from the left pane.

Change Action type to “full userdump”

Change Action limit to 2 or 3.

 

 

 

Click OK and then Save and close.

 

 

 

 

 

 

 

 

 

Activate the rule

 

 

 

Wait for the next c0000005 to occur.  Userdump count should increase to 1 or 2 or 3.

 

 

 

 

 

Switch to the Advanced Analysis tab, highlight Crash/Hang Analyzers, and select Add Data Files. . .

 

 

 

 

Go find the dump that was created. . .

 

 

 

 

Click the START ANALYSIS button

 

 

 

Send the report to your asp developers.

 

 

***We may not need to do the following****

 

If the debugdiag advanced analysis report shows anything about gflags needing to be set or heap corruption occurring, we may need to remove the debugdiag rule and start with a different rule.

 

 

 

 

 

This time choose a specific process. . .

 

 

 

Find the w3wp.exe that we need to focus on.  (Use iisapp.vbs if needed.  Also try scrolling to the far right to see the Application Pool name.)

 

 

 

Select the PageHeap Flags button. . .

 

 

 

Enable full Pageheap. . .

 

 

 

Click YES to the warning if you’re willing to run a risk of unpredictable behavior.

 

 

Sometimes enabling full pageheap causes the problem to go away entirely.  Sometimes it makes the IIS process instable and uncontrollable.  There is a risk.

 

Click the Exceptions button and add our c0000005 exception again, full userdump, action limit at 2 or 3.

 

 

Wait for the new dump.

 

In the meantime, consider having the developers of the web application consider using Application Verifier.  http://www.bing.com/search?q=application+verifier

It can be a great tool for developing applications and catching various problems before the applications are published into the production environment.

 

 

 Additional keywords:

 

ASP event 5 - unexpected error.  A trappable error c0000005 occurred in an external object the script cannot continue running.

ASP event 5 script engine exception c0000005 ScriptDispatchEx::Release from CscriptingNamespace::UnInit

W3svc-wp 2262 isapi asp.dll reported itself as unhealthy for the following reason asp unhealthy because 97% of executing requests are hung and 32% of the request queue is full.