Bug Report T1226866
Visible to All Users

DxReportViewer - Drill-Down Internal Server Error

created a year ago (modified a year ago)

Hi,

There seems to be a bug with the drill down functionality whereby if the user clicks on the drill down control while the report is still loading, it crashes with the below error in the console.

Call Stack
System.InvalidOperationException: Document is creating. at DevExpress.XtraReports.UI.XtraReport.DevExpress.XtraReports.IReport.CreateDocumentCoreAsync(Single progressRange, CancellationToken token) at DevExpress.XtraReports.Native.DocumentCreator.CreateAsync(Single progressRange, CancellationToken token) at DevExpress.Blazor.Reporting.Viewer.Internal.Services.ReportBuilderWasm.BuildAsync(IReport report, CancellationToken token) at DevExpress.Blazor.Reporting.DxReportViewer.StartBuildAsync() at DevExpress.Blazor.Reporting.DxReportViewer.StartPartialBuildAsync(Int32 pageIndex) at DevExpress.Blazor.Reporting.DxReportViewer.HandleBrickClickAsync(MouseEventArgs args, BrickMapNodeWeb brick, Int32 pageIndex)

I have attached a simple example report, simply try to use the drill down controls in the header groupings during the first few seconds of loading, or within a few seconds of contracting/expanding another drill down. Because of the size of the report, it is quite natural that the user may click on a couple of headers to contract them, however they will then get the crash due to the time it takes between each drill down click before it is safe to click again.

Could you please advise how we can deal with this situation, whether we can disable drill down while the document is being created, or if the bug can be fixed so the report viewer ignores it (or queues it) instead of crashing.

Thanks

Comments (3)
Yaroslav (DevExpress Support) a year ago

    Hi John,

    Thank you for the demo project. We managed to reproduce the described issue. We'll reply to you here once we have any results to share. Please consider enabling Support Center notifications in your profile in order not to miss any updates.

    JT JT
    John Tankard a year ago

      Hi, just wondering if this issue will be fixed with the 24.1 release?

      Thanks

      Yaroslav (DevExpress Support) a year ago

        Hi John,

        We'll do our best to incorporate the fix into the initial v24.1.3 version, but I can't really guarantee that. The next major release is just around the corner, and we're a bit overloaded putting the final touches on it. If this is an urgent issue, I'd recommend replacing the native viewer with its JS-based counterpart that requires a separate ASP.NET Core backend (DxWasmDocumentViewer). I ensured that it works correctly with your report — clicking any drill-down label immediately stops the current document creation and starts a new one with a new set of drill-down keys.

        Answers approved by DevExpress Support

        created 9 months ago

        We have addressed the issue described in this ticket and will include a fix in our next maintenance update. Should you need to apply our fix prior to official release, you can request a hotfix here.

        Important Notes:

        • Hotfixes may be unavailable for Early Access/Beta builds or updates set for release within a week.
        • .NET only: in the NuGet Package Manager, use your personal NuGet feed and check the "Include prerelease" option to view the hotfix package in the "Updates" tab.
          Show previous comments (1)
          Boris (DevExpress Support) 7 months ago

            Hi John,

            Thank you for the reply. What you described makes sense. I can't promise that we will support this behavior, but I will discuss it with the team. If we have positive feedback, I will update this ticket with a comment.

            As a quick solution, click the following button to cancel the document creation process and then click an expand/collapse drill-down button.

            Best regards,
            Boris

              Thanks for the suggestion. While that may work, its not really a practical solution in the real world. Customers will just click where and when they want to click, they wont necessarily realize that its still loading and its not a great look for us to have to say "umm before you try and sort, check if there is a loading icon in the top right and if so click that to stop loading before you sort otherwise our app will crash"

              Boris (DevExpress Support) 7 months ago

                Hi John,

                I completely share your thoughts on this and I further clarified this point with the team. We will continue to look for ways to achieve this goal. If we succeed, we will implement this feature in one of our future releases.

                Thank you again for your feedback.

                Best regards,
                Boris

                Disclaimer: The information provided on DevExpress.com and affiliated web properties (including the DevExpress Support Center) is provided "as is" without warranty of any kind. Developer Express Inc disclaims all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.

                Confidential Information: Developer Express Inc does not wish to receive, will not act to procure, nor will it solicit, confidential or proprietary materials and information from you through the DevExpress Support Center or its web properties. Any and all materials or information divulged during chats, email communications, online discussions, Support Center tickets, or made available to Developer Express Inc in any manner will be deemed NOT to be confidential by Developer Express Inc. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.