-
Notifications
You must be signed in to change notification settings - Fork 3.8k
[merp] Put thread into async context before running summarizer #17194
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
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Followup work for mono#17090 In order to get managed method info for unmanaged stacktraces, we call mini_jit_info_table_find_ext which calls decode_exception_debug_info which may allocate if it's not in async context. Do the switch in mono_threads_summarize_execute so that non-supervising threads all switch when they run the sigterm_signal_handler. mono_threads_summarize already does it for the supervisor thread. Fixes mono#17180
Member
Author
|
/cc @CoffeeFlux |
CoffeeFlux
approved these changes
Oct 4, 2019
Member
Author
|
@monojenkins backport to 2019-08 |
monojenkins
added a commit
that referenced
this pull request
Oct 5, 2019
[2019-08] [merp] Put thread into async context before running summarizer Followup work for #17090 In order to get managed method info for unmanaged stacktraces, we call `mini_jit_info_table_find_ext` which calls `decode_exception_debug_info` which may allocate if it's not in async context. Do the switch in `mono_threads_summarize_execute` so that non-supervising threads all switch when they run the `sigterm_signal_handler`. `mono_threads_summarize` already does it for the supervisor thread. Fixes #17180 Backport of #17194. /cc @lambdageek
lambdageek
pushed a commit
to lambdageek/mono
that referenced
this pull request
Oct 11, 2019
[merp] Put thread into async context before running summarizer Followup work for mono#17090 In order to get managed method info for unmanaged stacktraces, we call `mini_jit_info_table_find_ext` which calls `decode_exception_debug_info` which may allocate if it's not in async context. Do the switch in `mono_threads_summarize_execute` so that non-supervising threads all switch when they run the `sigterm_signal_handler`. `mono_threads_summarize` already does it for the supervisor thread. Fixes mono#17180 Backport of mono#17194. /cc @lambdageek
monojenkins
added a commit
to monojenkins/mono
that referenced
this pull request
Oct 14, 2019
[merp] Put thread into async context before running summarizer Followup work for mono#17090 In order to get managed method info for unmanaged stacktraces, we call `mini_jit_info_table_find_ext` which calls `decode_exception_debug_info` which may allocate if it's not in async context. Do the switch in `mono_threads_summarize_execute` so that non-supervising threads all switch when they run the `sigterm_signal_handler`. `mono_threads_summarize` already does it for the supervisor thread. Fixes mono#17180 Backport of mono#17194. /cc @lambdageek
marek-safar
pushed a commit
that referenced
this pull request
Oct 14, 2019
…etry (#17296) * [merp] Put thread into async context before running summarizer [merp] Put thread into async context before running summarizer Followup work for #17090 In order to get managed method info for unmanaged stacktraces, we call `mini_jit_info_table_find_ext` which calls `decode_exception_debug_info` which may allocate if it's not in async context. Do the switch in `mono_threads_summarize_execute` so that non-supervising threads all switch when they run the `sigterm_signal_handler`. `mono_threads_summarize` already does it for the supervisor thread. Fixes #17180 Backport of #17194. /cc @lambdageek * [merp] Don't call install_state_summarizer in EnableMicrosoftTelemetry install_state_summarizer installs a SIGTERM handler. Unfortunately sigterm_signal_handler assumes that it will only be called when a crash is already in progress (it assumes it won't be the supervisor, and so it doesn't setup the memory for capturing a crash report among other things). * [merp] Register SIGTERM handler in dump_native_stacktrace Previously it was installed by EnableMicrosoftTelemetry, which is too early. Now we get here without a handler installed even when mono_merp_enabled returns true.
ManickaP
pushed a commit
to ManickaP/runtime
that referenced
this pull request
Jan 20, 2020
…mono#17194) Followup work for mono/mono#17090 In order to get managed method info for unmanaged stacktraces, we call mini_jit_info_table_find_ext which calls decode_exception_debug_info which may allocate if it's not in async context. Do the switch in mono_threads_summarize_execute so that non-supervising threads all switch when they run the sigterm_signal_handler. mono_threads_summarize already does it for the supervisor thread. Fixes mono/mono#17180 Commit migrated from mono/mono@cb52186
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Followup work for #17090
In order to get managed method info for unmanaged stacktraces, we call
mini_jit_info_table_find_extwhich callsdecode_exception_debug_infowhich mayallocate if it's not in async context.
Do the switch in
mono_threads_summarize_executeso that non-supervising threadsall switch when they run the
sigterm_signal_handler.mono_threads_summarizealready does it for the supervisor thread.
Fixes #17180