Description
We have been troubleshooting report timeouts. We are finding when running the Inventory/WIP reconciliation report the report will run fine for one month but when run for 12 months, we get a string of errors in the reporting services error log. The error appears to occur while the report is generated, so it’s likely that the data has already been generated. However at some point the thread is aborted, and it is tough to tell if Epicor is terminating the connection to SSRS, or SSRS is crashing epicor
Has anyone experienced similar errors when running Inventory/WIP reports? We are experiencing similar behavior with other financial reports as well when run for the whole year.
Here’s an excerpt from the reporting services service log:
dataextension!ReportServer_0-1!65c!08/08/2022-17:40:14:: i INFO: Opening SqlConnection with ClientConnectionId bdd648e2154c460dac3220f7a56faa1d
library!ReportServer_0-1!1ec8!08/08/2022-17:40:14:: i INFO: RenderForNewSession(’/EpicorLive/reports/InventoryWIPAccountReconciliation/InventoryWip’)
dataextension!ReportServer_0-1!1ec8!08/08/2022-17:40:14:: i INFO: Opening SqlConnection with ClientConnectionId bdd648e2154c460dac3220f7a56faa1d
dataextension!ReportServer_0-1!1ffc!08/08/2022-17:40:14:: i INFO: Opening SqlConnection with ClientConnectionId 8594c1e3106643298f82f1bce0efc348
dataextension!ReportServer_0-1!f24!08/08/2022-17:40:14:: i INFO: Opening SqlConnection with ClientConnectionId 0b51eb70a8e04db98fc024c2a0fd0db4
dataextension!ReportServer_0-1!24a4!08/08/2022-17:40:14:: i INFO: Opening SqlConnection with ClientConnectionId 8594c1e3106643298f82f1bce0efc348
dataextension!ReportServer_0-1!c38!08/08/2022-17:40:14:: i INFO: Opening SqlConnection with ClientConnectionId fa859809b892462998103eec1b4f58d9
runningjobs!ReportServer_0-1!16a0!08/08/2022-17:41:28:: i INFO: RunningJobContext.IsClientConnected; found orphaned request 5z3magffozsdmd45ca5mraim
processing!ReportServer_0-1!1ec8!08/08/2022-17:41:28:: e ERROR: Throwing Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: , Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: An unexpected error occurred in Report Processing. —> System.Threading.ThreadAbortException: Thread was being aborted.
at System.Array.Copy(Array sourceArray, Int32 sourceIndex, Array destinationArray, Int32 destinationIndex, Int32 length, Boolean reliable)
at System.Collections.Generic.Stack1.Push(T item) at Microsoft.ReportingServices.Rendering.RichText.LineBreaker.GetLine(Paragraph paragraph, TextLine line, Win32DCSafeHandle hdc, FontCache fontCache, FlowContext flowContext, Single left, Single right, Single height, Stack
1 lineRunsIndex, Stack`1 lineRunsCharIndex, Int32 lineIndents)
at Microsoft.ReportingServices.Rendering.RichText.LineBreaker.FlowParagraph(Paragraph paragraph, Directions direction, Win32DCSafeHandle hdc, Single dpiX, FontCache fontCache, FlowContext flowContext, Boolean keepLines, SizeF flowContextSize, Int32& contentOffset)
at Microsoft.ReportingServices.Rendering.RichText.LineBreaker.Flow(TextBox textBox, Win32DCSafeHandle hdc, Single dpiX, FontCache fontCache, FlowContext flowContext, Boolean keepLines, Single& height)
at Microsoft.ReportingServices.Rendering.ImageRenderer.Renderer.RenderTextBox(RectangleF textPosition, ReportTextBox rptTextBox, TextBox richTextBox, PointF offset)
at Microsoft.ReportingServices.Rendering.ImageRenderer.Renderer.<>c__DisplayClass42_0.b__0()
at Microsoft.ReportingServices.Rendering.ImageRenderer.Renderer.ProcessSimpleTextBox(String value, RectangleF textPosition, ReportTextBox rptTextBox, ReportParagraph reportParagraph, ReportTextRun reportTextRun, PointF offset)
at Microsoft.ReportingServices.Rendering.ImageRenderer.Renderer.ProcessTextBox(RPLItemMeasurement measurement, RectangleF position)
at Microsoft.ReportingServices.Rendering.ImageRenderer.Renderer.ProcessReportItem(RPLItemMeasurement measurement, RectangleF bounds, Boolean renderBorders, RectangleF styleBounds, Boolean renderStylesOnBounds, Boolean hasTablixCellParent)
at Microsoft.ReportingServices.Rendering.ImageRenderer.Renderer.ProcessNonTablixContainerReportItems(RPLContainer container, RectangleF bounds)
at Microsoft.ReportingServices.Rendering.ImageRenderer.Renderer.ProcessReportItem(RPLItemMeasurement measurement, RectangleF bounds, Boolean renderBorders, RectangleF styleBounds, Boolean renderStylesOnBounds, Boolean hasTablixCellParent)
at Microsoft.ReportingServices.Rendering.ImageRenderer.Renderer.ProcessTablixContainer(RPLTablix tablix, RectangleF position, Single[] rowStarts, Single[] columnStarts)
at Microsoft.ReportingServices.Rendering.ImageRenderer.Renderer.ProcessReportItem(RPLItemMeasurement measurement, RectangleF bounds, Boolean renderBorders, RectangleF styleBounds, Boolean renderStylesOnBounds, Boolean hasTablixCellParent)
at Microsoft.ReportingServices.Rendering.ImageRendere
library!ReportServer_0-1!1ec8!08/08/2022-17:41:28:: w WARN: Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: An unexpected error occurred in Report Processing. —> System.Threading.ThreadAbortException: Thread was being aborted.
httpruntime!ReportServer_0-1!1ec8!08/08/2022-17:41:28:: e ERROR: Failed to process request, pipeline=0x24CD0AA38B0:
rshost!rshost!1ec8!08/08/2022-17:41:28:: e ERROR: Failed to process request 0x80131530, pipeline=0x0000024CD0AA38B0.
Here is the error that appears in the task agent:
Program Ice.Services.Lib.RunTask raised an unexpected exception with the following message: RunTask:
System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a receive. —> System.IO.IOException: Unable to read data from the transport connection: An established connection was aborted by the software in your host machine. —> System.Net.Sockets.SocketException: An established connection was aborted by the software in your host machine
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
— End of inner exception stack trace —
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
at System.Net.PooledStream.Read(Byte[] buffer, Int32 offset, Int32 size)
at System.Net.Connection.SyncRead(HttpWebRequest request, Boolean userRetrievedStream, Boolean probeRead)
— End of inner exception stack trace —
at System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request)
at System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest request)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
at Ice.Core.SsrsReportService.ReportExecutionService.Render(String Format, String DeviceInfo, String& Extension, String& MimeType, String& Encoding, Warning[]& Warnings, String[]& StreamIds) in C:_Releases\ICE\ICE3.2.700.0\Source\Server\Internal\Lib\TaskLib\Web References\SsrsReportService\Reference.cs:line 633
at Ice.Core.SsrsReporting.SsrsRendererBase.Render(SsrsRenderInformationBase renderInformation) in C:_Releases\ICE\ICE3.2.700.0\Source\Server\Internal\Lib\TaskLib\SsrsReporting\SsrsRendererBase.cs:line 148
at Ice.Core.SsrsReporting.SsrsRendererBase.TraceReportRendered(String printProgram, String ssrsRenderFormat, Func1 timedAction) in C:\_Releases\ICE\ICE3.2.700.0\Source\Server\Internal\Lib\TaskLib\SsrsReporting\SsrsRendererBase.cs:line 88 at Ice.Core.SsrsReporting.ReportProcessorBase.RenderReport(String ssrsRenderFormat, String printProgram, Boolean ignorePageSettings) in C:\_Releases\ICE\ICE3.2.700.0\Source\Server\Internal\Lib\TaskLib\SsrsReporting\ReportProcessorBase.cs:line 247 at Ice.Core.SsrsReporting.ReportProcessorBase.RenderReportForPrintOrEmailReport(RenderedSsrsReport renderedReport, Boolean serverSidePrint, Boolean ignorePageSettings) in C:\_Releases\ICE\ICE3.2.700.0\Source\Server\Internal\Lib\TaskLib\SsrsReporting\ReportProcessorBase.cs:line 447 at Ice.Core.SsrsReporting.ReportProcessorBase.ProcessReportPart(String reportLocation) in C:\_Releases\ICE\ICE3.2.700.0\Source\Server\Internal\Lib\TaskLib\SsrsReporting\ReportProcessorBase.cs:line 163 at Ice.Core.SsrsReporting.StandardReportProcessor.ProcessReportParts() in C:\_Releases\ICE\ICE3.2.700.0\Source\Server\Internal\Lib\TaskLib\SsrsReporting\StandardReportProcessor.cs:line 31 at Ice.Core.RoutingAndBreaking.ReportPersister.Persist(ReportInstanceInformation reportInstance, Func
2 reportsRenderer, Action1 fillSysRptLstRow, Action
2 processReport, Func3 filterTableAttachmentsFunc) in C:\_Releases\ICE\ICE3.2.700.0\Source\Server\Internal\Lib\TaskLib\RoutingAndBreaking\ReportPersister.cs:line 58 at Ice.Core.RptBase.ReportSsrsDatabaseBuilder.RenderUnroutedSsrsReport() in C:\_Releases\ICE\ICE3.2.700.0\Source\Server\Internal\Lib\TaskLib\RptBase\ReportSsrsDatabaseBuilder.cs:line 305 at Ice.Core.RptBase.ReportSsrsDatabaseBuilder.RunSsrsReportIfEnabled() in C:\_Releases\ICE\ICE3.2.700.0\Source\Server\Internal\Lib\TaskLib\RptBase\ReportSsrsDatabaseBuilder.cs:line 229 at Ice.Core.RptBase.ReportSsrsDatabaseBuilder.ProcessReportWithDataInPlace(Func
2 executeCommand, Func2 executeReader, SqlObjectsCreated sqlObjectsCreated) in C:\_Releases\ICE\ICE3.2.700.0\Source\Server\Internal\Lib\TaskLib\RptBase\ReportSsrsDatabaseBuilder.cs:line 111 at Ice.Core.RptBase.ReportDatabaseBuilder.XMLClose() in C:\_Releases\ICE\ICE3.2.700.0\Source\Server\Internal\Lib\TaskLib\RptBase\ReportDatabaseBuilder.cs:line 93 at Ice.Core.RptTaskBase
1.XMLClose() in C:_Releases\ICE\ICE3.2.700.0\Source\Server\Internal\Lib\TaskLib\RptBase\RptTaskBase.cs:line 229
at Erp.Internal.IM.IMR70.RunProcess(Int64 instanceTaskNum, String outputFileName) in C:_releases\ERP\ERP10.2.700.0\Source\Server\Internal\IM\IMR70\IMR70.cs:line 2025
at Ice.Core.TaskBase`1.StartProcess(Int64 instanceTaskNum, String outputFileName) in C:_Releases\ICE\ICE3.2.700.0\Source\Server\Internal\Lib\TaskLib\TaskBase\TaskBase.cs:line 83
at Ice.Hosting.TaskCaller.InnerExecuteTask(IceDataContext newContext) in C:_releases\ICE\ICE3.2.700.29\Source\Framework\Epicor.Ice\Hosting\TaskCaller\TaskCaller.cs:line 117
at Ice.Hosting.TaskCaller.ExecuteTask() in C:_releases\ICE\ICE3.2.700.29\Source\Framework\Epicor.Ice\Hosting\TaskCaller\TaskCaller.cs:line 59
at Ice.Lib.RunTask.BpmFriendlyTaskLauncher.Run(String sessionIdPrefix, IceContext db, Action taskRunner) in C:_Releases\ICE\ICE3.2.700.0\Source\Server\Services\Lib\RunTask\BpmFriendlyTaskLauncher.cs:line 63
at Ice.Services.Lib.RunTaskSvc.InnerRunTask(Int64 ipTaskNum, Boolean suppressTransaction) in C:_Releases\ICE\ICE3.2.700.0\Source\Server\Services\Lib\RunTask\RunTask.cs:line 454