On 11/19/18 7:21 PM, Jordi GutiƩrrez Hermoso wrote:
On Monday, 19 November 2018 at 21:52:47 UTC, Steven Schveighoffer wrote:

A null pointer dereference is an immediate error, and it's also a safe error. It does not cause corruption, and it is free (the MMU is doing it for you).

Is this always true for all arches that D can compile to? I remember back in the DOS days with no memory protection you really could read OS data around the beginning.

It's true for all OSes that D supports, and for most modern operating systems, that run in protected mode.

It would NOT necessarily be true for kernel modules or an OS kernel, so that is something to be concerned about.

Consistent segfaults are generally easy to figure out.

I think I would still prefer a stack trace like other kinds of D errors. Is this too difficult?

Yes and no. It's good to remember that this is a HARDWARE generated exception, and each OS handles it differently. It's also important to remember that a segmentation fault is NOT necessarily the result of a simple error like forgetting to initialize a variable. It could be a serious memory corruption error. Generating stack traces can be dangerous in this kind of state.

As I said, on Linux you can enable a "hack" that generates an error for a null dereference. On Windows, I believe that it already generates an exception without any modification.

On other OSes you may be out of luck until someone figures out a nice clever hack for it.

And if it's repeatable, you can always run in a debugger to see where the error is occurring.

-Steve
            • Re:... Neia Neutuladh via Digitalmars-d-learn
              • ... Alex via Digitalmars-d-learn
              • ... aliak via Digitalmars-d-learn
              • ... Alex via Digitalmars-d-learn
              • ... aliak via Digitalmars-d-learn
            • Re:... Kagamin via Digitalmars-d-learn
      • Re: Why does nob... Stefan Koch via Digitalmars-d-learn
  • Re: Why does nobody seem ... Steven Schveighoffer via Digitalmars-d-learn
    • Re: Why does nobody ... Jordi GutiĆ©rrez Hermoso via Digitalmars-d-learn
      • Re: Why does nob... Steven Schveighoffer via Digitalmars-d-learn
        • Re: Why does... Jonathan M Davis via Digitalmars-d-learn
        • Re: Why does... Johan Engelen via Digitalmars-d-learn
          • Re: Why ... Steven Schveighoffer via Digitalmars-d-learn
            • Re:... Johan Engelen via Digitalmars-d-learn
              • ... Neia Neutuladh via Digitalmars-d-learn
              • ... Johan Engelen via Digitalmars-d-learn
              • ... Patrick Schluter via Digitalmars-d-learn
              • ... Johan Engelen via Digitalmars-d-learn
              • ... Steven Schveighoffer via Digitalmars-d-learn
              • ... Timon Gehr via Digitalmars-d-learn

Reply via email to