Linux system errors

Signal 11 (SIGSEGV)

11
HighLinux System

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.

  1. 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'
  2. 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-max
  3. Capture 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
    bt
  4. Enable 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

Related Errors From Other Categories

Similar error codes documented across different platforms and systems