Completed
Last Updated: 10 Jul 2024 11:52 by ADMIN
Release 2024 Q2
John
Created on: 18 Apr 2024 14:50
Type: Bug Report
0
System.InvalidOperationException: Operations that change non-concurrent collections must have exclusive access
I have a problem with the current version in a Linux container using 2024.1.30 and 18.0.24.305 version of reporting. I only get this when I'm attempting to produce multiple reports at the same time.  It's the same issue regardless of whether it's running as a hosted web service or if I'm running as a server based blazor app.

DockerBlazorApp Error: 0 : An error has occurred while rendering the report: System.InvalidOperationException: Operations that change non-concurrent collections must have exclusive access. A concurrent update was performed on this collection and corrupted its state. The collection's state is no longer correct.
   at System.Collections.Generic.Dictionary`2.TryInsert(TKey key, TValue value, InsertionBehavior behavior)
   at System.Collections.Generic.Dictionary`2.set_Item(TKey key, TValue value)
   at Telerik.Drawing.SKIA.Text.FontMapper.LoadPrivateFont(SKTypeface typeface, String familyName)
   at Telerik.Drawing.Skia.Graphics.MeasureTextBlock(String text, Single widthConstraint, Single heightConstraint, StringFormatBase stringFormat, IFont font)
   at Telerik.Drawing.Skia.Graphics.MeasureString(String text, IFont font, SizeF layoutArea, StringFormatBase stringFormat, Int32& charactersFitted, Int32& linesFilled)
   at Telerik.Reporting.Processing.WindowsTextMeasureProvider.MeasureString(IGraphics graphics, String text, GdiFontInfo fontInfo, SizeF layoutArea, StringFormatBase stringFormat, Int32& charactersFitted, Int32& linesFilled)
   at Telerik.Reporting.Processing.MeasureContext.MeasureString(String text, IFont font, SizeF layoutArea, TextFormat textFormat, Int32& charactersFitted, Int32& linesFilled)
   at Telerik.Reporting.Processing.TextRenderer.MeasureText(IMeasureContext context, String text, IFont font, RectangleF layoutRectangle, TextFormat textFormat, Boolean multiline, Int32& charactersFitted)
   at Telerik.Reporting.Processing.TextBoxUtil.MeasureTextContainer(ITextContainer textContainer, RectangleF layoutBounds, IMeasureContext context)
   at Telerik.Reporting.Processing.TextBox.MeasureItem(IMeasureContext context, SizeLU availableClientSize, Boolean canGrow)
   at Telerik.Reporting.Processing.TextBox.MeasureItem(IMeasureContext context, SizeLU availableClientSize)
   at Telerik.Reporting.Processing.TextBox.MeasureContent(IMeasureContext context, SizeLU availableClientSize)
   at Telerik.Reporting.Processing.LayoutElement.MeasureCore(IMeasureContext context, SizeLU availableSize)
   at Telerik.Reporting.Processing.VisualElement.MeasureCore(IMeasureContext context, SizeLU availableSize)
   at Telerik.Reporting.Processing.ProcessingElement.MeasureCore(IMeasureContext context, SizeLU availableSize)
   at Telerik.Reporting.Processing.LayoutElement.Measure(IMeasureContext context, SizeLU availableSize)
   at Telerik.Reporting.Processing.AbsolutePositionLayout.MeasureChildItems(IMeasureContext context, SizeLU availableClientSize)
   at Telerik.Reporting.Processing.AbsolutePositionLayout.MeasureContent(IMeasureContext context, SizeLU availableClientSize)
   at Telerik.Reporting.Processing.ReportSectionBase.MeasureContent(IMeasureContext context, SizeLU availableClientSize)
   at Telerik.Reporting.Processing.PageSection.MeasureContent(IMeasureContext context, SizeLU availableClientSize)
   at Telerik.Reporting.Processing.LayoutElement.MeasureCore(IMeasureContext context, SizeLU availableSize)
   at Telerik.Reporting.Processing.VisualElement.MeasureCore(IMeasureContext context, SizeLU availableSize)
   at Telerik.Reporting.Processing.ProcessingElement.MeasureCore(IMeasureContext context, SizeLU availableSize)
   at Telerik.Reporting.Processing.LayoutElement.Measure(IMeasureContext context, SizeLU availableSize)
   at Telerik.Reporting.Paging.PageCompositionBase.MeasurePageSection(PageSection section)
   at Telerik.Reporting.Paging.PageCompositionBase.ProcessPageSectionsForPaging()
   at Telerik.Reporting.Paging.PageCompositionBase.MoveToNextPageArea()
   at Telerik.Reporting.Paging.PageCompositionBase.NextVerticalPage()
   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
1 comment
ADMIN
Todor
Posted on: 26 Apr 2024 08:39

Hello John,

We have fixed the issue and will release it with the new version 2024 Q2 scheduled for release on May 15th, 2024.

Along with the fix of the discussed problem, we will provide performance improvements for the Skia graphics engine.

Regards,
Todor
Progress Telerik

Stay tuned by visiting our roadmap and feedback portal pages, enjoy a smooth take-off with our Getting Started resources, or visit the free self-paced technical training at https://learn.telerik.com/.