Skip to content

Conversation

@elinor-fung
Copy link
Member

@elinor-fung elinor-fung commented Feb 9, 2024

Backport of #98198 to release/8.0-staging

We were propagating state from each type in the method signature to the comparisons for the next type. This resulted in type equivalence checks being disabled for any parameters that came after a generic parameter.

Customer Impact

  • Customer reported
  • Found internally

Fixes #96268

MissingMethodException would be thrown when trying to call a method that had a generic parameter or return value followed by a parameter that relied on type equivalence and came from different assemblies. Interop types are the very common use case here. There is no workaround other than reverting to 7.0 or rewriting method signatures to not have generic parameters or move them after any type that uses type equivalence.

Regression

  • Yes
  • No

This is a regression between 7.0 and 8.0.

Testing

Automated test added. Manual test of repros provided by customers.

Risk

Low

We were propagating state from each type in the method signature to the
comparisons for the next type. This resulted in type equivalence checks
being disabled for any parameters that came after a generic parameter.
@elinor-fung elinor-fung added Servicing-consider Issue for next servicing release review area-VM-coreclr labels Feb 9, 2024
@elinor-fung elinor-fung added this to the 8.0.x milestone Feb 9, 2024
@ghost ghost assigned elinor-fung Feb 9, 2024
@elinor-fung elinor-fung linked an issue Feb 9, 2024 that may be closed by this pull request
Copy link
Member

@jeffschwMSFT jeffschwMSFT left a comment

Choose a reason for hiding this comment

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

approved. we will take for consideration in 8.0.x

@jeffschwMSFT jeffschwMSFT added Servicing-approved Approved for servicing release and removed Servicing-consider Issue for next servicing release review labels Feb 12, 2024
@jeffschwMSFT jeffschwMSFT modified the milestones: 8.0.x, 8.0.3 Feb 12, 2024
@jeffschwMSFT jeffschwMSFT merged commit 6dec8dd into dotnet:release/8.0-staging Feb 12, 2024
@elinor-fung elinor-fung deleted the fix96268-rel8 branch February 12, 2024 18:05
@github-actions github-actions bot locked and limited conversation to collaborators Mar 14, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-VM-coreclr Servicing-approved Approved for servicing release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

MethodNotFoundException in net8

3 participants