Penguin
Note: You are viewing an old revision of this page. View the current version.

Signal: Segmentation Violation (Fault)

This is raised when the program attempts has a bad memory reference such as:

  • Address not mapped to object (accessing memory that isn't mapped)
  • Invalid Permission for mapped object (accessing memory that permissions deny).

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 deference a pointer in C that is either uninitialised, or has already been freed. Here is some C code
  1. include <stdio.h>

int main(void) {

int *pointer;

pointer=0;

printf("value pointed to by pointer is %d\n", pointer / this will cause SEGV */ );