Solved

Event 1309, ASP.NET 4.0.30319.0 - SQLException

Posted on 2014-01-15
5
2,472 Views
Last Modified: 2014-02-22
I have a 2008 R2 Standard server running IIS.  All of a sudden, one of our websites has intermittently stopped working.   One moment, everything is working fine, another moment, you try to go to a page and you get:

Event code: 3005
Event message: An unhandled exception has occurred.
Event time: 1/15/2014 10:56:43 AM
Event time (UTC): 1/15/2014 3:56:43 PM
Event ID: 7bb0e98b384342bfa73eb0d9a96a28fe
Event sequence: 1824
Event occurrence: 9
Event detail code: 0
 
Application information:
    Application domain: /LM/W3SVC/1/ROOT/Tracker3-1-130342667892637656
    Trust level: Full
    Application Virtual Path: /Tracker3
    Application Path: C:\Program Files\Tracker.Net 3\Tracker3\
    Machine name: INTRANET
 
Process information:
    Process ID: 5896
    Process name: w3wp.exe
    Account name: IIS APPPOOL\Framework_4_Classic_x86
 
Exception information:
    Exception type: SqlException
    Exception message: Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.
   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
   at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
   at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
   at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite)
   at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite)
   at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
   at VBTrain.WebTracking.Tracker3._default.UpdateDateRelatedLessonStatuses() in C:\2010Projects\LMS\Tracker.Net 3\LMSTracker3\default.aspx.vb:line 315
   at VBTrain.WebTracking.Tracker3._default.Page_Load(Object sender, EventArgs e) in C:\2010Projects\LMS\Tracker.Net 3\LMSTracker3\default.aspx.vb:line 109
   at System.Web.UI.Control.OnLoad(EventArgs e)
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

The wait operation timed out

 
 
Request information:
    Request URL: http://intranet/Tracker3/default.aspx?ReturnUrl=/Tracker3/LMSCourseList.aspx 
    Request path: /Tracker3/default.aspx
    User host address: 10.42.0.135
    User:  
    Is authenticated: False
    Authentication Type:  
    Thread account name: IIS APPPOOL\Framework_4_Classic_x86
 
Thread information:
    Thread ID: 21
    Thread account name: IIS APPPOOL\Framework_4_Classic_x86
    Is impersonating: False
    Stack trace:    at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
   at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
   at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
   at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite)
   at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite)
   at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
   at VBTrain.WebTracking.Tracker3._default.UpdateDateRelatedLessonStatuses() in C:\2010Projects\LMS\Tracker.Net 3\LMSTracker3\default.aspx.vb:line 315
   at VBTrain.WebTracking.Tracker3._default.Page_Load(Object sender, EventArgs e) in C:\2010Projects\LMS\Tracker.Net 3\LMSTracker3\default.aspx.vb:line 109
   at System.Web.UI.Control.OnLoad(EventArgs e)
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
 
 
Custom event details:


The solution is to simply recycle the Framework_4_Classic_x86 app pool, but my question is why does this keep happening.  Recycling the app pool is a band-aid and I am looking for the fix so this doesn't happen.  Any help is greatly appreciated.
0
Comment
Question by:pitster
  • 3
5 Comments
 
LVL 16

Expert Comment

by:Stephan
ID: 39784676
On the looks of the exception the SQL Server is not responding, but you probably already figured that out. What also could be is that you have connections staying open but normally that would cause a different exception message.

Check to see that the applcation is running in Release mode, not debug mode.  In Debug mode the connection pooling doesn't work.

A thing you can do to monitor is running the following query to see the connections:

user master
select * from sysprocess where dbid = yourdatabaseId

Open in new window


database Id you find by following query

use youdatabaseName
select db_id()

Open in new window


Replace "youdatabaseName" with the databasename you have

What also could be is that you have queries that take too long to answer. Maybe looking into a large table?

These are not really concrete solutions to your issue but hope it will help.
0
 
LVL 12

Expert Comment

by:deanvanrooyen
ID: 39795173
You will need to investigate on the SQL server box, run a trace on the SQL server, you will be able to tell if possibly there is locking, long running queries etc, missing indexes, other things like SQL environment - how busy is the site compared to number of CPUs and ram on the box etc has someone set the max memory to 100 mb etc
0
 
LVL 3

Author Comment

by:pitster
ID: 39796738
Thanks everyone.  I am forwarding these posts on to my SQL team.  Hope to hear back soon with some relevant information for an update.
0
 
LVL 3

Accepted Solution

by:
pitster earned 0 total points
ID: 39865453
The issue ended up being with an overloaded SQL server.  Seperated some items off so the SQL box could become responsive and now the issues appear to have gone away.
0
 
LVL 3

Author Closing Comment

by:pitster
ID: 39878987
Issue ended up being a secondary system affecting this primary system
0

Featured Post

Free learning courses: Active Directory Deep Dive

Get a firm grasp on your IT environment when you learn Active Directory best practices with Veeam! Watch all, or choose any amount, of this three-part webinar series to improve your skills. From the basics to virtualization and backup, we got you covered.

Question has a verified solution.

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

What is an ISAPI filter?   •      It's an assembly (.dll file) that can add or change the way IIS works.   •      They can be enabled globally for your web server or on a site-by-site basis.   When the IIS server receives a request, enabling the ISAPI fi…
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…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…
I've attached the XLSM Excel spreadsheet I used in the video and also text files containing the macros used below. https://filedb.experts-exchange.com/incoming/2017/03_w12/1151775/Permutations.txt https://filedb.experts-exchange.com/incoming/201…

679 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