[release/7.0] Fix multiple dumps from being generated by github-actions[bot] · Pull Request #80708 · dotnet/runtime (original) (raw)

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.