The transport process failed duringnmessage processing with the following call stack: System.NullReferenceException: Object reference not set to an instance of an object.
at Microsoft.Exchange.Transport.Storage.Buffered Stream.get_Length()
at Microsoft.Exchange.Transport.SynchronizedStream.get_Length()
at Microsoft.Exchange.Protocols.Smtp.BdatSmtpCommand.Outbound FormatCommand()
at Microsoft.Exchange.Protocols.Smtp.SmtpOutSession.InvokeCommandHandler(SmtpCommand command) at Microsoft.Exchange. Protocols.Smtp.SmtpOutSession.Send Pipelined Commands()
at Microsoft.Exchange.Protocols.Smtp.SmtpOutSession.MoveToNextState()
at Microsoft.Exchange.Protocols.Smtp.SmtpOutSession.FinalizeNextStateAndSendCommands()
at Microsoft.Exchange.Protocols.Smtp.SmtpOutSession.HandlePostParseResponse(SmtpCommand command)
at Microsoft.Exchange.Protocols.Smtp.SmtpOutSession.InvokeResponseHandler(SmtpCommand command)
at Microsoft.Exchange.Protocols.Smtp.SmtpOutSession.StartProcessing Response(Byte[] buffer, Int32 offset, Int32 size, Boolean overflow)
at Microsoft.Exchange.Protocols.Smtp.SmtpOutSession.ReadLineComplete(IAsyncResult asyncResult)
at Microsoft.Exchange.Net.LazyAsyncResult.WorkerThread Complete(Object state)
at Microsoft.Exchange.Net.LazyAsyncResult.Complete(IntPtr userToken)
at Microsoft.Exchange.Net.LazyAsyncResult.Protected InvokeCallback(Object value, IntPtr userToken)
at Microsoft.Exchange.Net.NetworkConnection.InvokeRecvCallback(LazyAsyncResultWithTimeout asyncResult, Object result)
at Microsoft.Exchange.Net.NetworkConnection.ReadLineDataAvailable(IAsyncResult asyncResult)
at System.Net.LazyAsyncResult.Complete(IntPtr userToken)
at System.Threading.ExecutionContext.RunInternal (ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run (ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Net.ContextAwareResult.Complete(IntPtr userToken)
at System.Net.LazyAsyncResult.Protected InvokeCallback(Object result, IntPtr userToken)
at System.Net.Sockets.BaseOverlappedAsyncResult.Completion PortCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped)
at System.Threading._10CompletionCallback. Perform lOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)
Что эта ошибка означает, что транспортная очередь падает? Из-за чего это происходит?
Эта ошибка означает, что возникло исключение при обработке некого сообщения. Не исключено (но и не факт), что это произошло из-за вмешательства этой самой DLP системы.
Сообщение вызывающее исключении при обработке, помещается в очередь Poison message queue. Смотрите там - если сообщение есть, конечно: например, ваша DLP могла его удалить внезапно для службы транспорта Exchange, тип исключения вполне такому сценарию соответствует. Если подозреваете DLP - сопоставьте ваш лог Exchange с логом DLP на момент возникновения исключения, чтобы понять, что делала в этот момент DLP.
Смотрите другие события с источником MSExchangeTransport: всякие падения и перезапуски служб транспорта в этих событиях отображаются. Ну, и смотрите, движется ли очередь.
avgenj, в листинге вызовы сторонних агентов не видно, т.е. можно предположить, что исключение возникло при обработке кривого сообщения транспортными службами Exchange.
А это сообщение, возможно, предварительно прошло через вашу DLP и что-то с ним там сделалось, что оно стало неправильным с точки зрения Exchange.
транспортная очередь падает?
тогда у вас встала бы вся почта...
Не помешает проверить билд вашего Exchange 2013 и обновиться до последнего возможного (поддержка завершилась в апреле 2023г.)
Обязательно проверьте логи Exchange и DLP, как советовал @mvv-rus Exchange 2013 Queues Manage queues