Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

[release/9.0-staging] Fix handling of IDynamicInterfaceCastable wrt CastCache#110007

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Conversation

@github-actions
Copy link
Contributor

@github-actionsgithub-actionsbot commentedNov 20, 2024
edited by MichalStrehovsky
Loading

Backport of#108328 to release/9.0-staging

/cc@MichalStrehovsky

Customer Impact

  • Customer reported
  • Found internally

One more IDynamicInterfaceCastable related issue. This one was found as we were unblocking tests as part of fixing a customer reported issue (that was known and had known disabled tests). The tests happened to also hit this problem.

The issue is that a cast of a IDynamicInterfaceCastable object to a variant interface would store the wrong value into CastCache - we'd answer the first cast correctly, but a second time the same pair of type is checked for castability, we'd use the wrong cached value and invalid cast exception would happen.

Regression

  • Yes
  • No

Regressed in .NET 8, likely in#90234.

Testing

Added targeted test that is part of this PR. We also subsequently enabled more testing in#108376 but that depends on both PRs so it's in a separate PR.

Risk

This should be low risk, it only affects IDynamicInterfaceCastable and we made sure the caching logic is same as CoreCLR. This has been in main for 2 months.

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

  • The PR target branch isrelease/X.0-staging, notrelease/X.0.

  • If the change touches code that ships in a NuGet package, you have added the necessarypackage authoring and gotten it explicitly reviewed.

Fixes#108229.The actual fix is the addition of an `if` check where it originally wasn't. I also fixed the other checks for consistency - positive checks are fine to cache, and negative checks against non-interface targets are also fine to cache.
@dotnet-policy-service
Copy link
Contributor

Tagging subscribers to this area:@agocke,@MichalStrehovsky,@jkotas
See info inarea-owners.md if you want to be subscribed.

Copy link
Member

@jeffschwMSFTjeffschwMSFT left a comment

Choose a reason for hiding this comment

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

lgtm. we are holding on this one but may take with the other IDynamicInterfaceCastable issues for consideration

@jeffschwMSFTjeffschwMSFT added this to the9.0.x milestoneNov 21, 2024
@jeffschwMSFTjeffschwMSFT added the Servicing-approvedApproved for servicing release labelNov 26, 2024
@jeffschwMSFTjeffschwMSFT modified the milestones:9.0.x,9.0.1Nov 26, 2024
@jeffschwMSFTjeffschwMSFT merged commit1031b6e intorelease/9.0-stagingJan 8, 2025
10 of 16 checks passed
@jkotasjkotas deleted the backport/pr-108328-to-release/9.0-staging branchJanuary 8, 2025 19:37
@github-actionsgithub-actionsbot locked and limited conversation to collaboratorsFeb 8, 2025
Sign up for freeto subscribe to this conversation on GitHub. Already have an account?Sign in.

Reviewers

@jkotasjkotasjkotas approved these changes

@jeffschwMSFTjeffschwMSFTjeffschwMSFT approved these changes

@MichalStrehovskyMichalStrehovskyAwaiting requested review from MichalStrehovskyMichalStrehovsky is a code owner

Assignees

No one assigned

Labels

area-NativeAOT-coreclrServicing-approvedApproved for servicing release

Projects

None yet

Milestone

9.0.1

Development

Successfully merging this pull request may close these issues.

4 participants

@jkotas@jeffschwMSFT@MichalStrehovsky

[8]ページ先頭

©2009-2025 Movatter.jp