Linux system errors
Linux 11 Segmentation Fault (SIGSEGV)
Segmentation Fault (SIGSEGV) — the process accessed restricted memory
What 11 Means
The 11 error on the Linux system errors indicates segmentation fault (sigsegv) — the process accessed restricted memory. This typically occurs due to dereferencing a null or uninitialized pointer in compiled code.
Signal 11 (SIGSEGV) is the kernel-level notification delivered to a process that performs an illegal memory access. It is the raw signal event, distinct from the shell exit code 139 that wraps it for script consumption.
Technical Background
SIGSEGV (Signal 11) is raised by the kernel's Memory Management Unit when a process attempts to access a memory address that is not mapped or not permitted for the type of access attempted. This is one of the most common crash signals for compiled languages like C and C++.
The fault is hardware-detected: the CPU's page table lookup fails, the hardware raises an exception, and the kernel translates it into a SIGSEGV signal delivered to the offending process. Unless a signal handler is installed, the default action is to terminate the process and produce a core dump.
Common Causes
- Dereferencing a null or uninitialized pointer in compiled code
- Buffer overflow writing past the end of an allocated memory block
- Accessing freed or unmapped memory regions
Typical Scenarios
- A C application crashes because it dereferences a pointer that was never initialized
- A native library loaded by a Python or Java application triggers a segfault due to memory corruption
What to Know
Core dump analysis with a debugger is the primary diagnostic approach for SIGSEGV. The backtrace from the core dump reveals the exact function and source line where the invalid memory access occurred.
Frequently Asked Questions
Common questions about Linux 11 error
They represent the same event. Signal 11 (SIGSEGV) is the kernel notification to the process. When the shell reports the result, it adds 128 to the signal number, producing exit code 139.