Linux system errors
Signal 11 (SIGSEGV)
Reviewed for reference consistency: August 11, 2026
kernel signal for invalid memory reference segmentation fault
What 11 Means
The 11 error on the Linux system errors indicates signal 11 (sigsegv) — kernel signal for invalid memory reference segmentation fault. This typically occurs due to dereferencing a null, uninitialized, or dangling memory pointer.
Signal 11, known as SIGSEGV (Segmentation Violation), is a standard POSIX signal sent by the Linux kernel when a process attempts to access a memory location that it does not have permission to access, or that does not exist in its address space. Uncaught, it terminates the process with exit code 139.
How to fix 11
General informational guidance, not professional advice. Commands can affect your system or data — back up first and proceed at your own risk. FixerCode is an independent reference, not affiliated with any vendor mentioned.
Check kernel logs to confirm SIGSEGV vs resource exhaustion
Inspect dmesg output for 'segfault' entries to verify a Signal 11 crash, or look for 'Resource temporarily unavailable' for an Errno 11 event.
dmesg -T | grep -iE 'segfault|signal 11|eagain'Inspect system process and thread limits for EAGAIN errors
If experiencing 'fork: Resource temporarily unavailable' (EAGAIN), check the user process limits and system-wide thread limits.
ulimit -u && sysctl kernel.threads-max kernel.pid-maxCapture a backtrace with GDB for SIGSEGV crashes
Run the faulting compiled application under gdb and obtain a backtrace to isolate the invalid memory access function and line number.
gdb --args ./your_program run btEnable core dumps for post-mortem crash inspection
Configure core dumps to capture process state at the moment of SIGSEGV signal delivery without needing live reproduction.
ulimit -c unlimited coredumpctl gdb
Technical Background
The Linux kernel manages virtual memory in discrete pages with specific permissions (read, write, execute). When an instruction attempts an operation contrary to page permissions or accesses an unmapped address, the CPU raises an architectural exception.
The kernel intercepts this exception and delivers SIGSEGV (signal number 11) to the process. Unless the application registers a custom signal handler, the default action is immediate process termination and optional core dump generation.
Common Causes
- Dereferencing a null, uninitialized, or dangling memory pointer
- Writing to read-only memory pages or code segments
- Out-of-bounds array access corrupting adjacent memory pages
- Uncaught hardware memory fault or stack exhaustion
Typical Scenarios
- A program dereferences an uninitialized pointer variable
- A native shared library crashes when accessing memory freed by another thread
- A service terminates abruptly, logging 'Segmentation fault (core dumped)'
What to Know
Signal 11 indicates an invalid memory reference. It is the direct precursor to exit code 139. Inspecting stack traces and using memory debugging tools isolates the root memory fault.
Frequently Asked Questions
Common questions about Linux 11 error
Signal 11 (SIGSEGV) is a kernel termination signal sent when a process attempts illegal memory access. Errno 11 (EAGAIN/EWOULDBLOCK) is a system call return code telling a running process that a requested resource is temporarily busy or unavailable.
Linux shells report signal-terminated processes by adding 128 to the signal number. For Signal 11 (SIGSEGV), adding 128 yields 139 (128 + 11 = 139).
Kernel logs (`dmesg`) showing 'segfault at ... ip ...' indicate Signal 11. System log messages stating 'Resource temporarily unavailable' or syscall returns of -1 with errno 11 indicate EAGAIN.
Related Error Codes
Process Killed — the process was terminated by a SIGKILL signal
Exit Code 139 — process terminated by segmentation fault (Signal 11 / SIGSEGV)
Input/output error EIO — a read or write operation could not complete
Out of Memory (ENOMEM) — the kernel cannot allocate the requested amount of memory
Related Errors From Other Categories
Similar error codes documented across different platforms and systems
Git's internal object database is missing or corrupted.
The operating system denied Git's request for more RAM during a heavy operation.
Git detected corruption inside one of its compressed data bundles (packfiles).
An uncompressed file in Git's internal database has an invalid checksum or zero bytes.