2011-02-02 07:08:43

by Sri Ram Vemulpali

[permalink] [raw]
Subject: Regarding SIGSEGV

Hi all,

I know that when a thread in an application do invalid memory
reference, OS generates SIGSEGV(segmentation fault) signal and
terminates application. What if we handle this signal by defining a
signal handler to perform to terminate only the thread did invalid
memory reference. So, that the application will not be terminated.
Also, is there any way, we can find when SIGSEGV is generated to get
the invalid memory reference and thread id, who caused this fault. I
know debuggers are written in such fashion. Can anyone point me to
right direction. Thanks in advance.

--
Regards,
Sri.


2011-02-05 14:39:53

by Corrado Zoccolo

[permalink] [raw]
Subject: Re: Regarding SIGSEGV

On Wed, Feb 2, 2011 at 8:08 AM, Sri Ram Vemulpali
<[email protected]> wrote:
> Hi all,
>
>       I know that when a thread in an application do invalid memory
> reference, OS generates SIGSEGV(segmentation fault) signal and
> terminates application. What if we handle this signal by defining a
> signal handler to perform to terminate only the thread did invalid
> memory reference.
The thread that performed an invalid memory reference might already
have corrupted vital data structures, so the application may not work
and/or produce incorrect results. In such cases is always better to
stop the whole process, to limit damage.
> So, that the application will not be terminated.
> Also, is there any way, we can find when SIGSEGV is generated to get
> the invalid memory reference and thread id, who caused this fault.
man sigaction.
If you use the
void (*sa_sigaction)(int, siginfo_t *, void *);
version of handler interceptor, you will get the siginfo_t with all
known information about who generated the signal.

Corrado

> I know debuggers are written in such fashion. Can anyone point me to
> right direction. Thanks in advance.
>
> --
> Regards,
> Sri.
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
>



--
__________________________________________________________________________

dott. Corrado Zoccolo                          mailto:[email protected]
PhD - Department of Computer Science - University of Pisa, Italy
--------------------------------------------------------------------------
The self-confidence of a warrior is not the self-confidence of the average
man. The average man seeks certainty in the eyes of the onlooker and calls
that self-confidence. The warrior seeks impeccability in his own eyes and
calls that humbleness.
                               Tales of Power - C. Castaneda