SfAccumulationChart throws InvalidOperationException after recent update (possible concurrency regression)

Hi Team,

We’ve been encountering a consistent runtime exception with SfAccumulationChart that appears to have started after a Syncfusion update approximately three weeks ago. This issue was not present before the update and now occurs reliably during normal rendering.

<SfAccumulationChart @ref="_studyChart" CustomClass="d-flex justify-content-center" EnableAnimation="true" EnableSmartLabels="true" Width="100%" Background="Transparent" EnableAdaptiveRendering="false">
<AccumulationChartTooltipSettings Enable="true" EnableAnimation="true"></AccumulationChartTooltipSettings>
<AccumulationChartLegendSettings @ref="_studyChartLegendSettings" Visible="true">
    <AccumulationChartLegendFont Size="10px"></AccumulationChartLegendFont>
</AccumulationChartLegendSettings>
<AccumulationChartSeriesCollection>
    <AccumulationChartSeries DataSource="@_countStudies" XName="Value" YName="Count" Type="AccumulationType.Pie" InnerRadius="20%" Radius="80%">
        <AccumulationDataLabelSettings EnableRotation="false" Visible="true" Name="Value" MaxWidth="100" TextWrap="TextWrap.AnyWhere" Position="AccumulationLabelPosition.Outside">
            <AccumulationChartConnector Type="ConnectorType.Line" Length="4px" />
        </AccumulationDataLabelSettings>
    </AccumulationChartSeries>
</AccumulationChartSeriesCollection>
</SfAccumulationChart>

@code {
protected override async Task OnInitializedAsync()
{
 _countStudies = await ApiClient.CountStudiesByAsync();
}
}
System.InvalidOperationException: An error occurred while processing the accumulation chart.
 ---> 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.TryAdd(TKey key, TValue value)
   at Syncfusion.Blazor.Charts.SfAccumulationChart.GetCharSizeList(List`1 fontKeys)
   --- End of inner exception stack trace ---
   at Syncfusion.Blazor.Charts.SfAccumulationChart.GetCharSizeList(List`1 fontKeys)
   at Syncfusion.Blazor.Charts.SfAccumulationChart.SetCharSize()
   at Syncfusion.Blazor.Charts.SfAccumulationChart.ProcessChart()
   at Syncfusion.Blazor.Charts.SfAccumulationChart.OnAfterRenderAsync(Boolean firstRender)
   at Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task taskToHandle, ComponentState owningComponentState)

1 Reply

KP Karthick Panneerselvam Syncfusion Team April 7, 2026 11:36 AM UTC

Hi Yongkee Cho,



Thank you for reaching out.

We have reviewed the provided sample and attempted to reproduce the reported InvalidOperationException with the same configuration on our end. However, we were unable to reproduce the issue using the shared snippet, and the chart rendered correctly without any runtime exceptions during our testing.


Sample: https://blazorplayground.syncfusion.com/hNBdZTDmJDyvWdZp

Screenshot



Since the issue could not be observed with the current sample, it appears that the reported behavior may depend on additional factors such as:

  • Multiple or repeated data source updates

  • Parent or cascading component re‑renders

  • Interaction with other asynchronous operations

  • Differences between Blazor Server and Blazor WebAssembly hosting models


To help us better understand and analyze the issue, could you please clarify or provide more details on the following?

  • Whether the data source (_countStudies) is updated more than once during the component lifecycle

  • If there are any additional StateHasChanged calls or parent component updates that may trigger multiple renders

  • The hosting model used (Blazor Server or Blazor WebAssembly)

  • A minimal runnable sample that reproduces the issue consistently from your end

  • Video or Image demonstrating the reported problem.


With these details, we will be able to further investigate the behavior and determine whether it is related to a specific rendering scenario or requires additional handling within the component.


We appreciate your cooperation and look forward to your clarification so we can assist you further.


Regards,

Karthick Panneerselvam


Loader.
Up arrow icon