Skip to content
Snippets Groups Projects
Commit 6290b041 authored by Ilya Verbin's avatar Ilya Verbin Committed by Vladimir Davydov
Browse files

crash: handle all unblockable signals

There are 4 fatal signals that cannot be blocked by sigmask if they
are caused by the CPU exception (rather than kill, sigqueue or raise):
SIGILL, SIGBUS, SIGFPE, SIGSEGV. Currently the crash module handles
only SIGSEGV and SIGFPE. This patch adds handlers for SIGBUS and SIGILL.
SIGBUS is usually raised by macOS on access to the unmapped memory, and
SIGILL is possible, for example, while running AVX version of memcpy on
a CPU without AVX support.

Faulting address siginfo->si_addr is valid for all these signals, so
print it unconditionally.

Part of #8023
Part of #8083

NO_DOC=See next commit
NO_CHANGELOG=See next commit

(cherry picked from commit 6c3ce7a6)
parent 535decdf
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment