Skip to content

DataGridView and its elements accessible objects are leaking in memory #10443

@MelonWang1

Description

@MelonWang1

.NET version

.NET 9.0.100-alpha.1.23606.1 + private dlls(build from main branch of WinForms repo)

Did it work in .NET Framework?

Not tested/verified

Did it work in any of the earlier releases of .NET Core or .NET 5+?

Yes, this issue cannot repro in .NET 9.0.100-alpha.1.23606.1, it may be caused by PR: 10407.

Issue description

The original issue is 7347.
DataGridView and its elements accessible objects are left in memory after the DataGridView control instance with its rows was inspected with accessibility tool (like Accessibility Insights/Inspect/Narrtor) and the form with DataGridView is closed, garbage is collected, but accessibility tool is still opened.

Report from WinDbg:
datagridview-memory leak

Steps to reproduce

Tested sample application:
DataGridView Sample.zip

1.Create a parent form with two buttons: one will be opening a child form with the DataGridView control and the other will collect the garbage.
2. Start project without debugging(Ctrl+F5).
3. Attaching project to WinDbg and adding symbols folder.
4. Start the Accessibility Insights tool.
5. Press the second button to open the child form with DatGridView.
6. Automatic checks for the DataGridView control using Accessibility Insight.
7. Close the child form.
8. Clear memory with the first button of the parent form.
9. Don't close the Accessibility Insights tool.
10. Look for DataGridView accessible objects left in memory (using WinDbg).

Metadata

Metadata

Assignees

Labels

💥 regression-previewRegression from a preview releasearea-Accessibility-LeaksIssues when control's accessible objects are keeping in memory after disposing of the controltenet-performanceImprove performance, flag performance regressions across core releases

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions