Skip to content

[release/11.0] Deduplicate "all managed object wrappers" mapping - #133291

Merged
akoeplinger merged 1 commit into
release/11.0from
backport/pr-133260-to-release/11.0
Sep 11, 2026
Merged

akoeplinger merged 1 commit into
release/11.0from
backport/pr-133260-to-release/11.0

Conversation

@github-actions

@github-actions github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

Backport of #133260 to release/11.0

/cc @jkoritzinsky

Customer Impact

  • Customer reported
  • Found internally

Ever increasing managed memory usage (memory leak) each time a managed object is passed to COM via ComWrappers, even when reusing the same COM instance. The only workaround is to turn off the "managed debugging" helper APIs.

Regression

  • Yes
  • No

Regressed in #113907

Testing

Local validation via SOS (the only direct exposure of the adjusted API)

Risk

Low, only affects an API exposed to SOS (no other consumers use it). As mentioned in the PR on main, the expected number of elements in the collection when deduplicated is 1 or 2 at most, so not using a hash-table is fine for the scenario (in particular the user-reported issue will have 1 item in the collection after the fix).

IMPORTANT: If this backport is for a servicing release, please verify that:

  • For .NET 8 and .NET 9: The PR target branch is release/X.0-staging, not release/X.0.
  • For .NET 10+: The PR target branch is release/X.0 (no -staging suffix).

Package authoring no longer needed in .NET 9

IMPORTANT: Starting with .NET 9, you no longer need to edit a NuGet package's csproj to enable building and bump the version.
Keep in mind that we still need package authoring in .NET 8 and older versions.

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 3 pipeline(s).
13 pipeline(s) were filtered out due to trigger conditions.
There may be pipelines that require an authorized user to comment /azp run to run.

@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/interop-contrib
See info in area-owners.md if you want to be subscribed.

@JulieLeeMSFT JulieLeeMSFT added the Servicing-approved Approved for servicing release label Sep 8, 2026
@JulieLeeMSFT JulieLeeMSFT added this to the 11.0.0 milestone Sep 8, 2026

@JulieLeeMSFT JulieLeeMSFT left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved. Customer reported and regression.

@JulieLeeMSFT

Copy link
Copy Markdown
Member

@jkoritzinsky, please check test failures.

@jkoritzinsky

Copy link
Copy Markdown
Member

/ba-g SSL test failures are unrelated (no SSL logic uses any COM logic).

@akoeplinger
akoeplinger merged commit 555eda6 into release/11.0 Sep 11, 2026
137 of 140 checks passed
@akoeplinger
akoeplinger deleted the backport/pr-133260-to-release/11.0 branch September 11, 2026 15:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants