本文介绍了AppFabric服务经常崩溃。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


 我们经常面临以下问题: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服务经常崩溃。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-13 11:01