Hi,
Recently we discovered in our production server this kind of
exception :
We are wondering what causes the transaction to be zombied, and why do
we get a nullreferenceexception in this method ? As you will see in
the call stack, at every 5 minutes (timer), we are inserting data in a
transaction. In a day, we can have 2-3 occurence of this problème.
1) Exception Information
*********************************************
Exception Type: System.NullReferenceException
Message: Object reference not set to an instance of an object.
Data: System.Collections.ListDictionaryInternal
TargetSite: Void Zombie()
HelpLink: NULL
Source: System.Data
StackTrace Information
*********************************************
at System.Data.SqlClient.SqlTransaction.Zombie()
at System.Data.SqlClient.SqlInternalTransaction.Zombi eParent()
at System.Data.SqlClient.SqlInternalTransaction.Zombi e()
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior,
SqlCommand cmdHandler, SqlDataReader dataStream,
BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject
stateObj)
at
System.Data.SqlClient.TdsParser.TdsExecuteTransact ionManagerRequest(Byte[]
buffer, TransactionManagerRequestType request, String transactionName,
TransactionManagerIsolationLevel isoLevel, Int32 timeout,
SqlInternalTransaction transaction, TdsParserStateObject stateObj)
at
System.Data.SqlClient.SqlInternalConnectionTds.Exe cuteTransactionYukon(TransactionRequest
transactionRequest, String transactionName, IsolationLevel iso,
SqlInternalTransaction internalTransaction)
at
System.Data.SqlClient.SqlInternalConnectionTds.Exe cuteTransaction(TransactionRequest
transactionRequest, String name, IsolationLevel iso,
SqlInternalTransaction internalTransaction)
at System.Data.SqlClient.SqlInternalTransaction.Commi t()
at System.Data.SqlClient.SqlTransaction.Commit()
at Notifications.NotificationService.CreateNotificati on()
at Webservices.Global.StartNextTask(Object notused)
at System.Threading._TimerCallback.TimerCallback_Cont ext(Object
state)
at System.Threading.ExecutionContext.Run(ExecutionCon text
executionContext, ContextCallback callback, Object state)
at System.Threading._TimerCallback.PerformTimerCallba ck(Object
state)