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/7.0] Fix pGeneratedNewStub determination #80269

Merged
merged 2 commits into from
Jan 9, 2023

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented Jan 5, 2023

Backport of #80128 to release/7.0

/cc @AaronRobinsonMSFT @ChrisAhna

Customer Impact

The problem came to light when a high-scale service started to see intermittent crashes after moving to Net7. These crashes occurred during concurrent marshaling of a layout-bearing struct which was defined in a non-FX module and which used a ByValArray to model the trailing part of the Win32 REPARSE_DATA_BUFFER structure (mimicked by the DataBuffer* types in the repro app).

See extensive details in #80127.

Testing

A repro sample was created and able to reproduce the crash 10 % of the time. With this fix, the issue was resolved.

Risk

Medium risk. This is a race condition that for interop stub generation and as such carries risk as the reproduction and verification is dependent on analysis of a complex system that is partially lock-free. This code has been checked in to .NET 8 though with a reproduction environment that was determined to be fix after the fix was applied.

@AaronRobinsonMSFT AaronRobinsonMSFT added this to the 7.0.x milestone Jan 5, 2023
@AaronRobinsonMSFT AaronRobinsonMSFT added the Servicing-consider Issue for next servicing release review label Jan 5, 2023
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 7.0.x

@carlossanlop carlossanlop modified the milestones: 7.0.x, 7.0.3 Jan 9, 2023
@carlossanlop carlossanlop added Servicing-approved Approved for servicing release and removed Servicing-consider Issue for next servicing release review labels Jan 9, 2023
@carlossanlop
Copy link
Member

Approved by Tactics via email (7.0.3).
Signed off by area owner.
No OOB changes needed (native code).
CI failure is known and unrelated: #80284
Ready to merge. :shipit:

@carlossanlop carlossanlop merged commit 2f7c3f4 into release/7.0 Jan 9, 2023
@carlossanlop carlossanlop deleted the backport/pr-80128-to-release/7.0 branch January 9, 2023 22:06
@ghost ghost locked as resolved and limited conversation to collaborators Feb 9, 2023
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.

4 participants