[Release/5.0] - Fix internal cache clean up for ComWrappers #53203
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Port of #52771
Customer Impact
Race condition between object resurrection and memory reuse of different
IUnknown*
instance. This is a precise fix for microsoft/CsWinRT#762 and other related object resurrection issues we've been chasing for the past 2 months.Testing
Testing added in PR.
Partner team has run all C#/WinRT and WinUI tests and validated fix on all reported reproducing applications against a private build of runtime.
Risk
Low, it only impacts C#/WinRT scenarios.
Regression
This API was introduced in .NET 5 and is requested by the only official consumer.