Skip to content

[mono] Add an 'allow-loader-errors' AOT option. #64640

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

Merged
merged 1 commit into from
Feb 6, 2022

Conversation

vargaz
Copy link
Contributor

@vargaz vargaz commented Feb 1, 2022

This can be used to avoid aborting the AOT process if a loader
error occurs. The methods which fail to load will not be AOTed and
the failures will happen at runtime.

Related:
#63654

Copy link
Member

@lambdageek lambdageek left a comment

Choose a reason for hiding this comment

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

it's not just loader errors.

There could be marshaler errors, too, for example:

wrapper = mono_marshal_get_managed_wrapper (method, klass, 0, error);
mono_error_assert_ok (error);

And there are other calls to mono_error_assert_ok in aot-compiler.c that could be masking loader errors.

This can be used to avoid aborting the AOT process if a loader
error occurs. The methods which fail to load will not be AOTed and
the failures will happen at runtime.

Related:
dotnet#63654
@vargaz vargaz force-pushed the allow-loader-errors branch from b1a2945 to bb823aa Compare February 1, 2022 23:00
@vargaz
Copy link
Contributor Author

vargaz commented Feb 1, 2022

Renamed the option to 'allow-errors'. If the tests hit one of those assertions, we can convert them to errors as well.

@vargaz vargaz merged commit ef817df into dotnet:main Feb 6, 2022
@vargaz vargaz deleted the allow-loader-errors branch February 6, 2022 11:59
@ghost ghost locked as resolved and limited conversation to collaborators Mar 8, 2022
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.

2 participants