-
Notifications
You must be signed in to change notification settings - Fork 4.6k
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/8.0] Remove preventing EH at shutdown #100836
[Release/8.0] Remove preventing EH at shutdown #100836
Conversation
removing the servicing-consider for now. given the low/medium risk, let's ship a preview of 9 and check for feedback and then consider a backport |
|
I think the issue wouldn't reproduce in the customer's scenario if the issue #83093 wasn't there. That issue was introduced by changes in the CNTRL_SHUTDOWN_EVENT handling. Also, we disable software exceptions only on x86, so the app has to be a x86 windows service that is running during shutdown. Moreover, the issue is not observable if watson dumps are not enabled on the machine. So, I guess that is what's making the issue occurrence and observability low.
That is a good point. I can scale it down to just remove the |
My preference is a lower risk fix which addresses the customer issue (eg. they validated that their scenario is now working as expected). |
Partial backport of dotnet#100293 to release/8.0
6a19622
to
afaa2a2
Compare
@jeffschwMSFT I have scaled down the change considerably to address just the issue the customer has reported. I believe the risk is low now, so I have re-added the servicing-consider tag. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm. I will take for consideration for 8.0.x.
please get a code review and ensure the customer has signed off that this addresses their issue.
Backport of #100293 to release/8.0
Customer Impact
During the runtime shutdown, we stop handling exceptions at all and we also prevent entering EE at few places. A customer has hit an issue with Watson dump being generated from a .NET app on every machine reboot due to that. That app was a networking app that was listening on a socket. Shutdown of the app resulted in a SocketException being thrown, but the exception handling was prevented and so the exception was reported as an unhandled exception which caused the dump to be taken.
Testing
CI testing, local testing of a case equivalent to what the customer had - a grpc running as a service. Without the fix the issue reported by the customer can be reproduced, with the fix it is gone.
Risk
Low - the change just enables exceptions handling during shutdown. So where previously the app would crash with an unhandled exception, it will now get proper handling of that exception upto the point the process is torn down by the OS.