Program exited with code -11

Adam D. Ruppe via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Mon Jun 22 19:45:22 PDT 2015


On Tuesday, 23 June 2015 at 02:34:17 UTC, Charles Hawkins wrote:
> How do I find out what that means?

Many return codes have a meaning in the linux documentation:

http://www.tldp.org/LDP/abs/html/exitcodes.html#EXITCODESREF

(it lists them as unsigned, but you got a signed result. 128 == 
-1, so -11 falls under the 128+ section in that table)


-11 means it exited with signal 11. Do "man 7 signal" in linux to 
get the signal documentation overview. One of the lines there is:

        SIGSEGV      11       Core    Invalid memory reference


Signal #11 is segmentation fault.



Since you're a D newbie, I'm guessing you made the mistake of 
forgetting to new a class before using it:

class Foo {}

void main() {
    Foo foo;
    foo.something(); // this will segfault, killing the program
}


That's different than C++, D's classes are more like Java. You 
need to:

Foo foo = new Foo();

or

auto foo = new Foo();

so it isn't a null reference.


More information about the Digitalmars-d-learn mailing list