Skip to content
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 our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[release/5.0] Various fixes for layout class marshalling. #50882

Merged
merged 3 commits into from
May 5, 2021

Conversation

jkoritzinsky
Copy link
Member

@jkoritzinsky jkoritzinsky commented Apr 7, 2021

Fixes handling of zero-sized parent types that have zero-sized parent types. Port of #50861 to 5.0. Also includes #50138 for next month's rollout.

Customer Impact

Without this change, developers have to manually marshal types that inherit from an empty type that inherits from another empty type. This was reported as an issue at #50764.

Regression?

This was a regression from .NET Core 3.1.

See #49857

Testing

Tests for the fix are in #50861, the corresponding change in main.

Risk

Low. This change brings us back to behavior in .NET Core 3.1 and is a very targeted change (only has an effect when fixing the broken case).

…zed class inheriting from a zero-sized class that inherits from another zero-sized class.

Fixes handling of zero-sized parent types that have zero-sized parent types.
…ynamically marshalling the type if it doesn't match the static type in the signature. (#50138)" (#50883) (#51021)

This reverts commit b71bb59.
@jkoritzinsky jkoritzinsky changed the title [release/5.0] Use adjusted parent layout size to handle a non-zero-sized class inheriting from a zero-sized class that inherits from another zero-sized class. [release/5.0] Various fixes for layout class marshalling. Apr 9, 2021
@jkoritzinsky
Copy link
Member Author

Updated to include #50138 since it was rolled back by #50883

@jkoritzinsky
Copy link
Member Author

The partner team that encountered the issue has validated that this PR fixes all of the issues they saw.

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 consider for 5.0.x

@jeffschwMSFT jeffschwMSFT added the Servicing-consider Issue for next servicing release review label Apr 15, 2021
@leecow leecow added Servicing-approved Approved for servicing release and removed Servicing-consider Issue for next servicing release review labels Apr 20, 2021
@leecow leecow modified the milestones: 5.0.x, 5.0.7 Apr 20, 2021
@Anipik Anipik merged commit 4eeddf9 into release/5.0 May 5, 2021
@akoeplinger akoeplinger deleted the 5.0-fixes/50764 branch May 6, 2021 17:21
@ghost ghost locked as resolved and limited conversation to collaborators Jun 5, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-Interop-coreclr Servicing-approved Approved for servicing release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants