Skip to content

[release/7.0] Fix pGeneratedNewStub determination - #80269

Merged
carlossanlop merged 2 commits into
release/7.0from
backport/pr-80128-to-release/7.0
Jan 9, 2023
Merged

[release/7.0] Fix pGeneratedNewStub determination#80269
carlossanlop merged 2 commits into
release/7.0from
backport/pr-80128-to-release/7.0

Conversation

@github-actions

@github-actionsgithub-actionsBot commented Jan 5, 2023

Copy link
Copy Markdown
Contributor

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.

@AaronRobinsonMSFTAaronRobinsonMSFT added this to the 7.0.x milestone Jan 5, 2023
@AaronRobinsonMSFTAaronRobinsonMSFT added the Servicing-consider Issue for next servicing release review label Jan 5, 2023

@jeffschwMSFTjeffschwMSFT 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. we will take for consideration in 7.0.x

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

Copy link
Copy Markdown
Contributor

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.0Jan 9, 2023
@carlossanlop
carlossanlop deleted the backport/pr-80128-to-release/7.0 branch January 9, 2023 22:06
@ghostghost locked as resolved and limited conversation to collaborators Feb 9, 2023
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Interop-coreclrServicing-approvedApproved for servicing release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@carlossanlop@jeffschwMSFT@AaronRobinsonMSFT@ChrisAhna