Rendering Exception (HTML5)

4 posts, 0 answers
  1. Kevin F
    Kevin F avatar
    70 posts
    Member since:
    Sep 2009

    Posted 28 Apr 2017 Link to this post

    I'm not sure where else to put this.  My users (usually using IE 10/11) have random issues when trying to view a report.  Sometimes they come up fine and sometimes they don't.  I've seen some similar issues related to the report cache but I can't figure it out.  One thing I did notice is that the site is HTTPS but the reportviewer request URL is http.

    Here are the exception details:

    Message: Object reference not set to an instance of an object.
    Source: Telerik.Reporting
    Stack Trace:    at Telerik.Reporting.Html5Rendering.Writers.Html.ImageWriter.SaveImageInStreamCore(IImageContainer imageContainer)
       at Telerik.Reporting.Html5Rendering.Writers.Html.ImageWriter.WritePredefinedImage(IImageContainer imageContainer)
       at Telerik.Reporting.Html5Rendering.Writers.Html.Checkbox.WriteImage(CheckBox checkBox, PictureContainerPageInfo picPageInfo)
       at Telerik.Reporting.Html5Rendering.Writers.Html.Checkbox.Begin(LayoutElement element, ElementPageInfo pageInfo)
       at Telerik.Reporting.Html5Rendering.Writers.Report.WriteStartElement(LayoutElement element, ElementPageInfo pageInfo)
       at Telerik.Reporting.BaseRendering.PageHandler.Telerik.Reporting.Paging.IPageHandler.StartElement(LayoutElement element, ElementPageInfo info)
       at Telerik.Reporting.Paging.PageStartElement.AddToPage(IPageHandler handler)
       at Telerik.Reporting.Paging.PageElementLayer.AddToPage(IPageHandler handler)
       at Telerik.Reporting.Paging.PageElementManager.AddToPage(IPageHandler handler)
       at Telerik.Reporting.Paging.PageCompositionBase.AddElementsToPage()
       at Telerik.Reporting.Paging.PageCompositionBase.SendPhysicalPages()
       at Telerik.Reporting.Paging.PageCompositionBase.OutputPage()
       at Telerik.Reporting.Paging.PageCompositionBase.CreatePages()
       at Telerik.Reporting.Paging.PagerBase.Telerik.Reporting.Paging.IPager.CreatePages(IPageHandler handler, LayoutElement root)
       at Telerik.Reporting.BaseRendering.RenderingExtensionBase.Render(LayoutElement root, Hashtable renderingContext, Hashtable deviceInfo, CreateStream createStreamCallback, EvaluateHeaderFooterExpressions evalHeaderFooterCallback, PageSettings pageSettings)
       at Telerik.Reporting.BaseRendering.RenderingExtensionBase.Render(Report report, Hashtable renderingContext, Hashtable deviceInfo, CreateStream createStreamCallback, EvaluateHeaderFooterExpressions evalHeaderFooterCallback)
       at Telerik.Reporting.Processing.ReportProcessor.RenderCore(ExtensionInfo extensionInfo, IList`1 processingReports, Hashtable deviceInfo, IRenderingContext renderingContext, CreateStream createStreamCallback)
       at Telerik.Reporting.Processing.ReportProcessor.RenderCore(String format, IList`1 reports, Hashtable deviceInfo, IRenderingContext renderingContext, CreateStream createStreamCallback)
       at Telerik.ReportViewer.WebForms.ReportPageOperation.RenderReport(String format, IList`1 processingReports, Hashtable deviceInfo, IRenderingContext renderingContext)
       at Telerik.ReportViewer.WebForms.ReportRenderOperation.PerformOperationOverride()
       at Telerik.ReportViewer.WebForms.ReportPageOperation.PerformOperationOverride()
       at Telerik.ReportViewer.WebForms.HandlerOperation.PerformOperation(HttpContext context, ICacheManager cacheManager)
       at Telerik.ReportViewer.WebForms.BasicHandler.ProcessRequest(HttpContext context)
       at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
       at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
    Target Site: System.String SaveImageInStreamCore(Telerik.Reporting.Processing.Imaging.IImageContainer)
    Request Details:
    URL: http://*url hidden*/Telerik.ReportViewer.axd?instanceID=1d087466ed0a454683886958922f347e&optype=Report&PageIndex=0&RenderID=41047800a01c4dbe9a8772d18de201ce&RenderingFormat=HTML5Interactive

  2. Stef
    Admin
    Stef avatar
    3610 posts

    Posted 02 May 2017 Link to this post

    Hi Kevin,

    Based on the stack trace, you are using the old ASP.NET WebForms ReportViewer. It uses the ASP.NET Session Cache and  Session to preserve the state of the report between requests. Please check if you are modifying the Session in code until the viewer displays content. Also reports must be built with the settings from Design Considerations for Out-proc Session State (the session state mode should be configured based on the hosting).

    In case the project is recently upgraded, please use the latest R1 2017 SP2 v11.0.17.406 - Installing Telerik Reporting. Also verify that reports are built with consideration of Changes on items in report events are not applied.


    If you need further help, please open a support ticket and send us a demo project that illustrates the settings. Include also details how to reproduce the issue and which versions of Telerik Reporting are tested.

    Regards,
    Stef
    Telerik by Progress
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
  3. Kevin F
    Kevin F avatar
    70 posts
    Member since:
    Sep 2009

    Posted 02 May 2017 in reply to Stef Link to this post

    Thank you Stef.  The reports in this project were built 4+ years ago as well as the webforms pages displaying them.  I'm currently using SQL state for the reports but if moving to HTML5 viewer removes that need I will gladly do it.

    I did find some instances in the reports themselves where report items were being referenced directly in the NeedDataSource event.  I'll hunt those down and fix them, and hopefully I'll stop seeing the error referenced.

    Thank you again for your help!  I'll check back in when I get the changes made.

    Kevin

  4. Stef
    Admin
    Stef avatar
    3610 posts

    Posted 04 May 2017 Link to this post

    Hi Kevin,

    The HTML5 Viewer displays content that is produced by a running Telerik Reporting REST Service instance. The service uses file, database or Redis cache storage -  REST Service Storage, and it does not rely on the ASP.NET Session.
    Still you will have to keep the session state settings if the web application uses the ASP.NET Session elsewhere.

    Please do not hesitate to contact us if you need further help.

    Regards,
    Stef
    Telerik by Progress
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
Back to Top