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/7.0] Fix multiple dumps from being generated #80708

Merged
merged 1 commit into from
Jan 17, 2023

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented Jan 16, 2023

Backport of #80474 to release/7.0

/cc @mikem8361

Customer Impact

This issue affects both 1st and 3rd party customers.

The issue (#78956) is that in certain Linux Kubernetes container configurations, 2 core dumps are created: one from the unhandled managed exception and one incorrectly from a SIGSEGV during abort() during process shutdown.

This also fixes hang during unhandled exception processing on ARM64 docker containers (issue #66707).

The soluation is that all the signals that the runtime hooks need to be unregistered before calling the Linux abort() API in the unhandled exception/crash dump generation path.

Testing

Diagnostics/createdump tests ran locally.

Risk

Low. Affects only crash dump generation on Linux/MacOS.

Issue: #78956

After a core dump is generated because of a unhandled managed exception
abort() is called but a SIGSEGV is generated in libpthread.so which is
caught by the runtime and a second core dump is generated. The fix is
to uninstall/uninitialize all the signal handlers, not just SIGABORT.
@mikem8361 mikem8361 self-assigned this Jan 16, 2023
@mikem8361 mikem8361 added the Servicing-consider Issue for next servicing release review label Jan 16, 2023
Copy link
Member

@janvorli janvorli left a comment

Choose a reason for hiding this comment

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

LGTM, thank you!

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. we will take for consideration in 7.0.x

@rbhanda rbhanda added Servicing-approved Approved for servicing release and removed Servicing-consider Issue for next servicing release review labels Jan 17, 2023
@rbhanda rbhanda added this to the 7.0.3 milestone Jan 17, 2023
@carlossanlop
Copy link
Member

carlossanlop commented Jan 17, 2023

Approved by Tactics for 7.0.3.
Signed off by area owners.
CI is green.
No OOB changes needed (native coreclr code).
Ready to merge. :shipit: cc @mmitche

@carlossanlop carlossanlop merged commit 7db1c33 into release/7.0 Jan 17, 2023
@carlossanlop carlossanlop deleted the backport/pr-80474-to-release/7.0 branch January 17, 2023 18:52
@ghost ghost locked as resolved and limited conversation to collaborators Feb 16, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-PAL-coreclr Servicing-approved Approved for servicing release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants