Segmentation faults usually come from a programming error. This message is usually accompanied by a core dump, except on read-only file systems.
To see which program produced a core(4) file, run either the file(1) command or the adb(1) command. The following examples show the output of the file(1) and adb(1) commands on a core file from the dtmail program.
$ file core core: ELF 32-bit MSB core file SPARC Version 1, from `dtmail' |
$ adb core core file = core -- program `dtmail' SIGSEGV 11: segmentation violation ^D (use Control-d to quit the adb rogram) |
A process has received a signal indicating that it attempted to access an area of memory that is protected or that does not exist. The two most common causes of segmentation faults are attempting to dereference a null pointer or indexing past the bounds of an array.