when running an asp.net application there are intermittent errors occuring like the one below
currently we have requested for the code but until then if there is a solution available it would be great
any help?
Log Name: Application
Source: ASP.NET 2.0.50727.0
Date: 24-3-2011 11:45:25
Event ID: 1334
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: xxx
Description:
An unhandled exception occurred and the process was terminated.
Application ID: /LM/W3SVC/1/ROOT/WebClient
Process ID: 4808
Exception: System.ArgumentNullException
Message: Value cannot be null.
StackTrace: at System.Threading.Monitor.Enter(Object obj)
at System.Data.ProviderBase.DbConnectionPool.TransactedConnectionPool.TransactionEnded(Transaction transaction, DbConnectionInternal transactedObject)
at System.Data.ProviderBase.DbConnectionPool.TransactionEnded(Transaction transaction, DbConnectionInternal transactedObject)
at System.Data.ProviderBase.DbConnectionInternal.CleanupConnectionOnTransactionCompletion(Transaction transaction)
at System.Data.ProviderBase.DbConnectionInternal.TransactionCompletedEvent(Object sender, TransactionEventArgs e)
at System.Transactions.TransactionCompletedEventHandler.Invoke(Object sender, TransactionEventArgs e)
at System.Transactions.InternalTransaction.FireCompletion()
at System.Transactions.TransactionStatePromotedCommitted.EnterState(InternalTransaction tx)
at System.Transactions.TransactionStatePromotedBase.ChangeStatePromotedCommitted(InternalTransaction tx)
at System.Transactions.InternalTransaction.DistributedTransactionOutcome(InternalTransaction tx, TransactionStatus status)
at System.Transactions.Oletx.RealOletxTransaction.FireOutcome(TransactionStatus statusArg)
at System.Transactions.Oletx.OutcomeEnlistment.InvokeOutcomeFunction(TransactionStatus status)
at System.Transactions.Oletx.OletxTransactionManager.ShimNotificationCallback(Object state, Boolean timeout)
at System.Threading._ThreadPoolWaitOrTimerCallback.PerformWaitOrTimerCallback(Object state, Boolean timedOut)
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="ASP.NET 2.0.50727.0" />
<EventID Qualifiers="49152">1334</EventID>
<Level>2</Level>
<Task>0</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2011-03-24T10:45:25.000Z" />
<EventRecordID>11414</EventRecordID>
<Channel>Application</Channel>
<Computer>xxxx</Computer>
<Security />
</System>
<EventData>
<Data>An unhandled exception occurred and the process was terminated.
Application ID: /LM/W3SVC/1/ROOT/WebClient
Process ID: 4808
Exception: System.ArgumentNullException
Message: Value cannot be null.
StackTrace: at System.Threading.Monitor.Enter(Object obj)
at System.Data.ProviderBase.DbConnectionPool.TransactedConnectionPool.TransactionEnded(Transaction transaction, DbConnectionInternal transactedObject)
at System.Data.ProviderBase.DbConnectionPool.TransactionEnded(Transaction transaction, DbConnectionInternal transactedObject)
at System.Data.ProviderBase.DbConnectionInternal.CleanupConnectionOnTransactionCompletion(Transaction transaction)
at System.Data.ProviderBase.DbConnectionInternal.TransactionCompletedEvent(Object sender, TransactionEventArgs e)
at System.Transactions.TransactionCompletedEventHandler.Invoke(Object sender, TransactionEventArgs e)
at System.Transactions.InternalTransaction.FireCompletion()
at System.Transactions.TransactionStatePromotedCommitted.EnterState(InternalTransaction tx)
at System.Transactions.TransactionStatePromotedBase.ChangeStatePromotedCommitted(InternalTransaction tx)
at System.Transactions.InternalTransaction.DistributedTransactionOutcome(InternalTransaction tx, TransactionStatus status)
at System.Transactions.Oletx.RealOletxTransaction.FireOutcome(TransactionStatus statusArg)
at System.Transactions.Oletx.OutcomeEnlistment.InvokeOutcomeFunction(TransactionStatus status)
at System.Transactions.Oletx.OletxTransactionManager.ShimNotificationCallback(Object state, Boolean timeout)
at System.开发者_运维技巧Threading._ThreadPoolWaitOrTimerCallback.PerformWaitOrTimerCallback(Object state, Boolean timedOut)</Data>
</EventData>
</Event>
You can not do anything from outside the program.
The message is clear: Value cannot be null , this is ether a bug, ether a bad configuration of your program.
One function is called with null value, and crash.
By the way, pool is not crash, just the page is not working.
According to this: https://connect.microsoft.com/VisualStudio/feedback/details/449469/transactedconnectionpool-bug-in-vista-server-2008-sp2
It's known bug with SP2 - I think the most simple work around is what Polchen wrote:
Disable connection pooling in the database connection string
Hopefully this string is inside configuration file and not hard coded.
精彩评论