Breaking & Routing Error

I have a BAQ report that runs every night and uses breaking and routing to email and distribute the report. At least once a week the report fails with the error below. Does anyone know what Service is not available so we can look into why it is not?

Program Ice.Services.Lib.RunTask raised an unexpected exception with the following message: RunTask: Service not available, closing transmission channel. The server response was: 4.3.2 Service not available
Stack Trace:
at System.Net.Mail.SmtpConnection.GetConnection(ServicePoint servicePoint)
at System.Net.Mail.SmtpClient.GetConnection()
at System.Net.Mail.SmtpClient.Send(MailMessage message)
at Ice.Core.SsrsReporting.EmailSender.Send(EmailActionSettings settings, IEnumerable1 attachmentInfos) in c:\_Releases\ICE\3.1.400.31\Source\Server\Internal\Lib\TaskLib\SsrsReporting\EmailSender.cs:line 29 at Ice.Core.RoutingAndBreaking.EmailReportAction.EmailReportsFromReportRequests() in c:\_Releases\ICE\3.1.400.31\Source\Server\Internal\Lib\TaskLib\RoutingAndBreaking\EmailReportAction.cs:line 265 at Ice.Core.RoutingAndBreaking.EmailReportAction.HandleProcess(Object sender, ProcessEventArgs e) in c:\_Releases\ICE\3.1.400.31\Source\Server\Internal\Lib\TaskLib\RoutingAndBreaking\EmailReportAction.cs:line 165 at Ice.Core.RoutingAndBreaking.BaseNode.OnProcess(ProcessEventArgs e) in c:\_Releases\ICE\3.1.400.31\Source\Server\Internal\Lib\TaskLib\RoutingAndBreaking\BaseNode.cs:line 172 at Ice.Core.RoutingAndBreaking.BaseNode.OnProcess(ProcessEventArgs e) in c:\_Releases\ICE\3.1.400.31\Source\Server\Internal\Lib\TaskLib\RoutingAndBreaking\BaseNode.cs:line 172 at Ice.Core.RoutingAndBreaking.Workflow.OnProcess(ProcessEventArgs e) in c:\_Releases\ICE\3.1.400.31\Source\Server\Internal\Lib\TaskLib\RoutingAndBreaking\Workflow.cs:line 203 at Ice.Core.RoutingAndBreaking.Workflow.Run(ReportInstanceInformation reportInstance) in c:\_Releases\ICE\3.1.400.31\Source\Server\Internal\Lib\TaskLib\RoutingAndBreaking\Workflow.cs:line 150 at Ice.Core.RptBase.ReportSsrsDatabaseBuilder1.RouteAndBreakReport(Func2 executeCommand, Func2 executeReader, SqlObjectsCreated sqlObjectsCreated) in c:_Releases\ICE\3.1.400.31\Source\Server\Internal\Lib\TaskLib\RptBase\ReportSsrsDatabaseBuilder.cs:line 245
at Ice.Core.RptBase.ReportDatabaseBuilder1.XMLClose() in c:\_Releases\ICE\3.1.400.31\Source\Server\Internal\Lib\TaskLib\RptBase\ReportDatabaseBuilder.cs:line 132 at Ice.Core.RptTaskBase1.XMLClose() in c:_Releases\ICE\3.1.400.31\Source\Server\Internal\Lib\TaskLib\RptBase\RptTaskBase.cs:line 134
at Ice.Hosting.TaskCaller.InnerExecuteTask(IceDataContext newContext) in c:_Releases\ICE\3.1.400.31\Source\Framework\Epicor.Ice\Hosting\TaskCaller\TaskCaller.cs:line 78
at Ice.Hosting.TaskCaller.ExecuteTask(Boolean suppressTransaction) in c:_Releases\ICE\3.1.400.31\Source\Framework\Epicor.Ice\Hosting\TaskCaller\TaskCaller.cs:line 31
at Ice.Lib.RunTask.BpmFriendlyTaskLauncher.Run(String sessionIdPrefix, IceContext db, Action taskRunner) in c:_Releases\ICE\3.1.400.31\Source\Server\Services\Lib\RunTask\BpmFriendlyTaskLauncher.cs:line 63
at Ice.Services.Lib.RunTaskSvc.InnerRunTask(Int64 ipTaskNum, Boolean suppressTransaction) in c:_Releases\ICE\3.1.400.31\Source\Server\Services\Lib\RunTask\RunTask.cs:line 502
at Ice.Services.Lib.RunTaskSvc.InnerRunTask(Int64 ipTaskNum, Boolean suppressTransaction) in c:_Releases\ICE\3.1.400.31\Source\Server\Services\Lib\RunTask\RunTask.cs:line 502
at Ice.Services.Lib.RunTaskSvcFacade.RunTask(Int64 ipTaskNum) in c:_Releases\ICE\3.1.400.31\Source\Server\Services\Lib\RunTask\RunTaskSvcFacade.cs:line 97
at SyncInvokeRunTask(Object , Object[] , Object[] )
at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
at Epicor.Hosting.OperationBoundInvoker.InnerInvoke(Object instance, Func2 func) in c:\_Releases\ICE\3.1.400.31\Source\Framework\Epicor.System\Hosting\OperationBoundInvoker.cs:line 59 at Epicor.Hosting.OperationBoundInvoker.Invoke(Object instance, Func2 func) in c:_Releases\ICE\3.1.400.31\Source\Framework\Epicor.System\Hosting\OperationBoundInvoker.cs:line 28
at Epicor.Hosting.Wcf.EpiOperationInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs) in c:_Releases\ICE\3.1.400.31\Source\Framework\Epicor.System\Hosting\Wcf\EpiOperationInvoker.cs:line 23
at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
at System.ServiceModel.Dispatcher.ChannelHandler.DispatchAndReleasePump(RequestContext request, Boolean cleanThread, OperationContext currentOperationContext)
at System.ServiceModel.Dispatcher.ChannelHandler.HandleRequest(RequestContext request, OperationContext currentOperationContext)
at System.ServiceModel.Dispatcher.ChannelHandler.AsyncMessagePump(IAsyncResult result)
at System.ServiceModel.Dispatcher.ChannelHandler.OnAsyncReceiveComplete(IAsyncResult result)
at System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
at System.ServiceModel.Channels.SecurityChannelListener1.ReceiveItemAndVerifySecurityAsyncResult2.InnerTryReceiveCompletedCallback(IAsyncResult result)
at System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
at System.ServiceModel.Channels.TransportDuplexSessionChannel.TryReceiveAsyncResult.OnReceive(IAsyncResult result)
at System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
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.LazyAsyncResult.ProtectedInvokeCallback(Object result, 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.AsyncProtocolRequest.CompleteRequest(Int32 result)
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.IOAsyncResult.OnAsyncIOComplete(Object state)
at System.Net.Sockets.SocketAsyncEventArgs.OnCompleted(SocketAsyncEventArgs e)
at System.Net.Sockets.SocketAsyncEventArgs.FinishOperationSuccess(SocketError socketError, Int32 bytesTransferred, SocketFlags flags)
at System.Net.Sockets.SocketAsyncEventArgs.CompletionPortCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped)
at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)

Looks like the SMTP service (your mail server) is not available.

Is your server doing a backup around that time, or some other kind of maintenance once a week?

We have had this from time to time and while I can’t give you a technical solution or explanation, it boils down to what @Mark_Wonsil said, your SMTP service is acting up…

Thanks Everyone, it was an SMTP issue. Thanks for pointing us in the right direction.