This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug libc/20853] raise in catch_segfault supresses kernel messages for segfaults under libSegFault.so in Linux
- From: "gjc at alum dot mit.edu" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Thu, 01 Dec 2016 17:04:18 +0000
- Subject: [Bug libc/20853] raise in catch_segfault supresses kernel messages for segfaults under libSegFault.so in Linux
- Auto-submitted: auto-generated
- References: <bug-20853-131@http.sourceware.org/bugzilla/>
https://sourceware.org/bugzilla/show_bug.cgi?id=20853
--- Comment #4 from George J Carrette <gjc at alum dot mit.edu> ---
I dug into kernel sources a bit to explain the current behavior.
A test like this: bash -c 'kill -SEGV $$'
Ends up going through a codepath in kernel/signal.c
You can get a message from that using
sysctl kernel.print-fatal-signals=1
which is off by default and a bit verbose.
But the nice kernel segfault messages (and related messages)
come from the architecture-specific code modules in the kernel
and you don't reach those code paths using the raise() (i.e. kill)
api.
So that explains why we want to avoid the call to raise() inside
the libSegFault.so if we want to be able to transparently
insert it via LD_PRELOAD without changing what info we
get in the kernel syslog.
--
You are receiving this mail because:
You are on the CC list for the bug.