FIX: Unhandled exception when you export a SSRS report to a .pdf file if the page height is set to 8.5 inches in SQL Server 2014 or 2016

Applies to: SQL Server 2016 EnterpriseSQL Server 2014 Enterprise

Symptoms


Assume that you use Microsoft SQL Server 2014 or 2016 Reporting Services (SSRS) to export a report to a .pdf file. If the page height is set to 8.5 inches, an unhandled exception might occur. Additionally, error messages that resemble the following are logged in the Reporting Service error log:

reportrendering!ReportServer_0-485!f60!date-time:: e ERROR: Throwing Microsoft.ReportingServices.ReportProcessing.UnhandledReportRenderingException: , Microsoft.ReportingServices.ReportProcessing.UnhandledReportRenderingException: An error occurred during rendering of the report. ---> Microsoft.ReportingServices.OnDemandReportRendering.ReportRenderingException: An error occurred during rendering of the report. ---> System.IndexOutOfRangeException: Index was outside the bounds of the array.
   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.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.ProcessPage(RPLReport rplReport, Int32 pageNumber, FontCache sharedFontCache, List`1 glyphCache)
   at Microsoft.ReportingServices.Rendering.ImageRenderer.PDFRenderer.Render(Report report, NameValueCollection deviceInfo, Hashtable renderProperties, CreateAndRegisterStream createAndRegisterStream)
   at Microsoft.ReportingServices.Rendering.ImageRenderer.RendererBase.Render(Report report, NameValueCollection reportServerParameters, NameValueCollection deviceInfo, NameValueCollection clientCapabilities, Hashtable& renderProperties, CreateAndRegisterStream createAndRegisterStream)
   --- End of inner exception stack trace ---
   at Microsoft.ReportingServices.Rendering.ImageRenderer.RendererBase.Render(Report report, NameValueCollection reportServerParameters, NameValueCollection deviceInfo, NameValueCollection clientCapabilities, Hashtable& renderProperties, CreateAndRegisterStream createAndRegisterStream)
   at Microsoft.ReportingServices.ReportProcessing.Execution.RenderReport.InvokeRenderer(IRenderingExtension renderer, Report report, NameValueCollection reportServerParameters, NameValueCollection deviceInfo, NameValueCollection clientCapabilities, Hashtable& renderProperties, CreateAndRegisterStream createAndRegisterStream)
   at Microsoft.ReportingServices.ReportProcessing.Execution.RenderReport.Execute(IRenderingExtension newRenderer)
   --- End of inner exception stack trace ---;
library!ReportServer_0-485!f60!date-time:: i INFO: Dump result: External dump process return code 0x20000001.

Resolution


This issue is fixed in the following cumulative updates for SQL Server:

      Cumulative Update 8 for SQL Server 2016 RTM

      Cumulative Update 5 for SQL Server 2016 SP1

       Cumulative Update 6 for SQL Server 2014 Service Pack 2

Status


Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

References


Learn about the terminology Microsoft uses to describe software updates.