I just ran across a weird issue with my customized ARForm (AR Invoice Entry) when I print a group of invoices.
I would occasionally get the error: System.Web.Services.Protocols.SoapException: An internal error occurred on the report server. See the error log for more details. —>
I did a lot of research and found that it happened because I hid a row in the form.
Once I unhid it, it printed fine.
Problem is, I don’t really want that row.
So what I did to try and troubleshoot was to delete one field at a time and try to print again. I deleted everything in the row and it still printed. I then deleted the ‘Rectangle405’ that filled the entire row and tried again. Still printed…
I then deleted the row itself, tried to print, and it finally failed again.
My questions are:
1: Why does it happen when the row itself is gone (or hidden)?
2: How do I track down whatever is referencing that row to stop it?
This is not critical at this time because I just shrank the height in the row so it just added a tiny amount of blank space randomly but I would like to know for future reference in case something like this happens again.
Thank you in advance for looking at this and throwing answers out there.
When you deleted Rectangle405, there would have been a TextBox behind it. Any chance something else in the report is referencing that TextBox ReportItem?
Also,
were you able to see the error log for more details?
How would I trace down what may be referencing it?
Where would the error logs be? I looked at ReportingServicesService_2021_12_17_00_02_42.log on theSSRS server, results posted below:
library!ReportServer_0-145!2c94!12/17/2021-14:14:18:: i INFO: RenderForNewSession(‘/Prod/reports/CustomReports/ARInvoiceForm/ARForm’)
library!ReportServer_0-145!2c94!12/17/2021-14:14:26:: e ERROR: Throwing Microsoft.ReportingServices.Diagnostics.Utilities.InternalCatalogException: ScalableList: Index 0 outside the allowed range [0::-1], Microsoft.ReportingServices.Diagnostics.Utilities.InternalCatalogException: An internal error occurred on the report server. See the error log for more details.;
library!ReportServer_0-145!2c94!12/17/2021-14:14:26:: e ERROR: Report server dump occured. Exception: Microsoft.ReportingServices.Diagnostics.Utilities.InternalCatalogException: An internal error occurred on the report server. See the error log for more details., Message: , Unhandled Exception: False
library!ReportServer_0-145!2c94!12/17/2021-14:14:26:: i INFO: Skipped creating a dump file for the error InternalCatalogException, because a dump with the identical stack trace (with signature 1654261936) was already created.
library!ReportServer_0-145!2c94!12/17/2021-14:14:26:: w WARN: Microsoft.ReportingServices.Diagnostics.Utilities.RSException: An internal error occurred on the report server. See the error log for more details. —> Microsoft.ReportingServices.Diagnostics.Utilities.InternalCatalogException: An internal error occurred on the report server. See the error log for more details.
at Microsoft.ReportingServices.Diagnostics.Utilities.RSServiceTraceInternal.FailInternal(String componentName, String message)
at Microsoft.ReportingServices.Diagnostics.Utilities.RSTrace.Assert(Boolean condition, String message)
at Microsoft.ReportingServices.OnDemandProcessing.Scalability.ScalableList1.CheckIndex(Int32 index, Int32 inclusiveLimit) at Microsoft.ReportingServices.OnDemandProcessing.Scalability.ScalableList1.get_Item(Int32 index)
at Microsoft.ReportingServices.Rendering.HPBProcessing.Tablix.RowInfo.AddToPageContent(ScalableList`1 columnInfo, Int32& colsOnPage, Boolean isLTR, Boolean pinnedToParentCell, RPLWriter rplWriter, PageContext pageContext, Double pageLeft, Double pageTop, Double pageRight, Double pageBottom, RepeatState repeatState)
at Microsoft.ReportingServices.Rendering.HPBProcessing.Tablix.AddToPage(RPLWriter rplWriter, PageContext pageContext, Double pageLeft, Double pageTop, Double pageRight, Double pageBottom, RepeatState repeatState)
at Microsoft.ReportingServices.Rendering.HPBProcessing.PageItemContainer.AddToPage(RPLWriter rplWriter, PageContext pageContext, Double pageLeft, Double pageTop, Double pageRight, Double pageBottom, RepeatState repeatState)
at Microsoft.ReportingServices.Rendering.HPBProcessing.ReportSection.NextPage(RPLWriter rplWriter, Int32 pageNumber, Int32 totalPages, Double top, Double availableHeight, ReportSection nextSection, Boolean isFirstSectionOnPage)
at Microsoft.ReportingServices.Rendering.HPBProcessing.Report.NextPage(RPLWriter rplWriter, Int32 totalPages)
at Microsoft.ReportingServices.Rendering.HPBProcessing.HPBProcessing.GetNextPage(RPLReport& rplReport)
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.ReportProcessing.ReportProcessing.HandleRenderingException(ReportRenderingException rex)
at Microsoft.ReportingServices.ReportProcessing.Execution.RenderReport.Execute(IRenderingExtension newRenderer)
at Microsoft.ReportingServices.ReportProcessing.ReportProcessing.RenderReport(IRenderingExtension newRenderer, DateTime executionTimeStamp, ProcessingContext pc, RenderingContext rc, IChunkFactory yukonCompiledDefiniti
library!ReportServer_0-145!2c94!12/17/2021-14:14:52:: i INFO: RenderForNewSession(‘/Prod/reports/CashReceiptsEditList/CshREdit’)
I think we went down the wrong track, in that case…
I checked one of my AR Invoice forms and I do actually have the row with Rectangle405 hidden. So I doubt the problem is a broken reference (unless I also hid/deleted the thing referencing something). Also, if you take the standard SSRS form and do nothing else besides hide that row, it still prints.
By any chance, have you been editing any of these properties in your form?
Textboxes showing up when you delete objects in a row like that seems like that is normal behavior for Report Builder - TextBox8 is not in the “Standard SSRS” version of the report.
PS: Our modified ARForm hides R405 unless it is trying to show some backorder. The KitFlag check is part of Standard by the way:
Hidden = (UCase(Fields!OrderLine_KitFlag.Value) = “C”) OR (Fields!Calc_BackOrdQty.Value = 0)
I’m not sure how often our people use Mass Print Invoices, but I’m also not aware of issues.
True, but when I deleted the Rectangle405 which filled the entire row, it still mass printed OK.
It only errored out again when I deleted the row itself. Do you know if there is a way to reference a specific row? If so, I can try and look for that in the RDL to see why I can’t delete the row.
That is how you edit properties specifically about the Tablix rows themselves (and not just the rectangles or textboxes that may be in the rows).
By the way, I was definitely on the wrong track about Textbox8. Now that I think about it, I don’t think Textbox8 even exists until you delete the Rectangle. I think a textbox is created on the fly when you delete a rectangle like that.
Probably, but that’s probably reading too much into it and giving M$ Report Builder too much credit, lol.
As a totally off the wall idea, when you delete rows, Report Builder may leave space between the Tablix that is in the Body and where the Page Footer starts. Do you normally tighten that space back up or no? If no, may be worth a try. Especially if it is just a rendering type of error.
Which is why I’m really out of ideas at this point apart from chalking it up to some crazy fluke rendering bug in SSRS that occurs when a particular dataset is rendered.
That AR Form as well as a few others have textboxes that have been shrunk so far that they look like a speck of dust on your screen. That row could’ve contained one or more of those and many times those shrunk down textboxes are referenced by something else in the report. I would verify none of those exist as I have run into this issue when I inadvertently deleted them.