Re: [PATCH] emit logging when a process receives a fatal signal

Oleg Verych
2006-11-18T14:09:50Z

Nice to meet you, Miquel!

On 2006-11-18, Miquel van Smoorenburg wrote:
> In article <20061118023832.GG13827@flower.upol.cz>,
> Oleg Verych <olecom@flower.upol.cz> wrote:
>>On Sat, Nov 18, 2006 at 03:04:13AM +0100, Folkert van Heusden wrote:
>>> > > > I found that sometimes processes disappear on some heavily used system
>>> > > > of mine without any logging. So I've written a patch against 2.6.18.2
>>> > > > which emits logging when a process emits a fatal signal.
>>> > > Why not to patch default signal handlers in glibc, to have not only
>>> > > stderr, but syslog, or /dev/kmsg copy of fatal messages?
>>> > Afaik when a proces gets shot because of a segfault, also the libraries
>>> > it used are shot so to say. iirc some of the more fatal signals are
>>> > handled directly by the kernel.
>>
>>Kernel sends signals, no doubt.
>>
>>Then, who you think prints that "Killed" or "Segmentation fault"
>>messages in *stderr*?
>>[Hint: libc's default signal handler (man 2 signal).]
>
> There is no such thing as a "libc default signal handler".

By that i mean SIG_DFL, even if that means signal masks,
shell/debuger/tracer/lib/whatever installed *actual* functions.

Maybe there isn't one for actual patching (if someone really wants to
patch something ;). One may add, just like in libSegFault.so.
There are many in-userspace solutions, that problem isn't kernel's one.

> [Hint: waitpid (man 2 waitpid).]

Thanks.

--
-o--=O`C info emacs : not found /. .\ (is there any reason to live?)
#oo'L O info make : not found o ( R.I.P )
<___=E M man gcc : not found .-- ( Debian Operating System )