<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx</link><description>Problems statements similar to the following questions pop up all the time on various IIS newsgroups, and the user usually claims that they have either seen (or not seen) many posts that look like theirs, and never any concrete solutions. I am going to</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#457928</link><pubDate>Tue, 30 Aug 2005 14:40:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:457928</guid><dc:creator>Ian Cox</dc:creator><description>Great post David. I am one of those whose problems you quoted at the start. Everything you say here makes a lot of sense.</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#472772</link><pubDate>Thu, 22 Sep 2005 16:33:24 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:472772</guid><dc:creator>Oliver Ogg</dc:creator><description>Thanks for a well written and informative post.</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#500180</link><pubDate>Mon, 05 Dec 2005 21:52:34 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:500180</guid><dc:creator>David Wang</dc:creator><description>I had gotten a comment about this blog entry:&lt;br&gt;&lt;br&gt;Hi there, just read your blog here:&lt;br&gt;&lt;br&gt;&lt;a rel="nofollow" target="_new" href="http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO_Understand_and_Diagnose_an_AppPool_Crash.aspx"&gt;http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO_Understand_and_Diagnose_an_AppPool_Crash.aspx&lt;/a&gt;&lt;br&gt;&lt;br&gt;Would you say that this following error would fit into this category of a &amp;quot;crash&amp;quot; and your diagnosis techniques in this blog would be recommended?  The worker process seems to restart, but I am consistently getting this crash.  The primary software appliation I am running is called ACT, using a web front-end known as WiredContact.&lt;br&gt;&lt;br&gt;ERROR MESSAGE:&lt;br&gt;&lt;br&gt;Faulting application w3wp.exe, version 6.0.3790.1830, faulting module mfc42.dll, version 6.6.8063.0, fault address 0x00022659.&lt;br&gt;&lt;br&gt;--&amp;gt; Yes, this exactly matches one of the patterns I gave for what a &amp;quot;crash&amp;quot; would look like on IIS6.&lt;br&gt;&lt;br&gt;If you attach a debugger onto the w3wp.exe or use a tool like IIS State or DebugDiag it will immediately identify the code that is actually crashing when it happens, so you can start looking for support from the correct party.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#501890</link><pubDate>Fri, 09 Dec 2005 05:40:07 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:501890</guid><dc:creator>Kirk Francis</dc:creator><description>Well done David, this information was well thought out and quite helpful to me. Like others, I've looked for a direct resolution to an Event Log message to no avail. Things are better with IIS 6.0 no doubt, but with that come the complexities of arriving at a root cause.</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#510086</link><pubDate>Fri, 06 Jan 2006 18:52:50 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:510086</guid><dc:creator>Randy</dc:creator><description>Well done David!!  Hopefully DebugDiag will be a final release.. but until then I have found another helpful article which talks about running the debug symbols and what not&lt;br&gt;&lt;br&gt;&lt;a rel="nofollow" target="_new" href="http://support.microsoft.com/kb/911359/EN-US/"&gt;http://support.microsoft.com/kb/911359/EN-US/&lt;/a&gt;&lt;br&gt;&lt;br&gt;Keep up the good work.. now about the IIS 7.0 Beta ;)&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#530949</link><pubDate>Mon, 13 Feb 2006 17:39:10 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:530949</guid><dc:creator>David.Wang</dc:creator><description>Woohoo... my second 10K+ blog entry...&lt;br&gt;&lt;br&gt;You all seem to like howto diagnosis entries. :-)&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#543333</link><pubDate>Sat, 04 Mar 2006 03:09:45 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:543333</guid><dc:creator>Peter Stathakos</dc:creator><description>Hi David,&lt;br&gt;&lt;br&gt;Thanks for the information, I will try attaching the IIS debug tools and see if it helps to diagnose my issue.</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#546533</link><pubDate>Thu, 09 Mar 2006 00:43:10 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:546533</guid><dc:creator>Ahmed El-Rasheedy</dc:creator><description>Hi David,&lt;br&gt;We are running JRun/ColdFusion Multi-Server Cluster (clustered using the Application server) on several Win 2003 machines. The machines that are having the error are running Windows 2003 SP1 while a third machine which does not have the Windows SP1 is not having the error. Here are the symptoms:&lt;br&gt;Users get &amp;quot;Service Unavailable&amp;quot; in their browser and we see the following error and warnings in the EventViewer.&lt;br&gt;&lt;br&gt;Event Type:	Warning&lt;br&gt;Event Source:	W3SVC&lt;br&gt;Event Category:	None&lt;br&gt;Event ID:	1011&lt;br&gt;Date:		3/7/2006&lt;br&gt;Time:		7:21:55 PM&lt;br&gt;User:		N/A&lt;br&gt;Computer:	SLIOBTWEB2&lt;br&gt;Description:&lt;br&gt;A process serving application pool 'DefaultAppPool' suffered a fatal communication error with the World Wide Web Publishing Service. The process id was '5844'. The data field contains the error number. &lt;br&gt;&lt;br&gt;For more information, see Help and Support Center at &lt;a rel="nofollow" target="_new" href="http://go.microsoft.com/fwlink/events.asp"&gt;http://go.microsoft.com/fwlink/events.asp&lt;/a&gt;.&lt;br&gt;Data:&lt;br&gt;0000: 6d 00 07 80 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; m..? &amp;nbsp; &amp;nbsp;&lt;br&gt;&lt;br&gt;Then after 5 warning message as above we get the below error. I found the number five in the IIS Application Pool (it is a setting to shut down w3wp.exe after 5 errors in f5 minutes)&lt;br&gt;Event Type:	Error&lt;br&gt;Event Source:	W3SVC&lt;br&gt;Event Category:	None&lt;br&gt;Event ID:	1002&lt;br&gt;Date:		3/7/2006&lt;br&gt;Time:		7:22:03 PM&lt;br&gt;User:		N/A&lt;br&gt;Computer:	SLIOBTWEB2&lt;br&gt;Description:&lt;br&gt;Application pool 'DefaultAppPool' is being automatically disabled due to a series of failures in the process(es) serving that application pool.&lt;br&gt;&lt;br&gt;For more information, see Help and Support Center at &lt;a rel="nofollow" target="_new" href="http://go.microsoft.com/fwlink/events.asp"&gt;http://go.microsoft.com/fwlink/events.asp&lt;/a&gt;.&lt;br&gt;&lt;br&gt;I captured a debug dump and I am not sure what to do with it or who should I submit it to. Can you please let me know.&lt;br&gt;thanks,</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#546559</link><pubDate>Thu, 09 Mar 2006 01:07:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:546559</guid><dc:creator>David.Wang</dc:creator><description>Ahmed - as I mentioned in the blog entry:&lt;br&gt;you want to either analyze the stack trace log yourself, pay someone to perform an analysis (for example, Microsoft PSS) or post to a newsgroup like microsoft.publit.inetserver.iis to see if anyone will do a free analysis.&lt;br&gt;&lt;br&gt;You have a classic &amp;quot;something is crashing in the application pool&amp;quot; and if you captured the stack trace of the crash (and not before/after the crash), you should be able to see in DebugDiag logfile what is at fault and who to follow up with.&lt;br&gt;&lt;br&gt;At this point, you only know that on WS03SP1 machines the issue can happen, but you do not know whether it is SP1 or some application's reaction to SP1 that is at fault. The stack trace of the crash helps identify which situation.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>HOWTO: Basics of IIS6 Troubleshooting</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#551532</link><pubDate>Wed, 15 Mar 2006 00:35:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:551532</guid><dc:creator>David Wang</dc:creator><description>I recently sat down and thought a little about the typical user experience when troubleshooting IIS6,...</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#555538</link><pubDate>Mon, 20 Mar 2006 17:58:47 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:555538</guid><dc:creator>Sudeep</dc:creator><description>Hi David Please help me by telling how to proceed with my problem. I know why my IIS is crashing but i dont know how to fix it. Whenever i try to access a custom ISAPI dll from the browser, IIS is crashing, worker process identity is network service, IIS does not crash if i use local system account. Obviously it is an access violation problem. I am trying to give more access rights to network service rather than using local system account but with no success. I dont want my worker process identity to be local system account. Could u guide me how to go about giving only the required access to network service. Any help from anyone is appreciated. Thank you.&lt;br&gt;</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#558799</link><pubDate>Thu, 23 Mar 2006 13:39:26 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:558799</guid><dc:creator>Sudeep</dc:creator><description>does anyone how to debug com dlls in vb environment for IIS 6 , windows server 2003? it is unlike 2000 where we unregister dll and run the project and put a breakpoint and can go ahead debugging. i could not find anywhere the architecture of how this is happening also...</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#559947</link><pubDate>Fri, 24 Mar 2006 17:51:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:559947</guid><dc:creator>Chris Vandecaveye</dc:creator><description>Hi David,&lt;br&gt;Of course your article makes sense. Your article describes how I would normally handle a crash (or hang). But now I'm in a situation where I cannot apply this procedure. What is happening?&lt;br&gt;We have an ASP.NET (1.1) application. We use a pool of 8 w3wp's in IIS 6.0. Clients are using ie 5.5 to connect to the application. Every now and then, we cannot connect to the application anymore from certain clients while other clients are still working. Even more, starting the application on the webserver works fine, starting the same application on another server in that domain works fine. The clients do not get any message (blank white screen). There are no events in the eventlog. IIS is still working because we can still connect to other applications on the same webserver. We added a lot of debugcode in our application, but we don't even reach the first line of code! So, the error must be situated between the incomming request and our application.&lt;br&gt;I would greatly appreciate some help here, and yes we already placed a call at Microsoft without any result until now. &lt;br&gt;I find it more important to get some suggestions on how to debug/monitor this issue, rather than have the solution without me nowing what I am doing.&lt;br&gt;Thanks in advance!</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#559950</link><pubDate>Fri, 24 Mar 2006 17:53:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:559950</guid><dc:creator>Chris Vandecaveye</dc:creator><description>Hi David,&lt;br&gt;Of course your article makes sense. Your article describes how I would normally handle a crash (or hang). But now I'm in a situation where I cannot apply this procedure. What is happening?&lt;br&gt;We have an ASP.NET (1.1) application. We use a pool of 8 w3wp's in IIS 6.0. Clients are using ie 5.5 to connect to the application. Every now and then, we cannot connect to the application anymore from certain clients while other clients are still working. Even more, starting the application on the webserver works fine, starting the same application on another server in that domain works fine. The clients do not get any message (blank white screen). There are no events in the eventlog. IIS is still working because we can still connect to other applications on the same webserver. We added a lot of debugcode in our application, but we don't even reach the first line of code! So, the error must be situated between the incomming request and our application.&lt;br&gt;I would greatly appreciate some help here, and yes we already placed a call at Microsoft without any result until now. &lt;br&gt;I find it more important to get some suggestions on how to debug/monitor this issue, rather than have the solution without me nowing what I am doing.&lt;br&gt;Thanks in advance!</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#560245</link><pubDate>Fri, 24 Mar 2006 22:30:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:560245</guid><dc:creator>David.Wang</dc:creator><description>Chris - I would look at HTTPERR logs for the affected client's IP to see if the request from the affected client even got to the web server machine, HTTP.SYS, and IIS6.&lt;br&gt;&lt;br&gt;&lt;a rel="nofollow" target="_new" href="http://blogs.msdn.com/david.wang/archive/2005/12/31/HOWTO_Basics_of_IIS6_Troubleshooting.aspx"&gt;http://blogs.msdn.com/david.wang/archive/2005/12/31/HOWTO_Basics_of_IIS6_Troubleshooting.aspx&lt;/a&gt;&lt;br&gt;&lt;br&gt;If the request got to the web server and HTTP.SYS did not report it dropped in HTTPERR logs, then we need to isolate which w3wp.exe is having issues with it. You are using a pool of 8 w3wp.exe which makes it impossible to track down which w3wp.exe is handling the failing request (HTTP.SYS round-robins requests by connection when using Web Garden).&lt;br&gt;&lt;br&gt;You can either attach debugging tools to all w3wp and hope for something to happen that you can identify with the debugger, or make the Application Pool use only one w3wp.exe.&lt;br&gt;&lt;br&gt;Using one w3wp.exe will affect availability since other applications using the same Application Pool will also be out-of-commission, so please adjust debugging accordingly.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#561909</link><pubDate>Mon, 27 Mar 2006 16:42:19 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:561909</guid><dc:creator>Chris Vandecaveye</dc:creator><description>Thanks for your reply David.&lt;br&gt;I will suggest using a second server for availability purpose so we can use one w3wp.exe instead of the pool of 8.&lt;br&gt;Some thing I do notice but i do not have the knowledge to interprete it or pinpoint the problem.&lt;br&gt;- In the http log I see a lot of 'Timer_ConnectionIdle' and sometimes 'Connection_Dropped' but the application is still working. Is this normal? I will pay special attention to these logs in case of connection problems.&lt;br&gt;- The use of virtual memory for each w3wpc.exe is high +/- 400MB but stable, while the available physical memory continues to drop from +/- 700MB available to 5MB available. When physical memory is at 5MB available, it goes back to 700MB available.</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#562867</link><pubDate>Tue, 28 Mar 2006 13:06:16 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:562867</guid><dc:creator>David.Wang</dc:creator><description>Chris - Explanation of HTTPERR Log entries:&lt;br&gt;&lt;a rel="nofollow" target="_new" href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/http/http/types_of_errors_logged_by_the_http_server_api.asp"&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/http/http/types_of_errors_logged_by_the_http_server_api.asp&lt;/a&gt;&lt;br&gt;&lt;br&gt;Sounds like some sort of process recycling is kicking in to free up available physical memory.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#562951</link><pubDate>Tue, 28 Mar 2006 15:43:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:562951</guid><dc:creator>Sudeep</dc:creator><description>does anyone how to debug com dlls in vb environment for IIS 6 , windows server 2003? it is unlike 2000 where we unregister dll and run the project and put a breakpoint and can go ahead debugging.... am i missing something?</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#562967</link><pubDate>Tue, 28 Mar 2006 15:56:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:562967</guid><dc:creator>Sudeep</dc:creator><description>I moved asp website from 2000 to 2003, and my iis server was crashing, upon using debug diagnostics tool, it says &amp;quot;first chance exception which is Visual Basic Runtime exception with VB Error #: &amp;nbsp; 53 ....&lt;br&gt; Also ntdll.dll is crashing... can anyone tell me why this is happening or how to debug vb dll in 2003 as this exception does not occur on a 2000 machine?&lt;br&gt;&lt;br&gt;here is the stack trace for your perusal............ this is when ntdll.dll crashed due to access violation.......&lt;br&gt;&lt;br&gt;Entry point &amp;nbsp; w3tp!THREAD_MANAGER::ThreadManagerThread &lt;br&gt;Create time &amp;nbsp; 3/22/2006 1:45:14 PM &lt;br&gt;Time spent in user mode &amp;nbsp; 0 Days 0:0:1.656 &lt;br&gt;Time spent in kernel mode &amp;nbsp; 0 Days 0:0:0.62 &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Function &amp;nbsp; &amp;nbsp; Arg 1 &amp;nbsp; &amp;nbsp; Arg 2 &amp;nbsp; &amp;nbsp; Arg 3 &amp;nbsp; Source &lt;br&gt;ntdll!RtlpLocateActivationContextSection+c &amp;nbsp; &amp;nbsp; 00070000 &amp;nbsp; &amp;nbsp; 00000000 &amp;nbsp; &amp;nbsp; 00000002 &amp;nbsp; &amp;nbsp;&lt;br&gt;ntdll!RtlpFindNextActivationContextSection+64 &amp;nbsp; &amp;nbsp; 00d3308c &amp;nbsp; &amp;nbsp; 00d330c4 &amp;nbsp; &amp;nbsp; 00d330b0 &amp;nbsp; &amp;nbsp;&lt;br&gt;ntdll!RtlpFindFirstActivationContextSection+41 &amp;nbsp; &amp;nbsp; 00d3308c &amp;nbsp; &amp;nbsp; 00d330c4 &amp;nbsp; &amp;nbsp; 00d330b0 &amp;nbsp; &amp;nbsp;&lt;br&gt;ntdll!RtlFindActivationContextSectionString+91 &amp;nbsp; &amp;nbsp; 00000000 &amp;nbsp; &amp;nbsp; 00000000 &amp;nbsp; &amp;nbsp; 00000002 &amp;nbsp; &amp;nbsp;&lt;br&gt;ntdll!LdrpCheckForLoadedDll+f7 &amp;nbsp; &amp;nbsp; 000a8990 &amp;nbsp; &amp;nbsp; 00d33208 &amp;nbsp; &amp;nbsp; 00000000 &amp;nbsp; &amp;nbsp;&lt;br&gt;ntdll!LdrpLoadDll+1b3 &amp;nbsp; &amp;nbsp; 00000000 &amp;nbsp; &amp;nbsp; 000a8990 &amp;nbsp; &amp;nbsp; 00d33724 &amp;nbsp; &amp;nbsp;&lt;br&gt;ntdll!LdrLoadDll+198 &amp;nbsp; &amp;nbsp; 000a8990 &amp;nbsp; &amp;nbsp; 00d33724 &amp;nbsp; &amp;nbsp; 00d33704 &amp;nbsp; &amp;nbsp;&lt;br&gt;kernel32!LoadLibraryExW+1b2 &amp;nbsp; &amp;nbsp; 7ffd5c00 &amp;nbsp; &amp;nbsp; 00000000 &amp;nbsp; &amp;nbsp; 00000000 &amp;nbsp; &amp;nbsp;&lt;br&gt;kernel32!LoadLibraryExA+1f &amp;nbsp; &amp;nbsp; 01b03118 &amp;nbsp; &amp;nbsp; 00000000 &amp;nbsp; &amp;nbsp; 00000000 &amp;nbsp; &amp;nbsp;&lt;br&gt;kernel32!LoadLibraryA+b5 &amp;nbsp; &amp;nbsp; 01b03118 &amp;nbsp; &amp;nbsp; 00d33c88 &amp;nbsp; &amp;nbsp; 00d33794 &amp;nbsp; &amp;nbsp;&lt;br&gt;RtCppUtils!ImgHelp::ImgHelp+6f &amp;nbsp; &amp;nbsp; 01a3a5d0 &amp;nbsp; &amp;nbsp; 00000000 &amp;nbsp; &amp;nbsp; 00000000 &amp;nbsp; &amp;nbsp;&lt;br&gt;RtCppUtils!RTCppLog::RTCppLog+f0 &amp;nbsp; &amp;nbsp; c0000005 &amp;nbsp; &amp;nbsp; 00d33cd0 &amp;nbsp; &amp;nbsp; e06d7363 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!_CallSETranslator+97 &amp;nbsp; &amp;nbsp; 00d33eec &amp;nbsp; &amp;nbsp; 00d342e0 &amp;nbsp; &amp;nbsp; 00d33f08 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!__CxxExceptionFilter+1d1 &amp;nbsp; &amp;nbsp; 00d33eec &amp;nbsp; &amp;nbsp; 00d342e0 &amp;nbsp; &amp;nbsp; 00d33f08 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!__CxxExceptionFilter+58f &amp;nbsp; &amp;nbsp; 00d33eec &amp;nbsp; &amp;nbsp; 00d342e0 &amp;nbsp; &amp;nbsp; 00d33f08 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!__InternalCxxFrameHandler+b2 &amp;nbsp; &amp;nbsp; 00d33eec &amp;nbsp; &amp;nbsp; 00d342e0 &amp;nbsp; &amp;nbsp; 00d33f08 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!__CxxFrameHandler+28 &amp;nbsp; &amp;nbsp; 00d33eec &amp;nbsp; &amp;nbsp; 00d342e0 &amp;nbsp; &amp;nbsp; 00d33f08 &amp;nbsp; &amp;nbsp;&lt;br&gt;ntdll!ExecuteHandler2+26 &amp;nbsp; &amp;nbsp; 00d33eec &amp;nbsp; &amp;nbsp; 00d342e0 &amp;nbsp; &amp;nbsp; 00d33f08 &amp;nbsp; &amp;nbsp;&lt;br&gt;ntdll!ExecuteHandler+24 &amp;nbsp; &amp;nbsp; 00d33000 &amp;nbsp; &amp;nbsp; 00d33f08 &amp;nbsp; &amp;nbsp; 00d33eec &amp;nbsp; &amp;nbsp;&lt;br&gt;ntdll!KiUserExceptionDispatcher+e &amp;nbsp; &amp;nbsp; 00d33000 &amp;nbsp; &amp;nbsp; 00d33f08 &amp;nbsp; &amp;nbsp; 00d33eec &amp;nbsp; &amp;nbsp;&lt;br&gt;ntdll!RtlEnterCriticalSection+19 &amp;nbsp; &amp;nbsp; 00000020 &amp;nbsp; &amp;nbsp; 00d34228 &amp;nbsp; &amp;nbsp; 77bd1d69 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!_lock_file+33 &amp;nbsp; &amp;nbsp; 00000000 &amp;nbsp; &amp;nbsp; 01a3a5d0 &amp;nbsp; &amp;nbsp; 00d34acc &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!fprintf+18 &amp;nbsp; &amp;nbsp; 00000000 &amp;nbsp; &amp;nbsp; 01b010c8 &amp;nbsp; &amp;nbsp; 01621d69 &amp;nbsp; &amp;nbsp;&lt;br&gt;RtCppUtils!RTBaseLog::logMessage+17e &amp;nbsp; &amp;nbsp; 00d34420 &amp;nbsp; &amp;nbsp; 00d3438c &amp;nbsp; &amp;nbsp; 00250168 &amp;nbsp; &amp;nbsp;&lt;br&gt;RtCppUtils!RTCppLog::log+dd &amp;nbsp; &amp;nbsp; 00000001 &amp;nbsp; &amp;nbsp; 00d34420 &amp;nbsp; &amp;nbsp; 00d34788 &amp;nbsp; &amp;nbsp;&lt;br&gt;RtCppUtils!RTCppLogPtr::log+1e &amp;nbsp; &amp;nbsp; 00000001 &amp;nbsp; &amp;nbsp; 00d34420 &amp;nbsp; &amp;nbsp; 01a3a5d0 &amp;nbsp; &amp;nbsp;&lt;br&gt;RtCppUtils!RTCppLog::RTCppLog+1f1 &amp;nbsp; &amp;nbsp; c0000005 &amp;nbsp; &amp;nbsp; 00d348b0 &amp;nbsp; &amp;nbsp; e06d7363 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!_CallSETranslator+97 &amp;nbsp; &amp;nbsp; 00d34acc &amp;nbsp; &amp;nbsp; 00d34ec0 &amp;nbsp; &amp;nbsp; 00d34ae8 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!__CxxExceptionFilter+1d1 &amp;nbsp; &amp;nbsp; 00d34acc &amp;nbsp; &amp;nbsp; 00d34ec0 &amp;nbsp; &amp;nbsp; 00d34ae8 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!__CxxExceptionFilter+58f &amp;nbsp; &amp;nbsp; 00d34acc &amp;nbsp; &amp;nbsp; 00d34ec0 &amp;nbsp; &amp;nbsp; 00d34ae8 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!__InternalCxxFrameHandler+b2 &amp;nbsp; &amp;nbsp; 00d34acc &amp;nbsp; &amp;nbsp; 00d34ec0 &amp;nbsp; &amp;nbsp; 00d34ae8 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!__CxxFrameHandler+28 &amp;nbsp; &amp;nbsp; 00d34acc &amp;nbsp; &amp;nbsp; 00d34ec0 &amp;nbsp; &amp;nbsp; 00d34ae8 &amp;nbsp; &amp;nbsp;&lt;br&gt;ntdll!ExecuteHandler2+26 &amp;nbsp; &amp;nbsp; 00d34acc &amp;nbsp; &amp;nbsp; 00d34ec0 &amp;nbsp; &amp;nbsp; 00d34ae8 &amp;nbsp; &amp;nbsp;&lt;br&gt;ntdll!ExecuteHandler+24 &amp;nbsp; &amp;nbsp; 00d34000 &amp;nbsp; &amp;nbsp; 00d34ae8 &amp;nbsp; &amp;nbsp; 00d34acc &amp;nbsp; &amp;nbsp;&lt;br&gt;ntdll!KiUserExceptionDispatcher+e &amp;nbsp; &amp;nbsp; 00d34000 &amp;nbsp; &amp;nbsp; 00d34ae8 &amp;nbsp; &amp;nbsp; 00d34acc &amp;nbsp; &amp;nbsp;&lt;br&gt;ntdll!RtlEnterCriticalSection+19 &amp;nbsp; &amp;nbsp; 00000020 &amp;nbsp; &amp;nbsp; 00d34e08 &amp;nbsp; &amp;nbsp; 77bd1d69 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!_lock_file+33 &amp;nbsp; &amp;nbsp; 00000000 &amp;nbsp; &amp;nbsp; 01a3a5d0 &amp;nbsp; &amp;nbsp; 00d356ac &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!fprintf+18 &amp;nbsp; &amp;nbsp; 00000000 &amp;nbsp; &amp;nbsp; 01b010c8 &amp;nbsp; &amp;nbsp; 01621ad9 &amp;nbsp; &amp;nbsp;&lt;br&gt;RtCppUtils!RTBaseLog::logMessage+17e &amp;nbsp; &amp;nbsp; 00d35000 &amp;nbsp; &amp;nbsp; 00d34f6c &amp;nbsp; &amp;nbsp; 00250164 &amp;nbsp; &amp;nbsp;&lt;br&gt;RtCppUtils!RTCppLog::log+dd &amp;nbsp; &amp;nbsp; 00000001 &amp;nbsp; &amp;nbsp; 00d35000 &amp;nbsp; &amp;nbsp; 00d35368 &amp;nbsp; &amp;nbsp;&lt;br&gt;RtCppUtils!RTCppLogPtr::log+1e &amp;nbsp; &amp;nbsp; 00000001 &amp;nbsp; &amp;nbsp; 00d35000 &amp;nbsp; &amp;nbsp; 01a3a5d0 &amp;nbsp; &amp;nbsp;&lt;br&gt;RtCppUtils!RTCppLog::RTCppLog+1f1 &amp;nbsp; &amp;nbsp; c0000005 &amp;nbsp; &amp;nbsp; 00d35490 &amp;nbsp; &amp;nbsp; e06d7363 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!_CallSETranslator+97 &amp;nbsp; &amp;nbsp; 00d356ac &amp;nbsp; &amp;nbsp; 00d35aa0 &amp;nbsp; &amp;nbsp; 00d356c8 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!__CxxExceptionFilter+1d1 &amp;nbsp; &amp;nbsp; 00d356ac &amp;nbsp; &amp;nbsp; 00d35aa0 &amp;nbsp; &amp;nbsp; 00d356c8 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!__CxxExceptionFilter+58f &amp;nbsp; &amp;nbsp; 00d356ac &amp;nbsp; &amp;nbsp; 00d35aa0 &amp;nbsp; &amp;nbsp; 00d356c8 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!__InternalCxxFrameHandler+b2 &amp;nbsp; &amp;nbsp; 00d356ac &amp;nbsp; &amp;nbsp; 00d35aa0 &amp;nbsp; &amp;nbsp; 00d356c8 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!__CxxFrameHandler+28 &amp;nbsp; &amp;nbsp; 00d356ac &amp;nbsp; &amp;nbsp; 00d35aa0 &amp;nbsp; &amp;nbsp; 00d356c8 &amp;nbsp; &amp;nbsp;&lt;br&gt;ntdll!ExecuteHandler2+26 &amp;nbsp; &amp;nbsp; 00d356ac &amp;nbsp; &amp;nbsp; 00d35aa0 &amp;nbsp; &amp;nbsp; 00d356c8 &amp;nbsp; &amp;nbsp;&lt;br&gt;ntdll!ExecuteHandler+24 &amp;nbsp; &amp;nbsp; 00d34000 &amp;nbsp; &amp;nbsp; 00d356c8 &amp;nbsp; &amp;nbsp; 00d356ac &amp;nbsp; &amp;nbsp;&lt;br&gt;ntdll!KiUserExceptionDispatcher+e &amp;nbsp; &amp;nbsp; 00d34000 &amp;nbsp; &amp;nbsp; 00d356c8 &amp;nbsp; &amp;nbsp; 00d356ac &amp;nbsp; &amp;nbsp;&lt;br&gt;ntdll!RtlEnterCriticalSection+19 &amp;nbsp; &amp;nbsp; 00000020 &amp;nbsp; &amp;nbsp; 00d359e8 &amp;nbsp; &amp;nbsp; 77bd1d69 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!_lock_file+33 &amp;nbsp; &amp;nbsp; 00000000 &amp;nbsp; &amp;nbsp; 01a3a5d0 &amp;nbsp; &amp;nbsp; 00d3628c &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!fprintf+18 &amp;nbsp; &amp;nbsp; 00000000 &amp;nbsp; &amp;nbsp; 01b010c8 &amp;nbsp; &amp;nbsp; 01621849 &amp;nbsp; &amp;nbsp;&lt;br&gt;RtCppUtils!RTBaseLog::logMessage+17e &amp;nbsp; &amp;nbsp; 00d35be0 &amp;nbsp; &amp;nbsp; 00d35b4c &amp;nbsp; &amp;nbsp; 00250168 &amp;nbsp; &amp;nbsp;&lt;br&gt;RtCppUtils!RTCppLog::log+dd &amp;nbsp; &amp;nbsp; 00000001 &amp;nbsp; &amp;nbsp; 00d35be0 &amp;nbsp; &amp;nbsp; 00d35f48 &amp;nbsp; &amp;nbsp;&lt;br&gt;RtCppUtils!RTCppLogPtr::log+1e &amp;nbsp; &amp;nbsp; 00000001 &amp;nbsp; &amp;nbsp; 00d35be0 &amp;nbsp; &amp;nbsp; 01a3a5d0 &amp;nbsp; &amp;nbsp;&lt;br&gt;RtCppUtils!RTCppLog::RTCppLog+1f1 &amp;nbsp; &amp;nbsp; c0000005 &amp;nbsp; &amp;nbsp; 00d36070 &amp;nbsp; &amp;nbsp; e06d7363 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!_CallSETranslator+97 &amp;nbsp; &amp;nbsp; 00d3628c &amp;nbsp; &amp;nbsp; 00d36680 &amp;nbsp; &amp;nbsp; 00d362a8 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!__CxxExceptionFilter+1d1 &amp;nbsp; &amp;nbsp; 00d3628c &amp;nbsp; &amp;nbsp; 00d36680 &amp;nbsp; &amp;nbsp; 00d362a8 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!__CxxExceptionFilter+58f &amp;nbsp; &amp;nbsp; 00d3628c &amp;nbsp; &amp;nbsp; 00d36680 &amp;nbsp; &amp;nbsp; 00d362a8 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!__InternalCxxFrameHandler+b2 &amp;nbsp; &amp;nbsp; 00d3628c &amp;nbsp; &amp;nbsp; 00d36680 &amp;nbsp; &amp;nbsp; 00d362a8 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!__CxxFrameHandler+28 &amp;nbsp; &amp;nbsp; 00d3628c &amp;nbsp; &amp;nbsp; 00d36680 &amp;nbsp; &amp;nbsp; 00d362a8 &amp;nbsp; &amp;nbsp;&lt;br&gt;ntdll!ExecuteHandler2+26 &amp;nbsp; &amp;nbsp; 00d3628c &amp;nbsp; &amp;nbsp; 00d36680 &amp;nbsp; &amp;nbsp; 00d362a8 &amp;nbsp; &amp;nbsp;&lt;br&gt;ntdll!ExecuteHandler+24 &amp;nbsp; &amp;nbsp; 00d35000 &amp;nbsp; &amp;nbsp; 00d362a8 &amp;nbsp; &amp;nbsp; 00d3628c &amp;nbsp; &amp;nbsp;&lt;br&gt;ntdll!KiUserExceptionDispatcher+e &amp;nbsp; &amp;nbsp; 00d35000 &amp;nbsp; &amp;nbsp; 00d362a8 &amp;nbsp; &amp;nbsp; 00d3628c &amp;nbsp; &amp;nbsp;&lt;br&gt;ntdll!RtlEnterCriticalSection+19 &amp;nbsp; &amp;nbsp; 00000020 &amp;nbsp; &amp;nbsp; 00d365c8 &amp;nbsp; &amp;nbsp; 77bd1d69 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!_lock_file+33 &amp;nbsp; &amp;nbsp; 00000000 &amp;nbsp; &amp;nbsp; 01a3a5d0 &amp;nbsp; &amp;nbsp; 00d36e6c &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!fprintf+18 &amp;nbsp; &amp;nbsp; 00000000 &amp;nbsp; &amp;nbsp; 01b010c8 &amp;nbsp; &amp;nbsp; 016215b9 &amp;nbsp; &amp;nbsp;&lt;br&gt;RtCppUtils!RTBaseLog::logMessage+17e &amp;nbsp; &amp;nbsp; 00d367c0 &amp;nbsp; &amp;nbsp; 00d3672c &amp;nbsp; &amp;nbsp; 00250168 &amp;nbsp; &amp;nbsp;&lt;br&gt;RtCppUtils!RTCppLog::log+dd &amp;nbsp; &amp;nbsp; 00000001 &amp;nbsp; &amp;nbsp; 00d367c0 &amp;nbsp; &amp;nbsp; 00d36b28 &amp;nbsp; &amp;nbsp;&lt;br&gt;RtCppUtils!RTCppLogPtr::log+1e &amp;nbsp; &amp;nbsp; 00000001 &amp;nbsp; &amp;nbsp; 00d367c0 &amp;nbsp; &amp;nbsp; 01a3a5d0 &amp;nbsp; &amp;nbsp;&lt;br&gt;RtCppUtils!RTCppLog::RTCppLog+1f1 &amp;nbsp; &amp;nbsp; c0000005 &amp;nbsp; &amp;nbsp; 00d36c50 &amp;nbsp; &amp;nbsp; e06d7363 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!_CallSETranslator+97 &amp;nbsp; &amp;nbsp; 00d36e6c &amp;nbsp; &amp;nbsp; 00d37260 &amp;nbsp; &amp;nbsp; 00d36e88 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!__CxxExceptionFilter+1d1 &amp;nbsp; &amp;nbsp; 00d36e6c &amp;nbsp; &amp;nbsp; 00d37260 &amp;nbsp; &amp;nbsp; 00d36e88 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!__CxxExceptionFilter+58f &amp;nbsp; &amp;nbsp; 00d36e6c &amp;nbsp; &amp;nbsp; 00d37260 &amp;nbsp; &amp;nbsp; 00d36e88 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!__InternalCxxFrameHandler+b2 &amp;nbsp; &amp;nbsp; 00d36e6c &amp;nbsp; &amp;nbsp; 00d37260 &amp;nbsp; &amp;nbsp; 00d36e88 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!__CxxFrameHandler+28 &amp;nbsp; &amp;nbsp; 00d36e6c &amp;nbsp; &amp;nbsp; 00d37260 &amp;nbsp; &amp;nbsp; 00d36e88 &amp;nbsp; &amp;nbsp;&lt;br&gt;ntdll!ExecuteHandler2+26 &amp;nbsp; &amp;nbsp; 00d36e6c &amp;nbsp; &amp;nbsp; 00d37260 &amp;nbsp; &amp;nbsp; 00d36e88 &amp;nbsp; &amp;nbsp;&lt;br&gt;ntdll!ExecuteHandler+24 &amp;nbsp; &amp;nbsp; 00d36000 &amp;nbsp; &amp;nbsp; 00d36e88 &amp;nbsp; &amp;nbsp; 00d36e6c &amp;nbsp; &amp;nbsp;&lt;br&gt;ntdll!KiUserExceptionDispatcher+e &amp;nbsp; &amp;nbsp; 00d36000 &amp;nbsp; &amp;nbsp; 00d36e88 &amp;nbsp; &amp;nbsp; 00d36e6c &amp;nbsp; &amp;nbsp;&lt;br&gt;ntdll!RtlEnterCriticalSection+19 &amp;nbsp; &amp;nbsp; 00000020 &amp;nbsp; &amp;nbsp; 00d371a8 &amp;nbsp; &amp;nbsp; 77bd1d69 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!_lock_file+33 &amp;nbsp; &amp;nbsp; 00000000 &amp;nbsp; &amp;nbsp; 01a3a5d0 &amp;nbsp; &amp;nbsp; 00d37a4c &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!fprintf+18 &amp;nbsp; &amp;nbsp; 00000000 &amp;nbsp; &amp;nbsp; 01b010c8 &amp;nbsp; &amp;nbsp; 01621329 &amp;nbsp; &amp;nbsp;&lt;br&gt;RtCppUtils!RTBaseLog::logMessage+17e &amp;nbsp; &amp;nbsp; 00d373a0 &amp;nbsp; &amp;nbsp; 00d3730c &amp;nbsp; &amp;nbsp; 00250168 &amp;nbsp; &amp;nbsp;&lt;br&gt;RtCppUtils!RTCppLog::log+dd &amp;nbsp; &amp;nbsp; 00000001 &amp;nbsp; &amp;nbsp; 00d373a0 &amp;nbsp; &amp;nbsp; 00d37708 &amp;nbsp; &amp;nbsp;&lt;br&gt;RtCppUtils!RTCppLogPtr::log+1e &amp;nbsp; &amp;nbsp; 00000001 &amp;nbsp; &amp;nbsp; 00d373a0 &amp;nbsp; &amp;nbsp; 01a3a5d0 &amp;nbsp; &amp;nbsp;&lt;br&gt;RtCppUtils!RTCppLog::RTCppLog+1f1 &amp;nbsp; &amp;nbsp; c0000005 &amp;nbsp; &amp;nbsp; 00d37830 &amp;nbsp; &amp;nbsp; e06d7363 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!_CallSETranslator+97 &amp;nbsp; &amp;nbsp; 00d37a4c &amp;nbsp; &amp;nbsp; 00d37e40 &amp;nbsp; &amp;nbsp; 00d37a68 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!__CxxExceptionFilter+1d1 &amp;nbsp; &amp;nbsp; 00d37a4c &amp;nbsp; &amp;nbsp; 00d37e40 &amp;nbsp; &amp;nbsp; 00d37a68 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!__CxxExceptionFilter+58f &amp;nbsp; &amp;nbsp; 00d37a4c &amp;nbsp; &amp;nbsp; 00d37e40 &amp;nbsp; &amp;nbsp; 00d37a68 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!__InternalCxxFrameHandler+b2 &amp;nbsp; &amp;nbsp; 00d37a4c &amp;nbsp; &amp;nbsp; 00d37e40 &amp;nbsp; &amp;nbsp; 00d37a68 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!__CxxFrameHandler+28 &amp;nbsp; &amp;nbsp; 00d37a4c &amp;nbsp; &amp;nbsp; 00d37e40 &amp;nbsp; &amp;nbsp; 00d37a68 &amp;nbsp; &amp;nbsp;&lt;br&gt;ntdll!ExecuteHandler2+26 &amp;nbsp; &amp;nbsp; 00d37a4c &amp;nbsp; &amp;nbsp; 00d37e40 &amp;nbsp; &amp;nbsp; 00d37a68 &amp;nbsp; &amp;nbsp;&lt;br&gt;ntdll!ExecuteHandler+24 &amp;nbsp; &amp;nbsp; 00d37000 &amp;nbsp; &amp;nbsp; 00d37a68 &amp;nbsp; &amp;nbsp; 00d37a4c &amp;nbsp; &amp;nbsp;&lt;br&gt;ntdll!KiUserExceptionDispatcher+e &amp;nbsp; &amp;nbsp; 00d37000 &amp;nbsp; &amp;nbsp; 00d37a68 &amp;nbsp; &amp;nbsp; 00d37a4c &amp;nbsp; &amp;nbsp;&lt;br&gt;ntdll!RtlEnterCriticalSection+19 &amp;nbsp; &amp;nbsp; 00000020 &amp;nbsp; &amp;nbsp; 00d37d88 &amp;nbsp; &amp;nbsp; 77bd1d69 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!_lock_file+33 &amp;nbsp; &amp;nbsp; 00000000 &amp;nbsp; &amp;nbsp; 01a3a5d0 &amp;nbsp; &amp;nbsp; 00d3862c &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!fprintf+18 &amp;nbsp; &amp;nbsp; 00000000 &amp;nbsp; &amp;nbsp; 01b010c8 &amp;nbsp; &amp;nbsp; 01621099 &amp;nbsp; &amp;nbsp;&lt;br&gt;RtCppUtils!RTBaseLog::logMessage+17e &amp;nbsp; &amp;nbsp; 00d37f80 &amp;nbsp; &amp;nbsp; 00d37eec &amp;nbsp; &amp;nbsp; 00250168 &amp;nbsp; &amp;nbsp;&lt;br&gt;RtCppUtils!RTCppLog::log+dd &amp;nbsp; &amp;nbsp; 00000001 &amp;nbsp; &amp;nbsp; 00d37f80 &amp;nbsp; &amp;nbsp; 00d382e8 &amp;nbsp; &amp;nbsp;&lt;br&gt;RtCppUtils!RTCppLogPtr::log+1e &amp;nbsp; &amp;nbsp; 00000001 &amp;nbsp; &amp;nbsp; 00d37f80 &amp;nbsp; &amp;nbsp; 01a3a5d0 &amp;nbsp; &amp;nbsp;&lt;br&gt;RtCppUtils!RTCppLog::RTCppLog+1f1 &amp;nbsp; &amp;nbsp; c0000005 &amp;nbsp; &amp;nbsp; 00d38410 &amp;nbsp; &amp;nbsp; e06d7363 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!_CallSETranslator+97 &amp;nbsp; &amp;nbsp; 00d3862c &amp;nbsp; &amp;nbsp; 00d38a20 &amp;nbsp; &amp;nbsp; 00d38648 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!__CxxExceptionFilter+1d1 &amp;nbsp; &amp;nbsp; 00d3862c &amp;nbsp; &amp;nbsp; 00d38a20 &amp;nbsp; &amp;nbsp; 00d38648 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!__CxxExceptionFilter+58f &amp;nbsp; &amp;nbsp; 00d3862c &amp;nbsp; &amp;nbsp; 00d38a20 &amp;nbsp; &amp;nbsp; 00d38648 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!__InternalCxxFrameHandler+b2 &amp;nbsp; &amp;nbsp; 00d3862c &amp;nbsp; &amp;nbsp; 00d38a20 &amp;nbsp; &amp;nbsp; 00d38648 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!__CxxFrameHandler+28 &amp;nbsp; &amp;nbsp; 00d3862c &amp;nbsp; &amp;nbsp; 00d38a20 &amp;nbsp; &amp;nbsp; 00d38648 &amp;nbsp; &amp;nbsp;&lt;br&gt;ntdll!ExecuteHandler2+26 &amp;nbsp; &amp;nbsp; 00d3862c &amp;nbsp; &amp;nbsp; 00d38a20 &amp;nbsp; &amp;nbsp; 00d38648 &amp;nbsp; &amp;nbsp;&lt;br&gt;ntdll!ExecuteHandler+24 &amp;nbsp; &amp;nbsp; 00d37000 &amp;nbsp; &amp;nbsp; 00d38648 &amp;nbsp; &amp;nbsp; 00d3862c &amp;nbsp; &amp;nbsp;&lt;br&gt;ntdll!KiUserExceptionDispatcher+e &amp;nbsp; &amp;nbsp; 00d37000 &amp;nbsp; &amp;nbsp; 00d38648 &amp;nbsp; &amp;nbsp; 00d3862c &amp;nbsp; &amp;nbsp;&lt;br&gt;ntdll!RtlEnterCriticalSection+19 &amp;nbsp; &amp;nbsp; 00000020 &amp;nbsp; &amp;nbsp; 00d38968 &amp;nbsp; &amp;nbsp; 77bd1d69 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!_lock_file+33 &amp;nbsp; &amp;nbsp; 00000000 &amp;nbsp; &amp;nbsp; 01a3a5d0 &amp;nbsp; &amp;nbsp; 00d3920c &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!fprintf+18 &amp;nbsp; &amp;nbsp; 00000000 &amp;nbsp; &amp;nbsp; 01b010c8 &amp;nbsp; &amp;nbsp; 01620e09 &amp;nbsp; &amp;nbsp;&lt;br&gt;RtCppUtils!RTBaseLog::logMessage+17e &amp;nbsp; &amp;nbsp; 00d38b60 &amp;nbsp; &amp;nbsp; 00d38acc &amp;nbsp; &amp;nbsp; 00250168 &amp;nbsp; &amp;nbsp;&lt;br&gt;RtCppUtils!RTCppLog::log+dd &amp;nbsp; &amp;nbsp; 00000001 &amp;nbsp; &amp;nbsp; 00d38b60 &amp;nbsp; &amp;nbsp; 00d38ec8 &amp;nbsp; &amp;nbsp;&lt;br&gt;RtCppUtils!RTCppLogPtr::log+1e &amp;nbsp; &amp;nbsp; 00000001 &amp;nbsp; &amp;nbsp; 00d38b60 &amp;nbsp; &amp;nbsp; 01a3a5d0 &amp;nbsp; &amp;nbsp;&lt;br&gt;RtCppUtils!RTCppLog::RTCppLog+1f1 &amp;nbsp; &amp;nbsp; c0000005 &amp;nbsp; &amp;nbsp; 00d38ff0 &amp;nbsp; &amp;nbsp; e06d7363 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!_CallSETranslator+97 &amp;nbsp; &amp;nbsp; 00d3920c &amp;nbsp; &amp;nbsp; 00d39600 &amp;nbsp; &amp;nbsp; 00d39228 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!__CxxExceptionFilter+1d1 &amp;nbsp; &amp;nbsp; 00d3920c &amp;nbsp; &amp;nbsp; 00d39600 &amp;nbsp; &amp;nbsp; 00d39228 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!__CxxExceptionFilter+58f &amp;nbsp; &amp;nbsp; 00d3920c &amp;nbsp; &amp;nbsp; 00d39600 &amp;nbsp; &amp;nbsp; 00d39228 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!__InternalCxxFrameHandler+b2 &amp;nbsp; &amp;nbsp; 00d3920c &amp;nbsp; &amp;nbsp; 00d39600 &amp;nbsp; &amp;nbsp; 00d39228 &amp;nbsp; &amp;nbsp;&lt;br&gt;msvcrt!__CxxFrameHandler+28 &amp;nbsp; &amp;nbsp; 00d3920c &amp;nbsp; &amp;nbsp; 00d39600 &amp;nbsp; &amp;nbsp; 00d39228 &amp;nbsp; &amp;nbsp;&lt;br&gt;ntdll!ExecuteHandler2+26 &amp;nbsp; &amp;nbsp; 00d3920c &amp;nbsp; &amp;nbsp; 00d39600 &amp;nbsp; &amp;nbsp; 00d39228 &amp;nbsp; &amp;nbsp;&lt;br&gt;ntdll!ExecuteHandler+24 &lt;br&gt;&lt;br&gt;&lt;br&gt;and so on..............&lt;br&gt;&lt;br&gt;</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#563000</link><pubDate>Tue, 28 Mar 2006 16:53:52 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:563000</guid><dc:creator>David.Wang</dc:creator><description>Sudeep - looks like something is in infinite recursion. In which case it is less interesting that ntdll.dll crashed (when you see ntdll.dll &amp;quot;crash&amp;quot; you should always think &amp;quot;what did I do wrong to cause it&amp;quot; and not &amp;quot;it's Microsoft's problem that ntdll.dll crashed&amp;quot;).&lt;br&gt;&lt;br&gt;Since you are using VB, you must make sure to get the latest VB Runtime and patches because otherwise VB doesn't work properly when launched by IIS6 on Windows Server 2003.&lt;br&gt;&lt;br&gt;Debugging Principles hasn't changed on Windows Server 2003. Procedures may have changed since process models change, but that's a fact of life. The Debugging Principles haven't changed since NT 3.51.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#563706</link><pubDate>Wed, 29 Mar 2006 09:04:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:563706</guid><dc:creator>Sudeep</dc:creator><description>Absolutely i agree with you david, I bet there is a problem with one of the dlls we are using... i have run debug diagnostics tool a lot of times, what i get to see is there is a first chance exception occuring in one of the dlls used by us everytime we access the page which uses that dll... &amp;nbsp;&lt;br&gt;&lt;br&gt;does a first chance exception handled properly by the application also get notified by the debugger? or does it mean there is definitely an unhandled exception in our vb dll? also is there a chance that many first chance exceptions eventually result in a crash ? or we can be sure that first chance exceptions never crash IIS? &amp;nbsp; &lt;br&gt;&lt;br&gt;Should i treat exception occuring due to vb dll (first chance exception) and the other exception which is crashing ntdll (second chance exception) as seperate exceptions or is there a chance they are interlinked? &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#564654</link><pubDate>Thu, 30 Mar 2006 11:17:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:564654</guid><dc:creator>Sudeep</dc:creator><description>Also David, I have the latest sp which is sp6 for visual studio 6.0 and latest vb runtime installed on my machine and still facing the problem of not being able to debug vb com dll and also i have sp1 for my server 2003 os which is the latest.&lt;br&gt;&lt;br&gt; Are you referring to any specific patch that will do the job? do you have the url to the patch you are referring to? &amp;nbsp;</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#564714</link><pubDate>Thu, 30 Mar 2006 14:02:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:564714</guid><dc:creator>David.Wang</dc:creator><description>Sudeep - I would not speculate about any of the exceptions seen in the debugger other than the unhandled one which will cause the debugger to break in. Exceptions are a normal part of computing, and handled ones are usually ok (at least, the code handling it thinks it is ok). For example, when you try/catch an exception you will see it show up as first-chance - nothing wrong with that.&lt;br&gt;&lt;br&gt;So, you just need to care about the unhandled exceptions, and if you are paranoid, any handled exceptions that are &amp;quot;swallowing up&amp;quot; otherwise unhandled exceptions and preventing early diagnosis. But, there is little you can do about that one.&lt;br&gt;&lt;br&gt;As for the exceptions - you have no way to determine if they are linked or not. You can only debug the crash, determine what criteria caused that crash, and go backwards from there.&lt;br&gt;&lt;br&gt;Second-chance exception means that someone already caught the first-chance exception but did not handle it - which eventually leads to second chance.&lt;br&gt;&lt;br&gt;I do not know if Visual Studio 6.0 works on Windows Server 2003. It is certainly no longer a supported product.&lt;br&gt;&lt;br&gt;I have never debugged Visual Basic. I just know that the VB Runtime had some hacks in it to turn on RIM and UE for badly written VB COM components that would otherwise hang a server like IIS. The hack expectedly breaks on IIS6 because of the new process model (process name is w3wp.exe and not inetinfo.exe or dllhost.exe), so it had to be re-hacked to work with IIS6. I don't know if you have that version or not, and I don't know where you'de get it. Sorry - I just don't work with VB much.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#564966</link><pubDate>Thu, 30 Mar 2006 19:09:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:564966</guid><dc:creator>TJ</dc:creator><description>Great article. I attached the debugger and was able to generate a dump from the URL that was experiencing the hang - however, I am unable to open the dump:&lt;br&gt;&lt;br&gt;IISAnalysis.asp &amp;nbsp;Could not open specified dump file.&lt;br&gt;&lt;br&gt;Any thoughts?</description></item><item><title>Thoughts on IIS Memory Recycling for 3rd party Applications</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#573218</link><pubDate>Tue, 11 Apr 2006 12:40:44 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:573218</guid><dc:creator>David Wang</dc:creator><description>Sigh... it seems that the Application Health Monitoring features added in IIS6 are merely used by VARs...</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#576394</link><pubDate>Fri, 14 Apr 2006 17:25:23 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:576394</guid><dc:creator>Matthew</dc:creator><description>What should I do if DebugDiag crashes everytime I try to install it??? &amp;nbsp;:&amp;gt;&lt;br&gt;&lt;br&gt;No really, that is happening to me. &amp;nbsp;The only answer at this point is to format c:</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#576590</link><pubDate>Fri, 14 Apr 2006 22:17:07 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:576590</guid><dc:creator>David.Wang</dc:creator><description>Matthew - are you sure that DebugDiag is actually crashing when you install it?&lt;br&gt;&lt;br&gt;The installer does not invoke DebugDiag binaries in any way, so I do not see how it can crash, and installer programs themselves rarely crash.&lt;br&gt;&lt;br&gt;Since the installer is an MSI, you can always launch it as:&lt;br&gt;msiexec.exe /I iisdiag.msi /L*v iisdiagInstall.log&lt;br&gt;&lt;br&gt;And view the verbose installation log file iisdiagInstall.log afterwards to see where the install failure happened.&lt;br&gt;&lt;br&gt;Sure, you can always format c: . Debugging and Troubleshooting is not for everyone, and if you can rebuild server state faster than you can troubleshoot, debugging is irrelevant.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#591741</link><pubDate>Sun, 07 May 2006 06:22:30 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:591741</guid><dc:creator>dudu</dc:creator><description>TrackBack From:&lt;a rel="nofollow" target="_new" href="http://dudu.cnblogs.com/archive/2006/05/07/393073.html"&gt;http://dudu.cnblogs.com/archive/2006/05/07/393073.html&lt;/a&gt;</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#595954</link><pubDate>Fri, 12 May 2006 11:41:30 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:595954</guid><dc:creator>gavin milward</dc:creator><description>it this similar situations when the network service does not have necessary permissions. I use regmon from sysinternals to monitor registry access.&lt;br&gt;&lt;br&gt;filter it for the w3wp.exe service and highlight access deinied errors&lt;br&gt;&lt;br&gt;when you get access denied from the network services, this usually happens with access to certificates. open the registry key and add read permissions for the network service account. &lt;br&gt;&lt;br&gt;then once all accessd enieds are found schedule an iis restart to pick up the new permissions.&lt;br&gt;&lt;br&gt;This fixed all my similar problems but just recently an update patch reset all my permissions for certificates, so I am yet to decide whether the network service is the best to use.</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#597304</link><pubDate>Sun, 14 May 2006 10:36:50 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:597304</guid><dc:creator>David.Wang</dc:creator><description>gavin - I think your problem comes from some application running on IIS that is accessing certificates - because IIS itself (and the process identity, Network Service by default) does not have any need to access certificates.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>Understand and Diagnose an Application Pool Crash </title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#598154</link><pubDate>Mon, 15 May 2006 20:37:34 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:598154</guid><dc:creator>IIS 6 and Application pool</dc:creator><description>&lt;a rel="nofollow" target="_new" href="http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO_Understand_and_Diagnose_an_AppPool_Crash.asp"&gt;http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO_Understand_and_Diagnose_an_AppPool_Crash.asp&lt;/a&gt;...</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#606472</link><pubDate>Thu, 25 May 2006 01:12:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:606472</guid><dc:creator>tyrven</dc:creator><description>Unfortunately, IIS Diag requires the Windows 2003 DDK which is no longer available for public download, but now requires a MSDN subscription (or you have to buy the CD and wait for it to arrive). &amp;nbsp;Annoying. &amp;nbsp;</description></item><item><title>Anatomy of an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#642779</link><pubDate>Thu, 22 Jun 2006 15:00:38 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:642779</guid><dc:creator>David Wang</dc:creator><description>Question:&lt;br&gt;Ok, I read through David Wang's Troubleshooting crashes thing and got the DebugDiag and I...</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#672408</link><pubDate>Thu, 20 Jul 2006 10:35:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:672408</guid><dc:creator>Oded</dc:creator><description>We have experienced the same problem:&lt;br&gt;Event Type:	Error&lt;br&gt;Event Source:	W3SVC&lt;br&gt;Event Category:	None&lt;br&gt;Event ID:	1002&lt;br&gt;Date:		7/19/2006&lt;br&gt;Time:		3:15:55 AM&lt;br&gt;User:		N/A&lt;br&gt;Computer:	xxx&lt;br&gt;Description:&lt;br&gt;Application pool 'DefaultAppPool' is being automatically disabled due to a series of failures in the process(es) serving that application pool.&lt;br&gt;&lt;br&gt;For more information, see Help and Support Center at &lt;a rel="nofollow" target="_new" href="http://go.microsoft.com/fwlink/events.asp"&gt;http://go.microsoft.com/fwlink/events.asp&lt;/a&gt;.&lt;br&gt;&lt;br&gt;&lt;br&gt;Event Type:	Warning&lt;br&gt;Event Source:	W3SVC&lt;br&gt;Event Category:	None&lt;br&gt;Event ID:	1011&lt;br&gt;Date:		7/19/2006&lt;br&gt;Time:		3:15:55 AM&lt;br&gt;User:		N/A&lt;br&gt;Computer:	xxx&lt;br&gt;Description:&lt;br&gt;A process serving application pool 'DefaultAppPool' suffered a fatal communication error with the World Wide Web Publishing Service. The process id was '1700'. The data field contains the error number. &lt;br&gt;&lt;br&gt;For more information, see Help and Support Center at &lt;a rel="nofollow" target="_new" href="http://go.microsoft.com/fwlink/events.asp"&gt;http://go.microsoft.com/fwlink/events.asp&lt;/a&gt;.&lt;br&gt;Data:&lt;br&gt;&lt;br&gt;&lt;br&gt;After a thourough investigation, we have realizes that it was the result of DDoS (distributed denial of service) attacks, which where launched on our site every now and then.&lt;br&gt;No solution yet...</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#749920</link><pubDate>Tue, 12 Sep 2006 00:21:07 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:749920</guid><dc:creator>John Smith</dc:creator><description>I am very sorry to say this, David. But this is one of the worst technical article I have ever read in my life. &lt;br&gt;You could say these words in one page, but you used six, which makes this article just a waste of time. </description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#762722</link><pubDate>Wed, 20 Sep 2006 01:13:16 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:762722</guid><dc:creator>Ruth Horvath</dc:creator><description>I just found this thread extremely interesting. We too have an application running on Windows Server 2003 SP1 using IIS 6. &amp;nbsp;I've been trying to run load on our application. At first, I saw that the w3wp.exe process memory usage escalated, even if we only opened 50 windows running the application and closed them, the memory usage still climed. Then I found out about a &amp;quot;known&amp;quot; memory leack and &amp;quot;known&amp;quot; null pointer exception. Oh well...&lt;br&gt;Now I'm trying to run load again (that I know had worked a few weeks back) and things are worse. I used to be able to login 1000 users to the application and run for 10 hours. Now I don't even last 20-30 minutes and only get in 200-400 users. In looking at the events, I see the Faulting application w3wp.exe....., The VB Application identified by the event source logged this Application CPU_Mon.... there is some other stuff, but then the whole server reboots. I've just downloaded the DebugDiag tool and set up rules for hangs and crashes - but it doesn't look like I have that right; I do have a w3wp...txt file created, but inside there's an error about the Symbol file could not be found and the stack unwind information not available.... HELP !</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#775134</link><pubDate>Thu, 28 Sep 2006 11:51:03 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:775134</guid><dc:creator>Krish</dc:creator><description>Sorry David this is not for you. &lt;br&gt;Few words for John Smith,&lt;br&gt;John, Genius like you can understand things in few words, but people like us need some explanation. So If you can't encourage forums like this please don't discourage. I would have appreciated if you could have posted that one page of your's here. &lt;br&gt;&lt;br&gt;Also I don't want to write something like this here, but I don't want to see another john discouraging like this.&lt;br&gt;&lt;br&gt;David please continue your great work.</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#788282</link><pubDate>Wed, 04 Oct 2006 04:06:19 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:788282</guid><dc:creator>rightioho</dc:creator><description>&lt;p&gt;so... i get the same issue with MICROSOFT sharepoint portal services,... running on MICROSOFT windows operating system,... and web service provided by MICROSOFT IIS 6.0,... supplemented with MICROSOFT .NET 1.1,... and MICROSOFT COM+ services... there seems to be a common occurence here...&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#2060110</link><pubDate>Mon, 09 Apr 2007 14:46:02 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2060110</guid><dc:creator>Yatish</dc:creator><description>&lt;p&gt;This info helped me alot , while resolving some sticky issues.I am working as tech support engineer and whnever I got any windows issue I prefer this site and mostly your blogs.&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#3115979</link><pubDate>Wed, 06 Jun 2007 15:21:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3115979</guid><dc:creator>Ayoob</dc:creator><description>&lt;p&gt;Excellent post David, straight to the point it helped a lot, troubleshooting and debugging waaay more fun than just apply random fixes, &amp;nbsp;format ;)&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#3536732</link><pubDate>Tue, 26 Jun 2007 07:35:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3536732</guid><dc:creator>Manpreet</dc:creator><description>&lt;p&gt;Is Installing DebugDiag on server going to be having any performance issues when i use the debugger with the application? how much is the setback going to be?&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#3609227</link><pubDate>Fri, 29 Jun 2007 22:25:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3609227</guid><dc:creator>amit</dc:creator><description>&lt;p&gt;And what is your suggestion when devs dont have access to production servers to install debuggers? When production servers are handled by a &amp;quot;production support&amp;quot; team who are clueless about these things but only know to guard the servers against any modifications, with their life. So that they don't have to do any extra work. With the UAT server in my control, I don't see the problem , because its not loaded properly or because the combination of events that causes a crash in the real world doesn't occur.&lt;/p&gt;
&lt;p&gt;Is it too much work to add a dump capability so IIS can WRITE A &amp;nbsp;CRASH LOG when it crashes??&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#3652703</link><pubDate>Mon, 02 Jul 2007 02:43:08 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3652703</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Manpreet - there is a (usually small) performance degredation, but it varies depending on how much debug output the application produces.&lt;/p&gt;
&lt;p&gt;It is customary practice to not run debuggers on production machines, so it should only be set up to help debug your issue and then removed.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#3652912</link><pubDate>Mon, 02 Jul 2007 03:04:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3652912</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;amit - my suggestion would be to reproduce the problem on a controlled test-server. If you cannot reproduce the issue in test, then that illustrates an inadequacy in your testing procedures. &lt;/p&gt;
&lt;p&gt;Since NT4, Windows has always had Dr. Watson, which will write a crash dump for any process, including IIS, when it exits due to an unhandled exception.&lt;/p&gt;
&lt;p&gt;Thus, IIS will never add capability to privately capture and write a crash log when code inside of it crashes. It is a web server, not a development/debugging platform. It simply does not make sense to duplicate any of the existing debugging infrastructure that the user merely needs to configure to use.&lt;/p&gt;
&lt;p&gt;It sounds like your frustration is more with the production support team, not with IIS nor debugging facilities.&lt;/p&gt;
&lt;p&gt;However, relying on this mechanism assumes that the issues of interest are only crashes (unhandled exceptions) and that the issue survises until JIT debugger activates Dr. Watson.&lt;/p&gt;
&lt;p&gt;If you need to debug something else, then you need to attach a debugger and wait for the right exception.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#3857026</link><pubDate>Sat, 14 Jul 2007 04:14:24 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3857026</guid><dc:creator>Sam</dc:creator><description>&lt;p&gt;OMG, when will you people learn! Why not get a &amp;quot;real&amp;quot; webserver so you don't have to go through this agony. For Christs sakes, &amp;quot;Attach a debugger and wait&amp;quot; because that's all you can do??? Screw IIS!!&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#3899468</link><pubDate>Mon, 16 Jul 2007 21:20:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3899468</guid><dc:creator>Blitzenn</dc:creator><description>&lt;p&gt;Sam, that's like say you should stop being stupid and get a push mower because the tire is flat on your rider. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;Can your Web server automatically dump me to a standby data server when it recognizes the first one is not available and determine that both are synchronized across 60 + databases all in real time and do all of that out of the box (no code required)? &amp;nbsp;I think not. &amp;nbsp;If you want to bash things, please research your argument prior to spouting off. &amp;nbsp;&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#3955232</link><pubDate>Thu, 19 Jul 2007 16:23:53 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3955232</guid><dc:creator>Jack</dc:creator><description>&lt;p&gt;David's article is not right to the point, he is trying to by pass the issue and not knowing how to fix it, it's a wast of time reading his article!&lt;/p&gt;</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#3988204</link><pubDate>Sat, 21 Jul 2007 14:09:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3988204</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Jack - you are absolutely correct. This article is not about how to fix a crash. It is about understanding and diagnosing a crash so that one can assign responsibility to get that crash fixed.&lt;/p&gt;
&lt;p&gt;If you are looking for ways to fix the crash, the answer is simple -- identify the cause of the crash, which is usually either user configuration error or software bug, and either get the right configuration setting or get the source code/compiled binary for the bug fix.&lt;/p&gt;
&lt;p&gt;There are many causes for a crash, so it is quite useless to search for how to fix a crash. You need to first identify the cause of the crash to narrow down the search for a fix. That is exactly what this blog entry tries to teach.&lt;/p&gt;
&lt;p&gt;Most users just want their issue fixed but unwilling to learn how to fix their problems. It is the proverbial &amp;quot;give a man a fish, he avoids hunger that night. Teach a man to fish, he is never hungry again&amp;quot;. I'm sorry, but I am only teaching how to fish. You will have to compensate me to give you a fish.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#4509134</link><pubDate>Wed, 22 Aug 2007 14:45:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4509134</guid><dc:creator>Rich</dc:creator><description>&lt;p&gt;Hi David,&lt;/p&gt;
&lt;p&gt;Just wanted to say thanks very much for this article, it was just what I needed to track down and fix a bug with a 3rd party app on a clients server and I am sure the methodology is someting that I will use again and again. Have passed this link onto all our engineers.&lt;/p&gt;
&lt;p&gt;Many thanks&lt;/p&gt;
&lt;p&gt;Rich &lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#4631857</link><pubDate>Wed, 29 Aug 2007 20:54:53 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4631857</guid><dc:creator>Brian Milinazzo</dc:creator><description>&lt;p&gt;This seems like the logical approach to take. &amp;nbsp;I am also getting the application pool error, so I have installed the Debug Diag tool and created a generic crash rule but I am not sure what specific exceptions to list in the advanced settings if any at all is this.&lt;/p&gt;
&lt;p&gt;Can someone post a setup that should catch the error and provide the debuging information?&lt;/p&gt;
&lt;p&gt;Background:&lt;/p&gt;
&lt;p&gt;This error is occuring once every two weeks and requires a complete restart of the server. &amp;nbsp;Restarting IIS and the appliations do not work the website remains unavailable. &amp;nbsp;After the server comes backup we get the application pools errors on the console and the info messages are generated in the event log.&lt;/p&gt;
&lt;p&gt;The error log before the restart is:&lt;/p&gt;
&lt;p&gt;Faulting application w3wp.exe, version 6.0.3790.1830, faulting module cognosisapi.dll, version 8.2.1640.0, fault address 0x00004cfc.&lt;/p&gt;
&lt;p&gt;Info logs is basically the same it just has the &amp;quot;report queued message&amp;quot; at the beginning:&lt;/p&gt;
&lt;p&gt;Reporting queued error: faulting application w3wp.exe, version 6.0.3790.1830, faulting module cognosisapi.dll, version 8.2.1640.0, fault address 0x00004cfc.&lt;/p&gt;
&lt;p&gt;Thank you,&lt;/p&gt;
&lt;p&gt;Brian&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#6280370</link><pubDate>Fri, 16 Nov 2007 03:07:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6280370</guid><dc:creator>Hong</dc:creator><description>&lt;p&gt;Hi David,&lt;/p&gt;
&lt;p&gt;I am also getting the same application pool error on production server which is not really accessible to dev. However, I have a minidumper running in my application dll loaded by w3wp. Previously when the app dll crashed, we got minidump files for debugging. but this time with this &amp;quot;faulting application w3wp.exe...&amp;quot; error, no minidump files has been generated.&lt;/p&gt;
&lt;p&gt;So I was wondering if there is any separate IIS process running, in additional to the one running my user app dll, that could cause the Application Pool Crash error. If that's the case, the crashing process is out of the control of my minidumper, as the dumper only sits in my app dll and monitors the &amp;quot;current process&amp;quot; running the app dll.&lt;/p&gt;
&lt;p&gt;How many processes are started for IIS in general? Is there only single one, w3wp.exe?&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;Hong&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#6358802</link><pubDate>Sun, 18 Nov 2007 12:01:21 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6358802</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Hong - IIS6 has two different runtime modes that affect this answer.&lt;/p&gt;
&lt;p&gt;In IIS5 Compatibility Mode, user code can be running in inetinfo.exe if Low Isolation, some dllhost.exe if Medium Isolation, and any number of dllhost.exe if High Isolation.&lt;/p&gt;
&lt;p&gt;In IIS6 Worker Process Isolation mode, all user code run inside of a w3wp.exe process, and the number of such w3wp.exe processes depend on the number of functional Application Pools as well as each Application Pool's &amp;quot;Maximum Processes&amp;quot; setting.&lt;/p&gt;
&lt;p&gt;There are no other IIS processes running user code that can crash w3wp.exe like that. I suspect your minidumper was not activated or functional for the w3wp.exe process that actually crashed.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#6677051</link><pubDate>Thu, 06 Dec 2007 12:05:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6677051</guid><dc:creator>Pichitchai</dc:creator><description>&lt;p&gt;Hi David &amp;nbsp;&lt;/p&gt;
&lt;p&gt;I want to know &lt;/p&gt;
&lt;p&gt;Why this error occur ?&lt;/p&gt;
&lt;p&gt;Event Type: Warning &lt;/p&gt;
&lt;p&gt;Event Source: W3SVC &lt;/p&gt;
&lt;p&gt;Event Category: None &lt;/p&gt;
&lt;p&gt;Event ID: 1011 &lt;/p&gt;
&lt;p&gt;and&lt;/p&gt;
&lt;p&gt;Event Type: Warning &lt;/p&gt;
&lt;p&gt;Event Source: W3SVC &lt;/p&gt;
&lt;p&gt;Event Category: None &lt;/p&gt;
&lt;p&gt;Event ID: 1009 &lt;/p&gt;
&lt;p&gt;It occurs often but IIS6.0 not crash immediate&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#6746602</link><pubDate>Wed, 12 Dec 2007 16:30:59 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6746602</guid><dc:creator>Praveen</dc:creator><description>&lt;p&gt;Hi David,&lt;/p&gt;
&lt;p&gt;We aree facing the similiar problem posted here.. with the following error message.&lt;/p&gt;
&lt;p&gt;A process serving application pool 'AppPool' suffered a fatal communication error with the World Wide Web Publishing Service. The process id was '5448'. The data field contains the error number.&lt;/p&gt;
&lt;p&gt;I used DebugDiag tool to debug and analyzed the dump file using the same tool. and I am seeing the Memory Heap corruption errors while connecting to some COM DLLs. (SAS 9.1.3)&lt;/p&gt;
&lt;p&gt;In w3wp__PID__4940__Date__12_03_2007__Time_07_23_17AM__422__Second_Chance_Exception_C0000005.dmp the assembly instruction at ntdll!ExpInterlockedPopEntrySListFault in C:\WINNT\system32\ntdll.dll from Microsoft Corporation has caused an access violation exception (0xC0000005) when trying to read from memory location 0x0004000d on thread 52&lt;/p&gt;
&lt;p&gt;When I click on thread 52 it takes me to the following.&lt;/p&gt;
&lt;p&gt;Thread 52 - System ID 488&lt;/p&gt;
&lt;p&gt;Entry point &amp;nbsp; SASWMan!DllUnregisterServer+b95d &lt;/p&gt;
&lt;p&gt;Create time &amp;nbsp; 12/3/2007 7:23:15 AM &lt;/p&gt;
&lt;p&gt;Time spent in user mode &amp;nbsp; 0 Days 0:0:0.0 &lt;/p&gt;
&lt;p&gt;Time spent in kernel mode &amp;nbsp; 0 Days 0:0:0.0 &lt;/p&gt;
&lt;p&gt;Function &amp;nbsp; &amp;nbsp; Arg 1 &amp;nbsp; &amp;nbsp; Arg 2 &amp;nbsp; &amp;nbsp; Arg 3 &amp;nbsp; Source &lt;/p&gt;
&lt;p&gt;ntdll!ExpInterlockedPopEntrySListFault &amp;nbsp; &amp;nbsp; 04ff08f8 &amp;nbsp; &amp;nbsp; 072ff4fc &amp;nbsp; &amp;nbsp; 7c82a0b8 &amp;nbsp; &amp;nbsp;&lt;/p&gt;
&lt;p&gt;ntdll!RtlAllocateHeap+14e &amp;nbsp; &amp;nbsp; 04ff08f8 &amp;nbsp; &amp;nbsp; 05c8d3e0 &amp;nbsp; &amp;nbsp; 0000005c &amp;nbsp; &amp;nbsp;&lt;/p&gt;
&lt;p&gt;ntdll!RtlAllocateHeap+e2 &amp;nbsp; &amp;nbsp; 04ff0000 &amp;nbsp; &amp;nbsp; 00000000 &amp;nbsp; &amp;nbsp; 0000005c &amp;nbsp; &amp;nbsp;&lt;/p&gt;
&lt;p&gt;SASComb!DllCanUnloadNow+d705 &amp;nbsp; &amp;nbsp; 0000005c &amp;nbsp; &amp;nbsp; 1001139a &amp;nbsp; &amp;nbsp; 0000005c &amp;nbsp; &amp;nbsp;&lt;/p&gt;
&lt;p&gt;SASComb!DllCanUnloadNow+d727 &amp;nbsp; &amp;nbsp; 05c89ab0 &amp;nbsp; &amp;nbsp; 066183ec &amp;nbsp; &amp;nbsp; 00000001 &amp;nbsp; &amp;nbsp;&lt;/p&gt;
&lt;p&gt;SASComb+1d8f &amp;nbsp; &amp;nbsp; 05c89ab0 &amp;nbsp; &amp;nbsp; 066183ec &amp;nbsp; &amp;nbsp; 065facac &amp;nbsp; &amp;nbsp;&lt;/p&gt;
&lt;p&gt;SASWMan!DllUnregisterServer+89ef &amp;nbsp; &amp;nbsp; 072fff2c &amp;nbsp; &amp;nbsp; 04e74e60 &amp;nbsp; &amp;nbsp; 04e74ce0 &amp;nbsp; &amp;nbsp;&lt;/p&gt;
&lt;p&gt;SASWMan!DllUnregisterServer+7ec0 &amp;nbsp; &amp;nbsp; 0607ec44 &amp;nbsp; &amp;nbsp; 00000000 &amp;nbsp; &amp;nbsp; 00000000 &amp;nbsp; &amp;nbsp;&lt;/p&gt;
&lt;p&gt;SASWMan!DllUnregisterServer+b9bc &amp;nbsp; &amp;nbsp; 04e74d80 &amp;nbsp; &amp;nbsp; 00000000 &amp;nbsp; &amp;nbsp; 00000000 &amp;nbsp; &amp;nbsp;&lt;/p&gt;
&lt;p&gt;kernel32!GetModuleHandleA+df &amp;nbsp; &amp;nbsp; 04e45388 &amp;nbsp; &amp;nbsp; 04e74d80 &amp;nbsp; &amp;nbsp; 00000000 &amp;nbsp; &amp;nbsp;&lt;/p&gt;
&lt;p&gt;and the heap corruption is as below&lt;/p&gt;
&lt;p&gt;Heap 58 - 0x04ff0000 &lt;/p&gt;
&lt;p&gt;Heap Name &amp;nbsp; SASComb!DllCanUnloadNow+149924 &lt;/p&gt;
&lt;p&gt;Heap Description &amp;nbsp; This heap is used by SASComb &lt;/p&gt;
&lt;p&gt;Reserved memory &amp;nbsp; 1.06 MBytes &lt;/p&gt;
&lt;p&gt;Committed memory &amp;nbsp; 596.00 KBytes (54.78% of reserved) &amp;nbsp;&lt;/p&gt;
&lt;p&gt;Uncommitted memory &amp;nbsp; 492.00 KBytes (45.22% of reserved) &amp;nbsp;&lt;/p&gt;
&lt;p&gt;Number of heap segments &amp;nbsp; 2 segments &lt;/p&gt;
&lt;p&gt;Number of uncommitted ranges &amp;nbsp; 1 range(s) &lt;/p&gt;
&lt;p&gt;Size of largest uncommitted range &amp;nbsp; 492.00 KBytes &lt;/p&gt;
&lt;p&gt;Calculated heap fragmentation &amp;nbsp; 0.00% &lt;/p&gt;
&lt;p&gt;The DLLs listed above SASomb and SASWman are SAS DLLs and I am not sure whether this error is related to SAS or .netframework 2.0 or IIS or...&lt;/p&gt;
&lt;p&gt;We already contacted SAS Support and couldn't get much help from them and all SAS DLLs are latest ones which we are using.&lt;/p&gt;
&lt;p&gt;We are connecting to SAS on Unix server from .Net 2.0 framework using ASP.Net (using VB.Net) with IIS 6.0 on webserver.&lt;/p&gt;
&lt;p&gt;Before migrating to 2.0 (in 1.1) we didn't face this issue, but this error is occuring after every 5 minutes after we converted to 2.0&lt;/p&gt;
&lt;p&gt;Could you please help we have a release this weekend..and Thank you in advance.&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#6862417</link><pubDate>Tue, 25 Dec 2007 18:27:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6862417</guid><dc:creator>Praveen</dc:creator><description>&lt;p&gt;Is this site still active or nobody cares??&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#6864217</link><pubDate>Wed, 26 Dec 2007 00:27:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6864217</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Praveen - I believe SAS Support needs to look at this issue because you are seeing memory corruption, which causes the crash.&lt;/p&gt;
&lt;p&gt;Now, the memory corruption happens while the SAS code tries to allocate memory. Since it is *highly* unlikely that another piece of code corrupts the exact piece of memory that SAS is about to use, it is *highly* likely that SAS code itself is using bad memory.&lt;/p&gt;
&lt;p&gt;This means that SAS support is responsible because it is a logical bug in their code. If you cannot get them to diagnose/support their own code, then you need to rethink using their software.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#6864252</link><pubDate>Wed, 26 Dec 2007 00:32:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6864252</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Praveen - Memory corruption like this can be diagnosed with PageHeap from Application Verifier, supplied by Microsoft.&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://www.microsoft.com/downloads/details.aspx?familyid=bd02c19c-1250-433c-8c1b-2619bd93b3a2&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=bd02c19c-1250-433c-8c1b-2619bd93b3a2&amp;amp;displaylang=en&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You can use it to try to track down *when* something corrupts a piece of memory in the SASComb heap because that's the culprit that needs to be fixed.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#6877854</link><pubDate>Thu, 27 Dec 2007 17:51:44 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6877854</guid><dc:creator>Andy Brierley</dc:creator><description>&lt;p&gt;I am having problems with w3wp.exe on a dedicated Win 2003 server - it randomlt shoots up to 99% CPU usage... and, yes, it does have all the latest patches and I can find no way to resolve the issue - restarting IIS sometime 'cures' the problems and on other occasios, it doesn't.&lt;/p&gt;
&lt;p&gt;Our site is running good old ASP (not .NET) connecting with one big MS Access DB and several other smaller DBs. &amp;nbsp;I have checked all open connections and all my code checks out - there are no w3wp.exe errors in the App. log but just occasional errors from W3Ctrs &amp;quot;taking too long to refresh the W&amp;#163;SVC counters.&amp;quot;&lt;/p&gt;
&lt;p&gt;Any thoughts?&lt;/p&gt;
&lt;p&gt;Thanks in anticipation&lt;/p&gt;
&lt;p&gt;//Andy B&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#6899242</link><pubDate>Sat, 29 Dec 2007 21:18:32 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6899242</guid><dc:creator>Praveen</dc:creator><description>&lt;p&gt;Thanks David for your reply,&lt;/p&gt;
&lt;p&gt;We'll try to contact SAS again, with your reply, &lt;/p&gt;
&lt;p&gt;but I have a question.&lt;/p&gt;
&lt;p&gt;Actually we have a wrapper class to connect to SAS, before we migrated to 2.0 framework, there used to be lot of connections we were making using this class and then closing the connection as soon as we are getting the data...&lt;/p&gt;
&lt;p&gt;that is connect..get the data and close the connection..&lt;/p&gt;
&lt;p&gt;Now this was very time consuming, and as part of performance enhancements we made, removed all the connections..restored only one connection through out the session and reusing it.&lt;/p&gt;
&lt;p&gt;Then we started getting the above mentioned application pool crash..&lt;/p&gt;
&lt;p&gt;so now we have a situation here..so is it because..we are using (re-use) the connection through out the session (which sas com bridge dlls might not support) or is it because we converted the code to 2.0..or is it becuase of the combination..&lt;/p&gt;
&lt;p&gt;Then as the first step..we put back all the connections..that is no reuse...open get the data and close..each and every time almost..&lt;/p&gt;
&lt;p&gt;in .net framework 2.0 code...&lt;/p&gt;
&lt;p&gt;still we saw the error (and the app pool crashed)..&lt;/p&gt;
&lt;p&gt;then we thought..it's not because..of the connections...&lt;/p&gt;
&lt;p&gt;Then we converted the code back to 1.1 framework..with all the connections (that is no re-use)..&lt;/p&gt;
&lt;p&gt;...then..then..then..&lt;/p&gt;
&lt;p&gt;it looks like..that the error started disappearing now...but still testing..to see..if the app pool crashes..but mostly..it's not crashing..&lt;/p&gt;
&lt;p&gt;so it looks like the combination of 1.1 framework and putting back the connections..that worked...but I don't know why it is so..&lt;/p&gt;
&lt;p&gt;David..could you please share your thoughts on this??...because...we need to convert to 2.0 and we need better performance..both (or either) of them..are not possible..with the current scenario.&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;
&lt;p&gt;Praveen.&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#6915787</link><pubDate>Mon, 31 Dec 2007 11:54:05 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6915787</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Andy B - clearly the problem is not with IIS code, no matter how your code checks out, because IIS does not have sporadic performance issues.&lt;/p&gt;
&lt;p&gt;Perhaps your ASP code has problems with MTA (default change from prior IIS versions) and needs to switch to STA. Several other people resolved their CPU spikes with this change.&lt;/p&gt;
&lt;p&gt;Another culprit is your Access DB because MDBs are notoriously single-threaded and easily cause contention like the 100% CPU spike.&lt;/p&gt;
&lt;p&gt;In other words, I believe these CPU spikes are caused by problems/assumptions within user code, so the problem is not with w3wp.exe but rather user code no matter the process it is in...&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#6916023</link><pubDate>Mon, 31 Dec 2007 12:08:23 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6916023</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Praveen - the only way to understand &amp;quot;why&amp;quot; it works is to understand why it fails.&lt;/p&gt;
&lt;p&gt;Personally, I do not think it is a problem with .Net Framework. Maybe .Net Framework 1.1 memory layout masked a bug in the SAS DLL so that it is always exposed in .Net 2.0.&lt;/p&gt;
&lt;p&gt;Clearly, that would not be a problem with .Net Framework 2.0, but from your perspective the SAS DLL is not usable under .Net Framework 2.0, thus it seems like an issue with .Net Framework 2.0.&lt;/p&gt;
&lt;p&gt;And the only way to distinguish between the possibilities is to diagnose the crash.&lt;/p&gt;
&lt;p&gt;From my perspective, the crash is caused by SAS DLL, and maybe .Net Framework 1.1 is your only work-around. I would not expend effort to try to figure out how to get a work-around on .Net Framework 2.0 because that does not resolve the actual issue.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#6967932</link><pubDate>Thu, 03 Jan 2008 16:59:53 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6967932</guid><dc:creator>srinivas </dc:creator><description>&lt;p&gt;we are experiencing issue with app pool on one of the serevr.&lt;/p&gt;
&lt;p&gt;Event viewer shows the following errors for system log:&lt;/p&gt;
&lt;p&gt;1.A process serving application pool 'RTIAppPool' suffered a fatal communication error with the World Wide Web Publishing Service. The process id was '5668'. The data field contains the error number. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;we are getting the same error for different process ids.. then we are getting the following error:&lt;/p&gt;
&lt;p&gt;&amp;quot;Application pool 'RTIAppPool' is being automatically disabled due to a series of failures in the process (es) serving that application pool.&amp;quot;&lt;/p&gt;
&lt;p&gt; and app log shows the following error:&lt;/p&gt;
&lt;p&gt;Faulting application w3wp.exe, version 6.0.3790.3959, stamp 45d6968e, faulting module kernel32.dll, version 5.2.3790.4062, stamp 46264680, debug? 0, fault address 0x0000bee7.&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#7004295</link><pubDate>Sun, 06 Jan 2008 14:10:13 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7004295</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;srinivas - you are running an unstable application in IIS that is repeatedly crashing and has been disabled.&lt;/p&gt;
&lt;p&gt;You should follow the instructions in this blog entry to use the correct tools and methodology to detect and identify the issue to get it fixed.&lt;/p&gt;
&lt;p&gt;This is almost certainly a bug in your code or a 3rd party component used by the application serviced by IIS.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#7004894</link><pubDate>Sun, 06 Jan 2008 14:58:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7004894</guid><dc:creator>Roman</dc:creator><description>&lt;p&gt;Hi David,&lt;/p&gt;
&lt;p&gt;How to debug &amp;quot;w3wp&amp;quot;, if &amp;quot;application pool crash&amp;quot; occurs at moment of start &amp;quot;w3wp&amp;quot;?&lt;/p&gt;
&lt;p&gt;I was trying to add key in registry&lt;/p&gt;
&lt;p&gt;[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\W3WP.EXE]&lt;/p&gt;
&lt;p&gt;&amp;quot;Debugger&amp;quot;=&amp;quot;C:\\Program Files\\Debugging Tools for Windows\\ntsd.exe -server npipe:pipe=w3wp&amp;quot;&lt;/p&gt;
&lt;p&gt;but i can't connect to debugger,&lt;/p&gt;
&lt;p&gt;thus following messages in &amp;quot;system&amp;quot; event log (order by date and time):&lt;/p&gt;
&lt;p&gt;&amp;quot;A process serving application pool 'MyPool' terminated unexpectedly. The process id was '7016'. The process exit code was '0x80004005'.&amp;quot;&lt;/p&gt;
&lt;p&gt;...&lt;/p&gt;
&lt;p&gt;&amp;quot;Application pool 'AppPoolASPNet11' is being automatically disabled due to a series of failures in the process(es) serving that application pool.&amp;quot;&lt;/p&gt;
&lt;p&gt;Thanks...&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#7005003</link><pubDate>Sun, 06 Jan 2008 15:06:03 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7005003</guid><dc:creator>Roman</dc:creator><description>&lt;p&gt;correction: the name of application pool is 'AppPoolASPNet11' everywhere.&lt;/p&gt;
&lt;p&gt;Sorry...&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#7006776</link><pubDate>Sun, 06 Jan 2008 17:59:07 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7006776</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Roman - how did you verify that your settings work?&lt;/p&gt;
&lt;p&gt;Did you try it on something else like &amp;quot;notepad.exe&amp;quot; instead of &amp;quot;w3wp.exe&amp;quot;?&lt;/p&gt;
&lt;p&gt;I am not certain why you need to do this because no application crash happens at the start of w3wp.exe. One can always intervene and attach a debugger prior to any application code execution on IIS.&lt;/p&gt;
&lt;p&gt;However, in all cases correct debugger settings are critical, so I suggest establishing that first. You can probably progress to the solution on your own so I would like to give you the satisfaction of doing so, given only hints.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#7018428</link><pubDate>Mon, 07 Jan 2008 21:32:58 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7018428</guid><dc:creator>Brian</dc:creator><description>&lt;p&gt;It seems a shame that to troublshoot IIS errors like this, you have to install a tool to gather more information, hoping that the crash happens again. PLus, some of these tools can create disk quota issues with large dumps. It would be great if more information could be gathered at actual error time.&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#7025121</link><pubDate>Tue, 08 Jan 2008 10:49:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7025121</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Brian - Sure, it is possible to gather this information at actual error time using built-in tools to Windows -- that is exactly how we troubleshoot IIS and Windows software in general, and it works great.&lt;/p&gt;
&lt;p&gt;However, &amp;nbsp;you would have to endure a 20+% hit in performance. Is that acceptable to you?&lt;/p&gt;
&lt;p&gt;The existing tools have low system impact and work for the vast majority of users because that's what they want.&lt;/p&gt;
&lt;p&gt;Now, disk quota issues sounds like your problem, not a problem with the tools. You certainly cannot suggest that debugging bypasses quotas... because that would be a security vulnerability.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#7846567</link><pubDate>Fri, 22 Feb 2008 13:32:08 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7846567</guid><dc:creator>Nibor</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I'm running into a weird problem when I try to run IISState.&lt;/p&gt;
&lt;p&gt;Some background information first:&lt;/p&gt;
&lt;p&gt;A customer has a .NET application connecting to webservices on an IIS 6 webserver. &amp;nbsp;The last few weeks the application randomly goes very, very slow, and we can see w3wp.exe running on around 30-40% cpu usage. After a while (30-40 mins) cpu usage goes down, and the application is &amp;quot;fast&amp;quot; again.&lt;/p&gt;
&lt;p&gt;However, the last few days the webserver has gone crazy, and cpu usage has been much higher, up to 100% during the night when no one connects to the application at all, and when they do connect, cpu usage actaully went down to 80-85%. And all of a sudden it drops tp 0% before going all the way up again.&lt;/p&gt;
&lt;p&gt;Running an iisreset solved the problem for a while, before it re-occured again. The interesting thing is that after a full restart of the server, the users of the application was all happy, whilst I could see the w3wp.exe still running on 99% cpu usage.&lt;/p&gt;
&lt;p&gt;So, I thought I should try out IISState to see what is hogging the cpu. When I ran it, it got to thread 12 or 13, before it stopped, hung, and eventualy restarted w3wp.exe (to my amusement this actually &amp;quot;solved&amp;quot; the problem on the server, since cpu load has been on 1-2% since then). &lt;/p&gt;
&lt;p&gt;What is logged is the usual &amp;quot;A process serving application pool 'DefaultAppPool' failed to respond to a ping. The process id was '3356'.&amp;quot;&lt;/p&gt;
&lt;p&gt;I've tried to download both IISState 3.0 and 3.3.1, and run into the same problem with both.&lt;/p&gt;
&lt;p&gt;What the IISState log says is:&lt;/p&gt;
&lt;p&gt;Thread ID: 11&lt;/p&gt;
&lt;p&gt;System Thread ID: ba0&lt;/p&gt;
&lt;p&gt;Kernel Time: 0:0:0.0&lt;/p&gt;
&lt;p&gt;User Time: 0:0:0.0&lt;/p&gt;
&lt;p&gt;Thread Type: Managed Thread. Possible ASP.Net page or other .Net worker&lt;/p&gt;
&lt;p&gt;SaveModuleToMemory failed&lt;/p&gt;
&lt;p&gt;Failed to load SOS data.&lt;/p&gt;
&lt;p&gt;No valid SOS data table found.&lt;/p&gt;
&lt;p&gt;Begin System Thread Information&lt;/p&gt;
&lt;p&gt; # ChildEBP RetAddr &amp;nbsp;&lt;/p&gt;
&lt;p&gt;00 019dfea8 00000000 ntdll!KiFastSystemCallRet&lt;/p&gt;
&lt;p&gt;GetContextState failed, 0x8007001F&lt;/p&gt;
&lt;p&gt;GetContextState failed, 0x8007001F&lt;/p&gt;
&lt;p&gt;GetContextState failed, 0x8007001F&lt;/p&gt;
&lt;p&gt;Thread ID: 12&lt;/p&gt;
&lt;p&gt;System Thread ID: 0&lt;/p&gt;
&lt;p&gt;Kernel Time: 0:0:0.0&lt;/p&gt;
&lt;p&gt;User Time: 0:0:0.0&lt;/p&gt;
&lt;p&gt;GetContextState failed, 0x8007001F&lt;/p&gt;
&lt;p&gt;I'm not really sure what to think, since we never had any actual crashes or timeouts on the server until I ran IISState, so it seems that somehow IISState initiates it.&lt;/p&gt;
&lt;p&gt;Any ideas? &lt;/p&gt;
&lt;p&gt;-Nibor&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#7847905</link><pubDate>Fri, 22 Feb 2008 16:41:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7847905</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Nibor - There is no issue with IIS State here.&lt;/p&gt;
&lt;p&gt;What is happening is that you used IIS State to break into a live w3wp.exe to take a trace. Meanwhile, IIS is still configured to periodically &amp;quot;ping&amp;quot; the w3wp.exe of its Application Pools. Since IIS State is hogging this w3wp.exe trying to take a trace, the w3wp.exe cannot respond to the ping, thus IIS deemed the w3wp.exe as hung and initiated a recycle of the w3wp.exe as well as log the event log entry.&lt;/p&gt;
&lt;p&gt;My guess is that the .NET application is badly written and causes a lot of Garbage Collection, which would cause CPU to spike sporadically for long periods of time. Most people schedule periodic restarts of the .NET Application pools to work around their performance problem, if their design/environment allows it.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#8055796</link><pubDate>Thu, 06 Mar 2008 00:30:38 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8055796</guid><dc:creator>Johnathan</dc:creator><description>&lt;p&gt;It is good to see you are still following this post. &amp;nbsp;I found it a good article. &amp;nbsp;However, I would hope that these tools would come with IIS out of box along with best practices documentation. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;I am seeing w3wp.exe crashes under load tests and I am starting to debug them. Is there a ‘common mistakes’ article out there to help with common web services?&lt;/p&gt;
&lt;p&gt;Since Server 2008 is about out I wanted to know if this process gets easier with the next version of IIS. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;Thanks.&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#8070891</link><pubDate>Thu, 06 Mar 2008 14:45:34 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8070891</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Jonathan - I believe that tools and best practices documentation are living documents that should not be tied to be &amp;quot;out of the box&amp;quot;.&lt;/p&gt;
&lt;p&gt;Frankly, people use web servers in such diverse ways and environments that any tool or comprehensive documentation quickly goes out of date or will be so large that it is not worthwhile/efficient to maintain.&lt;/p&gt;
&lt;p&gt;Most of the tools and techniques are general problem-solving techniques that apply to everything, not just IIS. I highly recommend that you learn the techniques because it helps out everywhere.&lt;/p&gt;
&lt;p&gt;By learning how to troubleshoot, not just pattern match against &amp;quot;common mistakes&amp;quot; articles or &amp;quot;best practices&amp;quot; documentation, you will be able to help yourself, and not constantly rely on someone else to provide you the information.&lt;/p&gt;
&lt;p&gt;Personally, I think the process gets both easier and harder with the next version of IIS in Windows Server 2008, IIS 7. On the one hand, you have Failed Request Tracing, which combined with IIS logs, Event Logs, and HTTP.SYS logs, is all one needs to troubleshoot most issues on IIS7 without needing a debugger or turn on ETW tracing. On the other hand, IIS7 is so generic and easy to misconfigure that you have tons more ways to accidentally shoot yourself.&lt;/p&gt;
&lt;p&gt;I suspect that most people will initially find IIS 7 harder to use/configure because it will be easy to break and misconfigure, but after people get comfortable with IIS7 basics, they will learn to appreciate the improvements and benefits and see how is gets easier.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#8353851</link><pubDate>Thu, 03 Apr 2008 16:54:38 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8353851</guid><dc:creator>Allen</dc:creator><description>&lt;p&gt;Hi David, and thanx for posting such a wonderful article.&lt;/p&gt;
&lt;p&gt;Well, my problem is also somewhat similar but couldn't understand or diagnose the problem as such because the site is hosted by discountasp.net. They don't even give me event logs, memory dumps as i asked for it multiple times, reason being told as it is a shared hosting.&lt;/p&gt;
&lt;p&gt;Your response would be much appreciated.&lt;/p&gt;
&lt;p&gt;Thanks.&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#8409748</link><pubDate>Sat, 19 Apr 2008 07:28:38 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8409748</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Allen - unfortunately, without cooperation from the hoster, it is impossible to troubleshoot.&lt;/p&gt;
&lt;p&gt;For all you know, your problems may be caused by another customer since it is shared hosting. But, you should not be able to debug someone else's application to figure it out (security issue), so debugging on a shared hosting environment by the customer for systemic issues is practically impossible.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#8435152</link><pubDate>Mon, 28 Apr 2008 14:22:45 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8435152</guid><dc:creator>Carl Cook</dc:creator><description>&lt;p&gt;Hi David,&lt;/p&gt;
&lt;p&gt;Thanks for your replies to this post... you have given a great starting point to help me fix a problem I have been recently assigned.&lt;/p&gt;
&lt;p&gt;I am troubleshooting some WCF services run within IIS 6 on a Windows 2003 R2 server. We are getting the app pool crashing out, with the 'typical' messages in the event log (&amp;quot;faulting application w3wp in mscorwks.dll&amp;quot;, &amp;quot;communications failure&amp;quot;, &amp;quot;process unexpectedly terminated&amp;quot;, etc). I ran IISState/WinDbg to produce a stack trace, but this gave me nothing out of the ordinary (all the stacks looked fairly normal, no stack overflows, access exceptions, deadlocks, etc). .Net logging/tracing shows nothing out of the ordinary. Performance monitoring showed thread usage was fine, no memory leaks, etc. Http logs gave nothing out of the ordinary either.&lt;/p&gt;
&lt;p&gt;Today, I ended up stepping through one of the WCF services with a debugger (attaching from my dev machine to the live server as a remote process), and the debugger returned a System.ExecutionEngineException from the DataContractSerializer.WriteObject method. This exception is uncatchable... all I can do is continue execution in the debugger... at which point the w2wp.exe process gets terminated. [According to a few recent posts, this might be a CLR issue (i.e. the dynamically generated serializer is not handling nullable fields correctly, then crashing out).]&lt;/p&gt;
&lt;p&gt;So, one lesson I have learnt is that stepping through the worker process with a debugger is one of the easiest ways that I have found to find the real fault within IIS.&lt;/p&gt;
&lt;p&gt;However, what you would you now recommend as an approach to fix this problem? Approach Microsoft for a potential hotfix? Code around the problematic method? Install .Net 3.5 (on the hope that the problem has been addressed)? Try to disassemble the System.* libraries to find the root cause? Move to Windows 2008 Server with either IIS 7 or WAS, and just hope that this fixes the issue? Or something else?&lt;/p&gt;
&lt;p&gt;Many thanks!&lt;/p&gt;
&lt;p&gt;-Carl.&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#8558550</link><pubDate>Thu, 29 May 2008 17:18:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8558550</guid><dc:creator>Kalpesh Joshi</dc:creator><description>&lt;p&gt;I have Win 2008 64bit with iis7. &amp;nbsp;I have developed a 32bit application in .net. &amp;nbsp;I have create an additional apppool named online. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;I have select &amp;quot;Enable 32bit Application&amp;quot; as TRUE. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;Now whenever i brows my application this apppool has been stopped with searies of failure. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;If I set &amp;quot;Enable 32bit Application&amp;quot; as FALSE then i get JET 4.0 Errors.&lt;/p&gt;
&lt;p&gt;The event log contains this data&lt;/p&gt;
&lt;p&gt;A listener channel for protocol 'http' in worker process '5780' serving application pool 'OnlinePool' reported a listener channel failure. &amp;nbsp;The data field contains the error number.&lt;/p&gt;
&lt;p&gt;Event ID 5139 and then stope the apppool with event id 5002.&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#8563922</link><pubDate>Fri, 30 May 2008 21:31:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8563922</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Carl - requesting for a hotfix is the best approach if you do not want to change .Net version. And then temporarily code around it.&lt;/p&gt;
&lt;p&gt;I would not upgrade .Net version nor OS on the &amp;quot;hope&amp;quot; that it contains the fixes -- if it is fixed in the later version, a hotfix usually exists for the prior version. However, if you do not report it, it has no chance of getting fixed.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#8655591</link><pubDate>Thu, 26 Jun 2008 11:40:47 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8655591</guid><dc:creator>Harry McHaffie</dc:creator><description>&lt;p&gt;David,&lt;/p&gt;
&lt;p&gt;Please Help! &amp;nbsp;We opened a case with Microsoft in an effort to resolve our crash problem. &amp;nbsp;WinDbg was used to trace the crash. &amp;nbsp;The specific .dll and function that was causing a stack overflow was discovered. &amp;nbsp;Microsoft asked for the debug version of that .dll. &amp;nbsp;We went to the company that supplies a C API for their product that contains the problem .dll. &amp;nbsp;This company will not provide the debug version of the .dll. &amp;nbsp;Are we at a dead end?&lt;/p&gt;
&lt;p&gt;We have Server 2003sp2, SQL Server 2005sp2, ESRI SDE 9.1sp2, VS2008 with a Solution containing a C++ project that makes calls to the &amp;quot;SDE C API&amp;quot; (SDE C API contains the problem DLL), a CSharp Wrapper project that wraps the C++ code and a VB Web Service project that calls the CSharp Wrapper code.&lt;/p&gt;
&lt;p&gt;Running the Web Service from within VS2008 everything works great! &amp;nbsp;We call a method which returns the expected data. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;We publish the web service to the same machine VS2008 runs the solution successfully on. &amp;nbsp;Run IE, pull up the page to test the Web Service, select the method and provide one parameter, then Invoke the method. &amp;nbsp;It throws &amp;quot;An unhandled win32 exception occured in W3WP.exe&amp;quot;. &amp;nbsp;We know from the debug/trace that the offending function is in the sdesqlsrvr91.dll, the name of the function that causes a Stack Overflow is SE_LowerCase. &amp;nbsp;Our code makes no direct calls to this function. &amp;nbsp;The SDE C API functions that we are making calls to within our C++ code are probably making a call to the SE_LowerCase function.&lt;/p&gt;
&lt;p&gt;Our event log reflects the following:&lt;/p&gt;
&lt;p&gt;A process serving application pool 'DefaultAppPool' suffered a fatal communication error with the World Wide Web Publishing Service. The process id was '3212'. The data field contains the error number.&lt;/p&gt;
&lt;p&gt;A process serving application pool 'DefaultAppPool' terminated unexpectedly. The process id was '3440'. The process exit code was '0x0'.&lt;/p&gt;
&lt;p&gt;Is there anything else we can do? &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#8667022</link><pubDate>Sun, 29 Jun 2008 14:10:48 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8667022</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Harry - unfortunately, your issue is with the 3rd party software. There is little Microsoft or anyone else can do about it.&lt;/p&gt;
&lt;p&gt;It sounds like that software does not work on Windows Server 2003 and IIS6 because applications are launched in different processes with different permissions and filepaths for debug by VS2008 and for-production by IIS6.&lt;/p&gt;
&lt;p&gt;You will need to verify that this 3rd party software is supported on Windows Server 2003 and if so, what are its required configuration. For example, this 3rd party product could have code searching up its stack for the process that launched it, and it is confused by finding w3wp.exe or &amp;quot;\\?\&amp;quot; in the filepath.&lt;/p&gt;
&lt;p&gt;In short, these would all be bugs in the 3rd party software if they say they support Windows Server 2003.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#8713469</link><pubDate>Wed, 09 Jul 2008 22:32:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8713469</guid><dc:creator>Dave</dc:creator><description>&lt;p&gt;Hi David,&lt;/p&gt;
&lt;p&gt;This is a great article that really helped me understand how to go about diagnosing an application crash.&lt;/p&gt;
&lt;p&gt;I am experiencing an issue where DEP stops one of my worker processes. &amp;nbsp;As a result, our site goes down and our web app along with it. &amp;nbsp;I have this generic entry in the application event log:&lt;/p&gt;
&lt;p&gt;Faulting application w3wp.exe, version 6.0.3790.1830, faulting module unknown, version 0.0.0.0, fault address 0x00ef0184.&lt;/p&gt;
&lt;p&gt;I have downloaded and installed Debug Diagnostics on the server this issue occurs on and setup a crash rule to perform a full dump when the next crash occurs. &amp;nbsp;My problem is, when I check on the utility the next day, the rule says &amp;quot;complete&amp;quot; and is no longer actively monitoring. &amp;nbsp;I usually have to keep re-activating the rule and checking on it to make sure it is still active. &amp;nbsp;The next time the crash occurred, I checked for a memory dump but the rule was &amp;quot;complete&amp;quot; and not active. &amp;nbsp;Therefore, I did not have a dump to analyze. &amp;nbsp;I do not have extensive knowledge of capturing application crashes, but I do want to learn how to so that I can try to fix this crash.&lt;/p&gt;
&lt;p&gt;In the advanced settings section of Debug Diagnostics, I went to the exceptions area and raised the action limit for some action types I added. &amp;nbsp;This was in hopes of being able to keep the crash rule active and capture the crash. &amp;nbsp;However, now I see these errors in my application event log:&lt;/p&gt;
&lt;p&gt;Event Type: Error &lt;/p&gt;
&lt;p&gt;Event Source: W3CTRS &lt;/p&gt;
&lt;p&gt;Event Category: None &lt;/p&gt;
&lt;p&gt;Event ID: 2003 &lt;/p&gt;
&lt;p&gt;Date: &amp;nbsp;7/9/2008 Time: &amp;nbsp;1:01:17 PM &lt;/p&gt;
&lt;p&gt;User: &amp;nbsp;N/A &lt;/p&gt;
&lt;p&gt;Computer: CAICORP-H01-16 &lt;/p&gt;
&lt;p&gt;Description: It has taken too long to refresh the W3SVC counters, the stale counters are being used instead.&lt;/p&gt;
&lt;p&gt;If you can help me understand how to keep a crash rule active in Debug Diagnostics, and also if the above error is something I should worry about, I would greatly appreciate it. &amp;nbsp;I really want to figure out what is causing this application to crash with Debug Diagnostics, but I just need some help with the advanced features.&lt;/p&gt;
&lt;p&gt;Thanks!&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#8722960</link><pubDate>Sat, 12 Jul 2008 10:07:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8722960</guid><dc:creator>Matthew Evans</dc:creator><description>&lt;p&gt;Thanks for the article David. &lt;/p&gt;
&lt;p&gt;We are experiencing exactly the (variety) of symptoms described. The system and event log contain a subset of the w3wp, App Pool communication errors (in various combinations) - as you describe.&lt;/p&gt;
&lt;p&gt;I suspect some kind of subtle recursion in our latest build. &lt;/p&gt;
&lt;p&gt;However the site is essentially unusable, we get this little beauty every 2-3 minutes:&lt;/p&gt;
&lt;p&gt;The description for Event ID ( 5000 ) in Source ( .NET Runtime 2.0 Error Reporting ) cannot be found. The local computer may not have the necessary registry information or message DLL files to display messages from a remote computer. You may be able to use the /AUXSOURCE= flag to retrieve this description; see Help and Support for details. The following information is part of the event: clr20r3, w3wp.exe, 6.0.3790.3959, 45d691cc, mscorlib, 2.0.0.0, 461f060e, 40cf, 2d, 5s11pi0dzbt3ygdcdkat1jwohxctyitc, NIL.&lt;/p&gt;
&lt;p&gt;Followed by a period where IIS doesn't respond to requests, after which the worker process appears to crash / recycle.&lt;/p&gt;
&lt;p&gt;I've rolled back the build as a result.&lt;/p&gt;
&lt;p&gt;My question is: since this is only occuring live, with realistic load, how can I obtain a debug dump outside the production environment ?&lt;/p&gt;
&lt;p&gt;Any ideas appreciated .&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#8785841</link><pubDate>Tue, 29 Jul 2008 00:59:39 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8785841</guid><dc:creator>Idowu Ademola </dc:creator><description>&lt;p&gt;Please Sir, The URL supplied is of the particular app im complaining about. Its most likely you will get the &amp;lt;h1&amp;gt;Server Unavailable&amp;lt;/h1&amp;gt; error when u view it. I need help i dont know how to use the described debugger, besides My App runs with asp.net 2.0 so does this apply to me? can i resolve to isolation mode? The App has been running for 6mths prior to &amp;nbsp;this problem!. Pls Any Advice will be appreciated...&lt;/p&gt;
&lt;p&gt;Pls Kindly mail me ur reply or send me back a link to this site cos im consulting many sites for help... idmode07@gmail.com&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#8850055</link><pubDate>Tue, 12 Aug 2008 09:49:12 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8850055</guid><dc:creator>Matthew Evans </dc:creator><description>&lt;p&gt;Thanks for the article David. &lt;/p&gt;
&lt;p&gt;We are experiencing exactly the (variety) of symptoms described. The system and event log contain a subset of the w3wp, App Pool communication errors (in various combinations) - as you describe.&lt;/p&gt;
&lt;p&gt;I suspect some kind of subtle recursion in our latest build. &lt;/p&gt;
&lt;p&gt;However the site is essentially unusable, we get this little beauty every 2-3 minutes:&lt;/p&gt;
&lt;p&gt;The description for Event ID ( 5000 ) in Source ( .NET Runtime 2.0 Error Reporting ) cannot be found. The local computer may not have the necessary registry information or message DLL files to display messages from a remote computer. You may be able to use the /AUXSOURCE= flag to retrieve this description; see Help and Support for details. The following information is part of the event: clr20r3, w3wp.exe, 6.0.3790.3959, 45d691cc, mscorlib, 2.0.0.0, 461f060e, 40cf, 2d, 5s11pi0dzbt3ygdcdkat1jwohxctyitc, NIL.&lt;/p&gt;
&lt;p&gt;Followed by a period where IIS doesn't respond to requests, after which the worker process appears to crash / recycle.&lt;/p&gt;
&lt;p&gt;I've rolled back the build as a result.&lt;/p&gt;
&lt;p&gt;My question is: since this is only occuring live, with realistic load, how can I obtain a debug dump outside the production environment ?&lt;/p&gt;
&lt;p&gt;Any ideas appreciated .&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#8850469</link><pubDate>Tue, 12 Aug 2008 13:43:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8850469</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Matthew - if you want to obtain a debug dump outside of production, then you will have to find a way to make it reproduce outside of production... otherwise, you will have to risk taking the debug dump from the production environment to get real information.&lt;/p&gt;
&lt;p&gt;Now, I don't have a bullet-proof decision tree for you to follow. If that was possible, then it would be automatable and we wouldn't be having this discussion. What I would suggest is that you need to determine if the issue requires realistic load (i.e. repetition), a certain timing-oriented bug, or is it some logical resource leak which load can easily trip over.&lt;/p&gt;
&lt;p&gt;Frankly, without the memory dump, one can only guess at the cause and then try to gather data to prove/disprove the hypothesis.&lt;/p&gt;
&lt;p&gt;For example, if you think it is recursion, then you are looking for the culprit request out of all possible requests made in production. You won't need load to reproduce a recursion issue.&lt;/p&gt;
&lt;p&gt;If the issue has to do with subtle timing issues, then it can be related to the request load quantity, sequence, etc.&lt;/p&gt;
&lt;p&gt;If the issue has to do with resource leakage, then with a request mix you should be able to reproduce it outside of production.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#8852215</link><pubDate>Tue, 12 Aug 2008 19:33:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8852215</guid><dc:creator>Ian Staines</dc:creator><description>&lt;p&gt;David,&lt;/p&gt;
&lt;p&gt;I am confused about the &amp;quot;pageheap&amp;quot; option of DebugDiag. &amp;nbsp;The help dialogs for DebugDiag suggest that this is a stand alone feature of DebugDiag, but when I try to enable the option I cannot figure out how to catpure exceptions generated by heap problems. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;I note that most discusion on heap corruption suggest that you use &amp;quot;Application Verifier&amp;quot; in conjuction with DebugDiag to capture heap problems. &amp;nbsp;If so what is the purpose of the &amp;quot;pageheap&amp;quot; option of DebugDiag?&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#8970084</link><pubDate>Tue, 30 Sep 2008 12:59:10 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8970084</guid><dc:creator>clinks63</dc:creator><description>&lt;p&gt;Hi David,&lt;/p&gt;
&lt;p&gt;I have read the blog and some of the comments. Based on your article, it was telling that it crash might came from user code. I was just wondering why this crash happens, for I'm running a code same code for 2-3 times but in the 4th-5th time..the page is reflecting that the session has expired..and in the event viewer the log is displaying &amp;quot;www crashed&amp;quot;..we also did some investigation, and what happens is that at the code, it stops at a random line of code..&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#8970211</link><pubDate>Tue, 30 Sep 2008 15:56:13 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8970211</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;clinks63 - Crashes do not happen on random lines of code, unless the bug is something else running inside the same process that is corrupting random memory location (and hence random lines of code seems to crash).&lt;/p&gt;
&lt;p&gt;The most likely cause of random memory corruption? More User code. Why? Well, if IIS itself was randomly corrupting memory, that same bug would affect thousands of servers world-wide and be rapidly detected, reported, and fixed.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#8998831</link><pubDate>Tue, 14 Oct 2008 02:50:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8998831</guid><dc:creator>Brian Milinazzo</dc:creator><description>&lt;p&gt;If anyone has been receiving this error with Cognos 8 application server, Cognos has provided a patch (hot site):&lt;/p&gt;
&lt;p&gt;# 604680 Available report processes flipping between peak number and non peak number every 20 minutes &lt;/p&gt;
&lt;p&gt;The detailed document for this hotfix also included a fix for a memory leak happening with AD authentication. They have said this should fix our particular issue and it appears to be resolved as we have applied this hotsite in addition to upgrading to Cognos 8.3 SP2. &lt;/p&gt;
&lt;p&gt;Brian&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#8999481</link><pubDate>Tue, 14 Oct 2008 16:39:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8999481</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Brian - Thanks for the notice. However, your patch only fixes one specific issue for one specific product. It is possible for another product to crash, and it is possible for the same product to crash in a different way, and while both would look the same from the Event Log, neither would be fixed by the patch you mention.&lt;/p&gt;
&lt;p&gt;Thus, I would not recommend telling people to go get patches when they see crashes. I recommend following this blog entry's advice to first diagnose the crash using automated tools, then query the support personel of the responsible module for a resolution to the diagnosed crash.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#9178858</link><pubDate>Fri, 05 Dec 2008 09:52:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9178858</guid><dc:creator>David</dc:creator><description>&lt;p&gt;IIS Pools tool from &lt;a rel="nofollow" target="_new" href="http://www.hoststools.com/"&gt;http://www.hoststools.com/&lt;/a&gt; is helpful when investigating app. pools crashes and hangs.&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#9191551</link><pubDate>Wed, 10 Dec 2008 19:31:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9191551</guid><dc:creator>leon</dc:creator><description>&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://forums.webhostautomation.com/showthread.php?t=22049"&gt;http://forums.webhostautomation.com/showthread.php?t=22049&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#9204179</link><pubDate>Sat, 13 Dec 2008 03:44:02 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9204179</guid><dc:creator>Wing-Leung</dc:creator><description>&lt;p&gt;I have been troubleshooting the &amp;quot;The identity of application pool, '___' is invalid&amp;quot;, event ID 1021, data field 0x8007052e for a couple of hours. I also saw the security failure audit, event ID 529, reason &amp;quot;Unknown user name or bad password&amp;quot;. So, this led me to change the password of the application pool identity. I also changed the Windows user's password to match (We use a local, restricted, account for the application pool). I also stopped and restarted the application pool. However, this did not resolve the issue. However, I eventually figured out that I had to do a full IIS restart and that did the trick.&lt;/p&gt;
&lt;p&gt;What I don't understand is why I need to do the IIS restart. When I restarted the application pool, I saw the w3wp.exe process stop so I figured a new w3wp.exe process should pick up the new credentials. For some reason it appears that IIS keeps some kind of credentials cached???&lt;/p&gt;
&lt;p&gt;I even tested this further by getting my site working (ie: password is now correct). Then I deliberately changed the user's password to something else. However, my site still loaded and application pool was still okay even after a stop and restart of the application pool. It is not until after I did a full IIS restart that I got the identity is invalid error as expected.&lt;/p&gt;
&lt;p&gt;I am missing something here regarding user accounts and password changes. Can one of the gurus here explain? Also, is there a way to do this without a full IIS restart (since it would cause other sites to be temporarily unavailable).&lt;/p&gt;
&lt;p&gt;Thank you&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#9222787</link><pubDate>Tue, 16 Dec 2008 03:23:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9222787</guid><dc:creator>ArntK</dc:creator><description>&lt;p&gt;Hi David,&lt;/p&gt;
&lt;p&gt;We have an ongoing case with Microsoft support about this issue. We have had the System events 1011/1009 &amp;nbsp;several times through the last 6 weeeks. MS has not been able to get any dump files, how is this possible? Please share any insight you have about this.&lt;/p&gt;
&lt;p&gt;Thank you.&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#9249543</link><pubDate>Tue, 23 Dec 2008 11:21:13 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9249543</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Wing-Leung - Full IIS restart is required because WAS has the application pool identities &amp;quot;cached&amp;quot; for use to [re]start an Application Pool.&lt;/p&gt;
&lt;p&gt;There is no change-notification within Windows for IIS to know whenever a user property has changed, and it is undesirable for IIS to constantly re-login the user account to start up an Application Pool (imagine if the Application Pool Identity is a domain user -- this behavior would potentially allow anonymous user to use IIS to DoS the Domain Controller under certain user configurations).&lt;/p&gt;
&lt;p&gt;Thus, the application pool identity is cached, and it can cause issue precisely when you alter user properties. However, that is the exceptional case, not the common case - user password probably changes every 90 days to never, while recycling application pool likely happens many times during 90 days. Given the lack of change-notification from Windows for IIS to know whenever a user property has changed, the ocassional issue with exceptional case is worth the security and performance benefit of the common case.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#9320425</link><pubDate>Thu, 15 Jan 2009 12:35:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9320425</guid><dc:creator>Pratik</dc:creator><description>&lt;p&gt;I got error in our asp.net application please give me a solution.&lt;/p&gt;
&lt;p&gt;EventType clr20r3, P1 w3wp.exe, P2 6.0.3790.3959, P3 45d6968e, P4 mscorlib, P5 2.0.0.0, P6 471ebc5b, P7 11d9, P8 18, P9 system.outofmemoryexception, P10 NIL&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#9334082</link><pubDate>Sat, 17 Jan 2009 06:57:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9334082</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Pratik - Your application is either using too much memory, or your web server has insufficient memory for your application. &lt;/p&gt;
&lt;p&gt;Determine how much memory your application needs. If you see the OutOfMemoryException without using that much memory, then the problem is with your ASP.Net application. Get a memory dump and walk through it using SOS.&lt;/p&gt;
&lt;p&gt;Basically, the problem is caused by your application, and you have to fix it.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#9418351</link><pubDate>Fri, 13 Feb 2009 14:08:39 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9418351</guid><dc:creator>Henri Visser</dc:creator><description>&lt;p&gt;I'm getting the same error in an application I wrote: Faulting application w3wp.exe, version 6.0.3790.3959, stamp 45d6968e, faulting module kernel32.dll, version 5.2.3790.4062, stamp 46264680, debug? 0, fault address 0x0000bee7.&lt;/p&gt;
&lt;p&gt;Only on Windows 2003, not XP or 2000. It happens when using the transform method to transform a XML document to an HTML document:&lt;/p&gt;
&lt;p&gt;Dim xmlout As New StringWriter()&lt;/p&gt;
&lt;p&gt;Dim transform As New Xsl.XslCompiledTransform &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;transform.Load(XSLTFileName)&lt;/p&gt;
&lt;p&gt;transform.Transform(doc, args, xmlout)&lt;/p&gt;
&lt;p&gt;Ive tried running in different app_pools, admin user account, but still no luck&lt;/p&gt;
&lt;p&gt;Any Ideas?&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#9418846</link><pubDate>Fri, 13 Feb 2009 17:22:16 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9418846</guid><dc:creator>Henri Visser</dc:creator><description>&lt;p&gt;Found the issue after using debugdiag and realizing its a memory leak:&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://social.msdn.microsoft.com/Forums/en-US/xmlandnetfx/thread/7fa6bbc4-c115-454f-af8e-0740b09d3b3a/"&gt;http://social.msdn.microsoft.com/Forums/en-US/xmlandnetfx/thread/7fa6bbc4-c115-454f-af8e-0740b09d3b3a/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#9442987</link><pubDate>Tue, 24 Feb 2009 21:33:57 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9442987</guid><dc:creator>Richard Mathis</dc:creator><description>&lt;p&gt;This is a great post, but I'm having trouble figuring out how to debug IIS 7.0. &amp;nbsp;Many tools have been recommended for prior versions of IIS on google, but IIS 7.0 doesn't seem to be well described. &amp;nbsp;Any recommendation on the best way to debug a crashing IIS 7.0 application pool?&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#9447181</link><pubDate>Thu, 26 Feb 2009 22:41:56 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9447181</guid><dc:creator>ekreger</dc:creator><description>&lt;p&gt;Hello. I have run debug diagnostics and am a little confused by its output.&lt;/p&gt;
&lt;p&gt;[2/25/2009 2:02:23 PM] Thread created. New thread system id - 4728&lt;/p&gt;
&lt;p&gt;[2/25/2009 2:02:23 PM] Thread created. New thread system id - 4016&lt;/p&gt;
&lt;p&gt;[2/25/2009 2:02:23 PM] First chance exception - 0xc0000005 caused by thread with system id 2448&lt;/p&gt;
&lt;p&gt;[2/25/2009 2:02:23 PM] First chance exception - 0xc0000005 caused by thread with system id 2448&lt;/p&gt;
&lt;p&gt;[2/25/2009 2:02:23 PM] First chance exception - 0xc0000005 caused by thread with system id 2448&lt;/p&gt;
&lt;p&gt;[2/25/2009 2:02:23 PM] First chance exception - 0xc0000005 caused by thread with system id 2448&lt;/p&gt;
&lt;p&gt;[2/25/2009 2:02:23 PM] First chance exception - 0xc0000005 caused by thread with system id 2448&lt;/p&gt;
&lt;p&gt;[2/25/2009 2:02:23 PM] First chance exception - 0xc0000005 caused by thread with system id 2448&lt;/p&gt;
&lt;p&gt;[2/25/2009 2:02:23 PM] First chance exception - 0xc0000005 caused by thread with system id 2448&lt;/p&gt;
&lt;p&gt;[2/25/2009 2:02:23 PM] First chance exception - 0xc0000005 caused by thread with system id 2448&lt;/p&gt;
&lt;p&gt;[2/25/2009 2:02:23 PM] First chance exception - 0xc0000005 caused by thread with system id 2448&lt;/p&gt;
&lt;p&gt;[2/25/2009 2:02:23 PM] First chance exception - 0xc0000005 caused by thread with system id 2448&lt;/p&gt;
&lt;p&gt;[2/25/2009 2:02:23 PM] First chance exception - 0xc0000005 caused by thread with system id 2448&lt;/p&gt;
&lt;p&gt;[2/25/2009 2:02:23 PM] First chance exception - 0xc0000005 caused by thread with system id 2448&lt;/p&gt;
&lt;p&gt;[2/25/2009 2:02:23 PM] First chance exception - 0xc0000005 caused by thread with system id 2448&lt;/p&gt;
&lt;p&gt;[2/25/2009 2:02:23 PM] First chance exception - 0xc0000005 caused by thread with system id 2448&lt;/p&gt;
&lt;p&gt;[2/25/2009 2:02:23 PM] First chance exception - 0xc0000005 caused by thread with system id 2448&lt;/p&gt;
&lt;p&gt;[2/25/2009 2:02:23 PM] First chance exception - 0xc0000005 caused by thread with system id 2448&lt;/p&gt;
&lt;p&gt;[2/25/2009 2:02:23 PM] First chance exception - 0xc0000005 caused by thread with system id 2448&lt;/p&gt;
&lt;p&gt;This is just a sample but from what I understand, First Chance Excpetions are not necessarily a problem. &amp;nbsp;However.... Should I be seeing this many so often on a site that is not being used hardly at all?&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#9467643</link><pubDate>Mon, 09 Mar 2009 13:58:28 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9467643</guid><dc:creator>Mauro</dc:creator><description>&lt;p&gt;Hi David,&lt;/p&gt;
&lt;p&gt;in my application I receive sometimes this error.&lt;/p&gt;
&lt;p&gt;Could you please have a look on it?&lt;/p&gt;
&lt;p&gt;Faulting application w3wp.exe, version 6.0.3790.3959, stamp 45d6968e, faulting module kernel32.dll, version 5.2.3790.4062, stamp 462646fb, debug? 0, fault address 0x0000bee7.&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#9468486</link><pubDate>Tue, 10 Mar 2009 04:18:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9468486</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Richard Mathis - the same approach works for IIS7. In fact, the same troubleshooting approach works for all versions of IIS for the past 15 years. &lt;/p&gt;
&lt;p&gt;IIS7 just comes with new features like Failed Request Tracing which allows you to troubleshoot non-crashes, but for crashes/hangs, you still apply the same described approach because it is how you debug/troubleshoot issues in general on Windows.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#9468488</link><pubDate>Tue, 10 Mar 2009 04:20:35 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9468488</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Mauro - You will need to use a tool like IIS State or DebugDiag to capture a stack backtrace of the crash and diagnose your issue.&lt;/p&gt;
&lt;p&gt;It is unlikely for w3wp.exe (IIS code) or kernel32.dll (Windows code) to be the issue causing the crash, so you need to use the stack backtrace to see what other code is using the IIS/Windows code to better determine the real issue.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#9468498</link><pubDate>Tue, 10 Mar 2009 04:23:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9468498</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;ekreger - It is not possible to determine correctness of exceptions without knowing the code that is being executed.&lt;/p&gt;
&lt;p&gt;For example, First Chance Exception can result from managed Exceptions being thrown and caught. Which may be expected. Or not expected. Totally depends on the application and its architecture.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#9550502</link><pubDate>Wed, 15 Apr 2009 13:34:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9550502</guid><dc:creator>Marc Novak</dc:creator><description>&lt;p&gt;Excellent article David.&lt;/p&gt;
&lt;p&gt;IIS State helped me track down (precisely) what was causing our SMTP / Inetinfo service to fail.&lt;/p&gt;
&lt;p&gt;In my case an application we had been using for many years called Policy Patrol (which hooks into the SMTP service) had issues. As detailed below. We have now removed Policy Patrol (with a view to re-installing at some point in the future)&lt;/p&gt;
&lt;p&gt;One thing worth noting is. When you terminate IIS State it also terminates the InetInfo.exe it’s monitoring. On that basis IIS State should only be used with that in mind.&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;
&lt;p&gt;Marc&lt;/p&gt;
&lt;p&gt;IIS State output……….&lt;/p&gt;
&lt;p&gt;Opened log file 'D:\iisstate\output\IISState-5628.log' &lt;/p&gt;
&lt;p&gt;*********************** &lt;/p&gt;
&lt;p&gt;Starting new log output &lt;/p&gt;
&lt;p&gt;IISState version 3.3.1 &lt;/p&gt;
&lt;p&gt;Wed Apr 15 10:34:41 2009 &lt;/p&gt;
&lt;p&gt;OS = Windows 2003 Server &lt;/p&gt;
&lt;p&gt;Executable: inetinfo.exe &lt;/p&gt;
&lt;p&gt;PID = 5628 &lt;/p&gt;
&lt;p&gt;Note: Thread times are formatted as HH:MM:SS.ms &lt;/p&gt;
&lt;p&gt;*********************** &lt;/p&gt;
&lt;p&gt;IIS has crashed... &lt;/p&gt;
&lt;p&gt;Beginning Analysis &lt;/p&gt;
&lt;p&gt;DLL (!FunctionName) that failed: ntdll!RtlAllocateHeap &lt;/p&gt;
&lt;p&gt;Thread ID: 21 &lt;/p&gt;
&lt;p&gt;System Thread ID: 1b88 &lt;/p&gt;
&lt;p&gt;Kernel Time: 0:0:0.78 &lt;/p&gt;
&lt;p&gt;User Time: 0:0:0.62 &lt;/p&gt;
&lt;p&gt;*** WARNING: Unable to verify checksum for D:\Program Files\Red Earth Software\Policy Patrol Email 4\MailProcessor\PP4_SMTPSink.DLL &lt;/p&gt;
&lt;p&gt;*** ERROR: Symbol file could not be found. Defaulted to export symbols for D:\Program Files\Red Earth Software\Policy Patrol Email 4\MailProcessor\PP4_SMTPSink.DLL -&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#9558450</link><pubDate>Tue, 21 Apr 2009 09:51:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9558450</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Marc - failures during memory allocation (like ntdll!RtlAllocateHeap) indicate something in the process is corrupting memory that it does not own.&lt;/p&gt;
&lt;p&gt;It *may* be possible that PP4_SMTPSink.dll is a victim, but if you remove it and the crashes go away, it is a good bet that it was the one corrupting memory, in which case you will not be able to re-install it in the future without getting a new build which fixes the memory corruption.&lt;/p&gt;
&lt;p&gt;To help detect memory corruption, you want to use Application Verifier with full pageheap checking enabled.&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=C4A25AB9-649D-4A1B-B4A7-C9D8B095DF18&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=C4A25AB9-649D-4A1B-B4A7-C9D8B095DF18&amp;amp;displaylang=en&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Basically, heap checks work by allocating memory on page-boundaries, so if you overstep your memory boundary, you end up touching unallocated memory and Windows immediately halts the process with an access violation -- instead of the usual packed memory allocation scheme where if you overstep your memory boundary, you end up stomping on some other memory allocation nearby and corrupt that memory.&lt;/p&gt;
&lt;p&gt;Of course, such memory checking technique impacts available memory (allocating on page boundaries wastes lots of space in a memory page) and also hooks Application Verifier into that process for all memory allocation/deallocation, but it is also the surest and easiest way to track down memory corruption.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#9624997</link><pubDate>Mon, 18 May 2009 12:10:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9624997</guid><dc:creator>Rakesh Jain</dc:creator><description>&lt;p&gt;Hi David&lt;/p&gt;
&lt;p&gt;Very useful article, i appreciate your in depth knowledge on the subject.&lt;/p&gt;
&lt;p&gt;I have a similar problem, My application get crashed and when i see the event log i see a warning message .&lt;/p&gt;
&lt;p&gt;&amp;quot;W3SVC - A process serving application pool 'DefaultAppPool' suffered a fatal communication error with the World Wide Web Publishing Service. The process id was '5236'. The data field contains the error number. &amp;quot;&lt;/p&gt;
&lt;p&gt;and my httperr.log says&lt;/p&gt;
&lt;p&gt;2009-05-15 09:38:13 192.168.15.104 1339 192.168.1.49 80 HTTP/1.1 GET /MYCUBE-/Web/COOL/ENG/Online/FCISVSubscription.aspx?TXNNO=0220091350001209&amp;amp;MODE=VIEW&amp;amp;AUTHSTAT=U&amp;amp;LimitOrder=&amp;amp;LimitOrderType=&amp;amp;hdnTxnModified=0&amp;amp;MODID=OCMCFOCPT&amp;amp;AUTH=Y&amp;amp;rnd=0.5925906497712439&amp;amp;TITLE=Subscription - 1 Connection_Abandoned_By_AppPool DefaultAppPool&lt;/p&gt;
&lt;p&gt;I realised from your articles that i could the problem with my application and i tried to trace the error using the Debug Diagnostic Tool v1.1.&lt;/p&gt;
&lt;p&gt;I has generated the dump files on crash on when i did the analysis , i found nothings, it reads &amp;quot; there is no problem detected in dump&amp;quot;&lt;/p&gt;
&lt;p&gt;I am really not sure how to approach this problem further, as log did not detect any problem but my application is getting crashed everyday.&lt;/p&gt;
&lt;p&gt;Application : its built on asp.net 1.1 platform (it has got migrated asp code also)&lt;/p&gt;
&lt;p&gt;db :oracle&lt;/p&gt;
&lt;p&gt;sever: windows 2003 sp 1&lt;/p&gt;
&lt;p&gt;Please help me out.&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#9631915</link><pubDate>Wed, 20 May 2009 12:17:21 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9631915</guid><dc:creator>Rakesh Jain </dc:creator><description>&lt;p&gt;Hi David &lt;/p&gt;
&lt;p&gt;Debug Diagnostic Tool v1.1 tools seems to found an answer, it has generated the dmp and when i did the analysis, it shows the error as &lt;/p&gt;
&lt;p&gt;In w3wp__PID__3112__Date__05_20_2009__Time_10_12_29AM__750__First chance exception 0XC0000005.dmp the assembly instruction at kernel32!RaiseException+53 in C:\WINDOWS\system32\kernel32.dll from Microsoft Corporation has caused an access violation exception (0xC0000005) when trying to read from memory location 0x00000000 on thread 15&lt;/p&gt;
&lt;p&gt;Not sure how to approach this problem.&lt;/p&gt;
&lt;p&gt;Any suggestion&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#9812374</link><pubDate>Thu, 02 Jul 2009 03:28:39 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9812374</guid><dc:creator>sohbeti</dc:creator><description>&lt;p&gt;kameralı sesli sohbet siteleri&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#9894215</link><pubDate>Fri, 11 Sep 2009 17:52:34 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9894215</guid><dc:creator>KrisRaam</dc:creator><description>&lt;p&gt;Hi David, I have read your post which is simple and good. &lt;/p&gt;
&lt;p&gt;I have a persisting problem on the IIS 6.0 crash. I found out i web service is causing more CPU usuage. But the same copy of the webservice in another W2k3 server where there's not any problem.&lt;/p&gt;
&lt;p&gt;Event Type:	Warning&lt;/p&gt;
&lt;p&gt;Event Source:	W3SVC&lt;/p&gt;
&lt;p&gt;Event Category:	None&lt;/p&gt;
&lt;p&gt;Event ID:	1011&lt;/p&gt;
&lt;p&gt;Date:		11/09/2009&lt;/p&gt;
&lt;p&gt;Time:		13:28:54&lt;/p&gt;
&lt;p&gt;User:		N/A&lt;/p&gt;
&lt;p&gt;Computer:	KRIS&lt;/p&gt;
&lt;p&gt;Description:&lt;/p&gt;
&lt;p&gt;A process serving application pool 'NewAppPool' suffered a fatal communication error with the World Wide Web Publishing Service. The process id was '11280'. The data field contains the error number. &lt;/p&gt;
&lt;p&gt;For more information, see Help and Support Center at &lt;a rel="nofollow" target="_new" href="http://go.microsoft.com/fwlink/events.asp"&gt;http://go.microsoft.com/fwlink/events.asp&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Pls help me out!!!&lt;/p&gt;
</description></item><item><title>re: HOWTO: Understand and Diagnose an Application Pool Crash</title><link>http://blogs.msdn.com/david.wang/archive/2005/08/29/HOWTO-Understand-and-Diagnose-an-AppPool-Crash.aspx#9921321</link><pubDate>Thu, 12 Nov 2009 12:56:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9921321</guid><dc:creator>Vikram</dc:creator><description>&lt;p&gt;Hi David,&lt;/p&gt;
&lt;p&gt;my web application (developed in ASP.NET 3.5) is not running on IIS 6.0 (OS: Windows Server 2003 SP2) it is displaying &amp;quot;Page Cannot be displayed&amp;quot; &amp;nbsp;&amp;amp; when i checked the httperr.log file i found &amp;quot;Connection_Abandoned_By_AppPool DefaultAppPool&amp;quot;.The worker process is getting crashed...&lt;/p&gt;
&lt;p&gt;Everything was working fine until i installed some windows security updates.I guess the problem is with the updates.&lt;/p&gt;
&lt;p&gt;But how should i fix it to work?&lt;/p&gt;
</description></item></channel></rss>