Skip to content

Conversation

@github-actions
Copy link
Contributor

@github-actions github-actions bot commented Feb 11, 2022

Backport of #65214 to release/6.0

/cc @dotnet/interop-contrib

Customer Impact

There is a race condition for all ComWrappers scenarios involving creation of a CCW. It is possible that the initial creation of the CCW map on one thread is interpreted as a fully initialized state on another, but this is not the case. A critical section also needed to be initialized but is used prior to that initialization routine being run on the first thread.

This issue was observed by a first-party and reported directly to the interop team.

Testing

Since this is a race condition, testing is difficult. Auditing of the code paths for critical section initialization was performed and indicated the issue was possible and confirmed with the state of a DMP file.

Risk

Minimal. The race condition has been removed and the new initialization location is a pay for play location which means performance impact is negligible relative to the creation of the Interop data structure.

@ghost ghost added the area-Interop-coreclr label Feb 11, 2022
@AaronRobinsonMSFT AaronRobinsonMSFT added this to the 6.0.x milestone Feb 11, 2022
@AaronRobinsonMSFT AaronRobinsonMSFT added the Servicing-consider Issue for next servicing release review label Feb 11, 2022
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 6.0.x

@jeffschwMSFT jeffschwMSFT added the Servicing-approved Approved for servicing release label Feb 14, 2022
@jeffschwMSFT jeffschwMSFT modified the milestones: 6.0.x, 6.0.3 Feb 14, 2022
@jeffschwMSFT jeffschwMSFT merged commit 6c9b451 into release/6.0 Feb 14, 2022
@akoeplinger akoeplinger deleted the backport/pr-65214-to-release/6.0 branch February 14, 2022 15:58
@ghost ghost locked as resolved and limited conversation to collaborators Mar 16, 2022
@teo-tsirpanis teo-tsirpanis removed the Servicing-consider Issue for next servicing release review label Jul 28, 2022
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