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

Enable new exception handling by default #98570

Merged
merged 3 commits into from
Feb 23, 2024

Conversation

janvorli
Copy link
Member

This change just flips the config knob to enable the new exception handling by default.

@janvorli janvorli added this to the 9.0.0 milestone Feb 16, 2024
@janvorli janvorli self-assigned this Feb 16, 2024
@janvorli
Copy link
Member Author

/azp run runtime-coreclr outerloop

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@@ -259,7 +259,7 @@ RETAIL_CONFIG_DWORD_INFO(UNSUPPORTED_legacyCorruptedStateExceptionsPolicy, W("le
CONFIG_DWORD_INFO(INTERNAL_SuppressLostExceptionTypeAssert, W("SuppressLostExceptionTypeAssert"), 0, "")
RETAIL_CONFIG_DWORD_INFO(INTERNAL_UseEntryPointFilter, W("UseEntryPointFilter"), 0, "")
RETAIL_CONFIG_DWORD_INFO(INTERNAL_Corhost_Swallow_Uncaught_Exceptions, W("Corhost_Swallow_Uncaught_Exceptions"), 0, "")
RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableNewExceptionHandling, W("EnableNewExceptionHandling"), 0, "Enable new exception handling.");
RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableNewExceptionHandling, W("EnableNewExceptionHandling"), 1, "Enable new exception handling.");
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is there a way to configure this via runtimeconfig as well? We had some asks for having even W^X configurable through that as well.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, let me figure out how to do that.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mangod9 I've just added a commit that adds "System.Runtime.EnableNewExceptionHandling" setting that can control that from runtime.config.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we not call this "New" exception handling? I've worked on way too many features where the "New" thing was 15 years old and its name confused everyone at all times.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, I suppose thats the name throughout the product at this point. Oh well. I suppose New it is. Sigh.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@davidwrighton yeah, I know. I couldn't come up with anything better over the time. If you have a better idea, I'd be happy to rename it.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a quick idea - would using DOTNET_ExceptionHandlingMode and System.Runtime.ExceptionHandlingMode with a numeric value feel better? We would use 0 for the old EH, 1 for the new EH and if we ever moved it to something else, then we could keep incrementing it.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I assume that this setting is temporary just in case somebody gets blocked and we are going to delete it at some point. Do we have an idea when we are going to delete it?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I couldn't come up with anything better over the time.

A better name would be LegacyExceptionHandling with opposite meaning. It makes it clear that it is something that one should not use and that is likely going to disappear at some point.

@janvorli
Copy link
Member Author

/azp run runtime-coreclr outerloop

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@mangod9
Copy link
Member

mangod9 commented Feb 16, 2024

Looks like there are PALTest failures?

@janvorli
Copy link
Member Author

Looks like there are PALTest failures?

Yes, break from another PAL refactoring, see #98574

@janvorli
Copy link
Member Author

I don't know what happened. Huge number of tests are failing. I had a test PR before with all the changes and all tests were passing. I must have merged something incorrectly. I need to investigate it.

@janvorli janvorli closed this Feb 17, 2024
@janvorli janvorli reopened this Feb 17, 2024
@janvorli
Copy link
Member Author

/azp run runtime-coreclr outerloop

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@janvorli
Copy link
Member Author

/azp run runtime-coreclr outerloop

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@janvorli janvorli closed this Feb 22, 2024
@janvorli janvorli reopened this Feb 22, 2024
@janvorli
Copy link
Member Author

/azp run runtime-coreclr outerloop

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@janvorli janvorli closed this Feb 23, 2024
@janvorli janvorli reopened this Feb 23, 2024
@janvorli
Copy link
Member Author

/azp run runtime-coreclr outerloop

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

This change just flips the config knob to enable the new exception
handling by default.
From the EnableNewExceptionHandling to LegacyExceptionHandling
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants