Help with Weird SSRS issue in ARForm

Hello,

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.

I truly appreciate all the help I get on here!

That is utterly bizarre… :slight_smile:

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?

The textBox was: Textbox8

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’)

That looks like the right log, but I can’t make much sense of it. Maybe someone else on this site can.

One way to trace down references in SSRS is to open the RDL file in Notepad… it is just an XML file really. Then do a Ctr F for “Textbox8”.

1 Like

I opened ARForm.RDL and did a search for textbox8. This is the only 2 times it found it:

         <TablixRow>
              <Height>0.03125in</Height>
              <TablixCells>
                <TablixCell>
                  <CellContents>
                    <Textbox Name="Textbox8">
                      <CanGrow>true</CanGrow>
                      <KeepTogether>true</KeepTogether>
                      <Paragraphs>
                        <Paragraph>
                          <TextRuns>
                            <TextRun>
                              <Value />
                              <Style />
                            </TextRun>
                          </TextRuns>
                          <Style />
                        </Paragraph>
                      </Paragraphs>
                      <rd:DefaultName>Textbox8</rd:DefaultName>
                      <Style>
                        <Border>
                          <Style>None</Style>
                        </Border>
                        <PaddingLeft>2pt</PaddingLeft>
                        <PaddingRight>2pt</PaddingRight>
                        <PaddingTop>2pt</PaddingTop>
                        <PaddingBottom>2pt</PaddingBottom>
                      </Style>
                    </Textbox>
                  </CellContents>
                </TablixCell>
              </TablixCells>
            </TablixRow>

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?

That is the only other thought I have – some strange interaction of those properties that’s making SSRS fail to render.

Hello,

Where did you click to see that?

When I click on the textbox where rectangle used to be, I see this in properties.

image

I notice yours says Tablix Member. I couldn’t find that.

He is using Report Builder and you are using VS.

Lol,

OK. As far as I know, I didn’t modify the textbox8 that showed up after deleting the Rectangle405 that was in it’s place.

I did have that row hidden for 4 years. The vast majority of the time, there would be no issue doing the mass print.

Only very occasionally would it come up and I would just tell them to print them individually. That always worked.

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.

Shawn, to see the settings I showed on my screenshot you have to enable “Advanced Mode”:

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.

Never had to do advanced mode so I will say I never touched that.

Here is what my properties say when I go to that row in the row groups:

image

Can a report reference a row specifically?

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.

Not that I know of.

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.

Seems like it’s happened to others before: SSRS export to PDF errors out with one specific data set (microsoft.com)

@Michael_Ramsey ,

Hello,

Yes, after any shift in the height, I go to the bottom and move the footer up as far as possible.

@TomAlexander ,

That’s what I figured but you never find out if you don’t ask.

Thank you for taking time to try and help figure this out.

1 Like

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.