This is raised when the program attempts has a bad memory reference such as:
This is almost invariably a programming fault.
The default action for this signal is to cause the program to terminate and dump core.
A classic example is to dereference a pointer in C that is either uninitialised, or has already been freed. Here is some C code:
#include <stdio.h> int main(void) { int *pointer; pointer = 0; printf("Value pointed to by pointer is %d\n", *pointer /* this will cause SEGV */ ); }
See CommonProgrammingBugs for hints on how to track down memory related bugs in the SourceCode.