问题描述
我们经常面临以下问题:AppFabric缓存服务崩溃并出现以下错误消息,
AppFabric缓存服务因异常{System.Runtime.CallbackException:Async Callback引发异常而崩溃。 ---> System.NullReferenceException:对象引用未设置为对象的实例。
在Microsoft.ApplicationServer.Caching.MultiDirectoryHashtable.GetPlaceHolderObject(对象键)
在Microsoft.ApplicationServer.Caching.MultiDirectoryHashtable.PreProcess(MDHObjectNode oldObjectNode,MDHObjectNode& newObjectNode,MDHOperationInfo& operationInfo)
在Microsoft.ApplicationServer.Caching.MultiDirectoryHashtable.PutNodeInSlot(MDHOperationInfo& operationInfo,MDHDirectoryNode dir,Int32 slotIndex)
在Microsoft.ApplicationServer.Caching.MultiDirectoryHashtable.TryOperation(MDHOperationInfo& operationInfo)
在Microsoft.ApplicationServer.Caching.MultiDirectoryHashtable.PerformOperation(MDHOperationInfo& operationInfo)
at Microsoft.ApplicationServer.Caching.MultiDirectoryHashtable.GetAndLock(Object key,TimeSpan lockTimeOut,Boolean lockKey,DMOperationCallBack preOperation,DMOperationCallBack postOperation,Object opState)
at Microsoft.ApplicationServer.Caching.DMHashContainer.GetAndLock(Object key,TimeSpan lockTimeOut,Boolean lockKey,Object opState)
在Microsoft.ApplicationServer.Caching.OMRegion.GetAndLock(对象键,TimeSpan lockTimeOut,Boolean lockKey,Object opState)
在Microsoft.ApplicationServer.Caching.ObjectManager.GetAndLock(String cacheName,String regionName,Object key,TimeSpan lockTimeOut,DataCacheLockHandle& lHandle,Boolean lockKey,Object opState)
在Microsoft.ApplicationServer.Caching.VelocityDataStore.ProcessWriteRequest(RequestBody request)
在Microsoft.ApplicationServer.Caching.VelocityDataStore.ProcessMessageRequest(RequestBody request)
在Microsoft.ApplicationServer.Caching.DistributedObjectManager.OnReceiveMessageFromRemoteDRM(IReplyContext replyContext)
在Microsoft.ApplicationServer.Caching.WcfServerChannel.InvokeCallback(消息消息,IChannelContainer容器)
在Microsoft.ApplicationServer.Caching.WcfServerChannel.CompleteProcessing(IAsyncResult结果)
at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
---内部异常堆栈跟踪结束---
at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
at System.ServiceModel.Channels.SynchronizedMessageSource.ReceiveAsyncResult.OnReceiveComplete(Object state)
在System.ServiceModel.Channels.SessionConnectionReader.OnAsyncReadComplete(对象状态)
在System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult结果)
在System.Net.LazyAsyncResult.Complete(IntPtr userToken)
在System.Net.Security.NegotiateStream.ProcessFrameBody(Int32 readBytes,Byte [] buffer,Int32 offset,Int32 count,AsyncProtocolRequest asyncRequest)
在System.Net.Security.NegotiateStream.ReadCallback(AsyncProtocolRequest asyncRequest)
在System.Net.FixedSizeReader.CheckCompletionBeforeNextRead(Int32 bytes)
在System.Net.FixedSizeReader.ReadCallback(IAsyncResult transportResult)
at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
at System.ServiceModel.Channels.ConnectionStream.ReadAsyncResult.OnAsyncReadComplete(Object state)
at System.ServiceModel.Channels.SocketConnection.AsyncReadCallback(Boolean hasResult,Int32 error,Int32 bytesRead)
在System.Runtime.Fx.IOCompletionThunk.UnhandledExceptionFrame(UInt32错误,UInt32 bytesRead,NativeOverlapped * nativeOverlapped)
在System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode,UInt32 numBytes,NativeOverlapped * pOVERLAP)}。检查调试日志以获取更多信息
然后非常接下来的访问总是记录以下错误信息,
AppFabric缓存服务崩溃。{Lease外部存储过期:}
缓存集群配置和数据库服务器时序相同。我们在群集中只有一个主机。
急切等待回复,因为这是生产问题。
问候,
Hariharan
Hi,
We are facing the following issue very frequently that AppFabric Caching service is crashing with following error message,
AppFabric Caching service crashed with exception {System.Runtime.CallbackException: Async Callback threw an exception. ---> System.NullReferenceException: Object reference not set to an instance of an object.
at Microsoft.ApplicationServer.Caching.MultiDirectoryHashtable.GetPlaceHolderObject(Object key)
at Microsoft.ApplicationServer.Caching.MultiDirectoryHashtable.PreProcess(MDHObjectNode oldObjectNode, MDHObjectNode& newObjectNode, MDHOperationInfo& operationInfo)
at Microsoft.ApplicationServer.Caching.MultiDirectoryHashtable.PutNodeInSlot(MDHOperationInfo& operationInfo, MDHDirectoryNode dir, Int32 slotIndex)
at Microsoft.ApplicationServer.Caching.MultiDirectoryHashtable.TryOperation(MDHOperationInfo& operationInfo)
at Microsoft.ApplicationServer.Caching.MultiDirectoryHashtable.PerformOperation(MDHOperationInfo& operationInfo)
at Microsoft.ApplicationServer.Caching.MultiDirectoryHashtable.GetAndLock(Object key, TimeSpan lockTimeOut, Boolean lockKey, DMOperationCallBack preOperation, DMOperationCallBack postOperation, Object opState)
at Microsoft.ApplicationServer.Caching.DMHashContainer.GetAndLock(Object key, TimeSpan lockTimeOut, Boolean lockKey, Object opState)
at Microsoft.ApplicationServer.Caching.OMRegion.GetAndLock(Object key, TimeSpan lockTimeOut, Boolean lockKey, Object opState)
at Microsoft.ApplicationServer.Caching.ObjectManager.GetAndLock(String cacheName, String regionName, Object key, TimeSpan lockTimeOut, DataCacheLockHandle& lHandle, Boolean lockKey, Object opState)
at Microsoft.ApplicationServer.Caching.VelocityDataStore.ProcessWriteRequest(RequestBody request)
at Microsoft.ApplicationServer.Caching.VelocityDataStore.ProcessMessageRequest(RequestBody request)
at Microsoft.ApplicationServer.Caching.DistributedObjectManager.OnReceiveMessageFromRemoteDRM(IReplyContext replyContext)
at Microsoft.ApplicationServer.Caching.WcfServerChannel.InvokeCallback(Message message, IChannelContainer container)
at Microsoft.ApplicationServer.Caching.WcfServerChannel.CompleteProcessing(IAsyncResult result)
at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
--- End of inner exception stack trace ---
at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
at System.ServiceModel.Channels.SynchronizedMessageSource.ReceiveAsyncResult.OnReceiveComplete(Object state)
at System.ServiceModel.Channels.SessionConnectionReader.OnAsyncReadComplete(Object state)
at System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
at System.Net.LazyAsyncResult.Complete(IntPtr userToken)
at System.Net.Security.NegotiateStream.ProcessFrameBody(Int32 readBytes, Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest)
at System.Net.Security.NegotiateStream.ReadCallback(AsyncProtocolRequest asyncRequest)
at System.Net.FixedSizeReader.CheckCompletionBeforeNextRead(Int32 bytes)
at System.Net.FixedSizeReader.ReadCallback(IAsyncResult transportResult)
at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
at System.ServiceModel.Channels.ConnectionStream.ReadAsyncResult.OnAsyncReadComplete(Object state)
at System.ServiceModel.Channels.SocketConnection.AsyncReadCallback(Boolean haveResult, Int32 error, Int32 bytesRead)
at System.Runtime.Fx.IOCompletionThunk.UnhandledExceptionFrame(UInt32 error, UInt32 bytesRead, NativeOverlapped* nativeOverlapped)
at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)}. Check debug log for more information
and then very next access always logs the following error msg,
AppFabric Caching service crashed.{Lease with external store expired: }
The Cache cluster configuration and database server timing are same. We have only one host in the cluster.
Eagerly awaiting the reply as it is a production issue.
Regards,
Hariharan
这篇关于AppFabric服务经常崩溃。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!