On Fri, 20 Aug 2010 22:07:03 -0400, Adam B <cru...@gmail.com> wrote:

Walter has refused to put in null checks on the theory that the OS does it for you - hence the segfault. Of course, then the only way to get a stacktrace is to either have a segfault handler which prints one or to look at a core dump
(assuming that you get one). Neither is a very pleasant solution.

I see.  I guess I can sympathize with Walter's perspective somewhat -
it does feel redundant for both the application AND the OS to be
checking pointers.  Perhaps then it is the OS that's holding us back.
If only we could trap a segfault signal and have the OS tell us which
thread caused it and provide some mechanism to resume the thread with
an exception...  Hopefully some Linux kernel developers are reading
this ;)

Once you get a seg fault, your code is not guaranteed to be correct. Memory that contained code or data could have been corrupted. Even your stack may be corrupt.

I think D should handle it by making a best effort to print out a trace and exit.

-Steve

Reply via email to