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] Update IpcStreamFactory state machine to handle being started on a thread that ends #44267

Merged
merged 2 commits into from
Nov 14, 2020

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented Nov 5, 2020

Backport of #43711 to release/5.0

/cc @josalem

Customer Impact

#39176

In custom hosting scenarios, the runtime can be started on a thread that ends before the application ends. In this case, all Overlapped IO on Windows that was started on that thread is cancelled. This scenario causes the state machine inside the Diagnostic Server that polls for connections to go into an unrecoverable error state. This will cause the Diagnostic Server to be unable to receive commands and for the polling thread to use ~12% CPU. (see #43711 for more details)

Testing

There is a repro available in #39176 and I have manually confirmed both the bad behavior and that this patch fixes the bad behavior.

Risk

This is a minimal risk patch. All the tests for expected behavior are passing and the specific case for bad behavior has been manually tested and shown to be fixed.

CC @tommcdon @noahfalk

@josalem josalem added this to the 5.0.x milestone Nov 5, 2020
@josalem josalem self-assigned this Nov 5, 2020
@josalem josalem requested review from noahfalk and a team November 5, 2020 01:08
@jeffschwMSFT jeffschwMSFT added the Servicing-consider Issue for next servicing release review label Nov 5, 2020
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. Please get a cr and I can take it for consideration for 5.0.x

@leecow leecow added Servicing-approved Approved for servicing release and removed Servicing-consider Issue for next servicing release review labels Nov 12, 2020
@Anipik Anipik merged commit 870df2b into release/5.0 Nov 14, 2020
@Anipik Anipik deleted the backport/pr-43711-to-release/5.0 branch November 14, 2020 01:02
@ghost ghost locked as resolved and limited conversation to collaborators Dec 14, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-Tracing-coreclr Servicing-approved Approved for servicing release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants