Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

IIS 6.0 Application Pools Hang at Random Intervals

Posted on 2008-10-07
3
Medium Priority
?
980 Views
Last Modified: 2010-04-21
I have a website that fails at random intervals. The development team thinks that issue is with the application pool hanging but everytime the site stops responding the app pool seems to be running and I get the following error in the event logs. The server is Windows 2003 SP2 running on VMWare ESX3.5 server attached to an EMC NS20 SAN. The server is up to date on patches. The SQL server is the same config running SQL 2000. Any insight would be greatly appreciated.

Event code: 3005
Event message: An unhandled exception has occurred.
Event time: 10/7/2008 8:58:46 AM
Event time (UTC): 10/7/2008 12:58:46 PM
Event ID: 291e327915c34c58a96d4be3002ddc09
Event sequence: 25
Event occurrence: 1
Event detail code: 0
 
Application information:
    Application domain: /LM/W3SVC/1071726003/ROOT-1-128678578159037282
    Trust level: Full
    Application Virtual Path: /
    Application Path: D:\inetpub\wwwroot\www.corp.com\
    Machine name: VP-WWW
 
Process information:
    Process ID: 4768
    Process name: w3wp.exe
    Account name: NT AUTHORITY\NETWORK SERVICE
 
Exception information:
    Exception type: InvalidOperationException
    Exception message: There is already an open DataReader associated with this Command which must be closed first.
 
Request information:
    Request URL: http://xxx.corp.com/showPage2Col.aspx?redir=sites 
    Request path: /showPage2Col.aspx
    User host address: xxx.29.1.16
    User:  
    Is authenticated: False
    Authentication Type:  
    Thread account name: NT AUTHORITY\NETWORK SERVICE
 
Thread information:
    Thread ID: 6
    Thread account name: NT AUTHORITY\NETWORK SERVICE
    Is impersonating: False
    Stack trace:    at System.Data.SqlClient.SqlInternalConnectionTds.ValidateConnectionForExecute(SqlCommand command)
   at System.Data.SqlClient.SqlConnection.ValidateConnectionForExecute(String method, SqlCommand command)
   at System.Data.SqlClient.SqlCommand.ValidateCommand(String method, Boolean async)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
   at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
   at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
   at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
   at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
   at System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
   at System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
   at clsModFunctions.ExecuteSQL(String sSQL, Boolean OptIsDev) in http://server//App_Code/clsModFunctions.vb:line 58
   at userControls_uc2Col.Page_Load(Object sender, EventArgs e) in http://server//userControls/uc2Col.ascx.vb:line 18
   at System.Web.UI.Control.OnLoad(EventArgs e)
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
0
Comment
Question by:jamesdow
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
3 Comments
 
LVL 2

Accepted Solution

by:
ScottGranado earned 1500 total points
ID: 22675082
In order to find out what is happening with web site hanging you would have to create a hang rule in the debug diag tool listed below.  then you can capture the application threads to find out what is occurring to cause the hang.

Here is some additional reading on this tool:
http://blogs.msdn.com/debugdiag/

Internet Information Services Diagnostic Tools
http://www.microsoft.com/windowsserver2003/iis/diagnostictools/default.mspx

Download Debug Diagnostic Tool v1.1
http://www.microsoft.com/downloads/details.aspx?FamilyID=28bd5941-c458-46f1-b24d-f60151d875a3&displaylang=en

How to use the Debug Diagnostics tool to troubleshoot an IIS process that stops unexpectedly
http://support.microsoft.com/kb/919789/en-us

http://support.microsoft.com/search/default.aspx?catalog=LCID%3D1033&query=Debug+Diagnostic+Tool&mode=r
0
 

Author Closing Comment

by:jamesdow
ID: 31503836
We were able to determine by the logs that there was an error with IIS and how it was installed that were causing the problems. Thanks for your help
0

Featured Post

NFR key for Veeam Backup for Microsoft Office 365

Veeam is happy to provide a free NFR license (for 1 year, up to 10 users). This license allows for the non‑production use of Veeam Backup for Microsoft Office 365 in your home lab without any feature limitations.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Running classic asp applications under Windows Server 2008 R2 (x64) and IIS 7 is not as easy as one may think. It took me a while to figure it out while getting error 8002801d a few times. After you install the OS you will need to install the fol…
If you are a web developer, you would be aware of the <iframe> tag in HTML. The <iframe> stands for inline frame and is used to embed another document within the current HTML document. The embedded document could be even another website.
Visualize your data even better in Access queries. Given a date and a value, this lesson shows how to compare that value with the previous value, calculate the difference, and display a circle if the value is the same, an up triangle if it increased…
In this video, Percona Solutions Engineer Barrett Chambers discusses some of the basic syntax differences between MySQL and MongoDB. To learn more check out our webinar on MongoDB administration for MySQL DBA: https://www.percona.com/resources/we…

715 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question