Error map

runtime error: C/C++: runtime error: signed integer overflow / null pointer / shift exponent too large (UndefinedBehaviorSanitizer)

C/C++ · layer 4, Application & API

Open the full error page →

Centre: this error. First ring: errors it is linked with (8). Outer ring: what those are linked with. Colours show the layer of a request each error belongs to. Click any dot to re-centre the map on it; hover to follow its connections. The centre dot opens the error page.

runtime error: — C/C++: runtime error: signed integer overflow / null pointer / shift exponent too large (UndefinedBehaviorSanitizer) (C/C++)runtime err…narrowing conversion — C++: error: narrowing conversion of 'x' from 'int' to 'char' inside { } [-Wnarrowing] (C/C++)narrowing conversioncannot declare variable to be of abstract type — C++: error: cannot declare variable 'x' to be of abstract type 'Shape' (pure virtual functions) (C/C++)cannot declare vari…control reaches end of non-void function — C/C++: warning: control reaches end of non-void function [-Wreturn-type] (C/C++)control reaches end…Assertion failed — C/C++: Assertion `x > 0' failed. Aborted (core dumped) — assert() condition was false (C/C++)Assertion failedFloating point exception — C/C++: Floating point exception (core dumped) — SIGFPE, usually integer division by zero (C/C++)Floating point exce…AddressSanitizer: heap-buffer-overflow — C/C++: ==ERROR: AddressSanitizer: heap-buffer-overflow on address — READ/WRITE of size N (C/C++)AddressSanitizer: h…AddressSanitizer: heap-use-after-free — C/C++: ==ERROR: AddressSanitizer: heap-use-after-free on address — memory used after delete/free (C/C++)AddressSanitizer: h…LeakSanitizer: detected memory leaks — C/C++: ==ERROR: LeakSanitizer: detected memory leaks — Direct leak of N byte(s) (C/C++)LeakSanitizer: dete…E0308 — Rust: error[E0308]: mismatched types — expected `X`, found `Y` (Rust)E0308invalid conversion from — C++: error: invalid conversion from 'const char*' to 'char*' [-fpermissive] (C/C++)invalid conversion …does not name a type — C++: error: 'string' does not name a type (C/C++)does not name a typeno match for 'operator' — C++: error: no match for 'operator<<' (operand types are 'std::ostream' and 'X') (C/C++)no match for 'opera…use of deleted function — C++: error: use of deleted function 'X::X(const X&)' — copying a non-copyable type (C/C++)use of deleted func…no matching function for call to — C++: error: no matching function for call to 'f(int, const char*)' (C/C++)no matching functio…comparison of integers of different signs — C/C++: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' [-Wsign-compare] (C/C++)comparison of integ…format expects argument of type — C: warning: format '%d' expects argument of type 'int', but argument 2 has type 'long int' [-Wformat=] (C/C++)format expects argu…implicit declaration of function — C: warning: implicit declaration of function 'foo' [-Wimplicit-function-declaration] (C/C++)implicit declaratio…terminate called after throwing an instance of — C++: terminate called after throwing an instance of 'std::out_of_range' — what(): vector::_M_range_check (C/C++)terminate called af…call of overloaded is ambiguous — C++: error: call of overloaded 'f(int)' is ambiguous (C/C++)call of overloaded …Segmentation fault — C/C++: Segmentation fault (core dumped) — SIGSEGV from a null, dangling or out-of-bounds pointer (C/C++)Segmentation faultstack overflow — C/C++: stack overflow — infinite recursion or huge local array (Segmentation fault, 0xC00000FD) (C/C++)stack overflowBus error — C/C++: Bus error (core dumped) — SIGBUS from misaligned access or a bad memory-mapped file (C/C++)Bus errorstack smashing detected — C/C++: *** stack smashing detected ***: terminated — buffer overflow on the stack (C/C++)stack smashing dete…MEMORY_MANAGEMENT — Blue Screen: MEMORY_MANAGEMENT (Stop code 0x0000001A) (Windows)MEMORY_MANAGEMENTSIGSEGV — Segmentation fault (core dumped) (Linux)SIGSEGVOOM killer — Killed / Out of memory: Killed process (Linux OOM killer) (Linux)OOM killerCannot allocate memory — fork: Cannot allocate memory / ENOMEM (Linux)Cannot allocate mem…0xC0000005 — The application was unable to start correctly (0xc0000005) / Exception code 0xc0000005 access violation (Windows)0xC0000005double free or corruption — C/C++: free(): double free detected / double free or corruption (out) — Aborted (core dumped) (C/C++)double free or corr…std::bad_alloc — C++: terminate called after throwing an instance of 'std::bad_alloc' — what(): std::bad_alloc (C/C++)std::bad_alloc

Directly related (8)

narrowing conversionC/C++

C++: error: narrowing conversion of 'x' from 'int' to 'char' inside { } [-Wnarrowing]

Brace initialisation `{}` refuses conversions that can lose data, such as `double` to `int` or a runtime `int` to `char`.

cannot declare variable to be of abstract typeC/C++

C++: error: cannot declare variable 'x' to be of abstract type 'Shape' (pure virtual functions)

You tried to create an object of a class that still has pure virtual functions; only a derived class that overrides all of them c…

control reaches end of non-void functionC/C++

C/C++: warning: control reaches end of non-void function [-Wreturn-type]

A function that promises a return value can finish without returning one on some path — undefined behaviour in C++.

Assertion failedC/C++

C/C++: Assertion `x > 0' failed. Aborted (core dumped) — assert() condition was false

An `assert()` in your code or in a library found its condition false and aborted the program on purpose.

Floating point exceptionC/C++

C/C++: Floating point exception (core dumped) — SIGFPE, usually integer division by zero

Despite the name, this is almost always an integer division or modulo by zero (or INT_MIN / -1); floating-point division by zero…

AddressSanitizer: heap-buffer-overflowC/C++

C/C++: ==ERROR: AddressSanitizer: heap-buffer-overflow on address — READ/WRITE of size N

AddressSanitizer caught a read or write just outside a heap block — an array index or length that is off by one or more.

AddressSanitizer: heap-use-after-freeC/C++

C/C++: ==ERROR: AddressSanitizer: heap-use-after-free on address — memory used after delete/free

The program read or wrote a heap block after it had been freed; ASan shows who freed it and where it was allocated.

LeakSanitizer: detected memory leaksC/C++

C/C++: ==ERROR: LeakSanitizer: detected memory leaks — Direct leak of N byte(s)

At exit, LeakSanitizer found heap blocks that were allocated but never freed and are no longer reachable.

Two steps away (22)

E0308Rust

Rust: error[E0308]: mismatched types — expected `X`, found `Y`

A value’s type doesn’t match what the context expects — common with &str vs String, Option/Result vs plain values, and integer ty…

invalid conversion fromC/C++

C++: error: invalid conversion from 'const char*' to 'char*' [-fpermissive]

C++ forbids silently dropping `const` or converting between unrelated pointer types — typically a string literal assigned to `cha…

does not name a typeC/C++

C++: error: 'string' does not name a type

Where the compiler expected a type, it found a name it does not know as one — a missing header, namespace, or class declared late…

no match for 'operator'C/C++

C++: error: no match for 'operator<<' (operand types are 'std::ostream' and 'X')

You used an operator on a type that does not define it — most often printing your own class with `

use of deleted functionC/C++

C++: error: use of deleted function 'X::X(const X&)' — copying a non-copyable type

The code needs a function (usually a copy constructor or assignment) that was deleted explicitly or implicitly, as for `std::uniq…

no matching function for call toC/C++

C++: error: no matching function for call to 'f(int, const char*)'

No overload of the function accepts the arguments you passed — wrong count, wrong types, or a missing conversion.

comparison of integers of different signsC/C++

C/C++: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' [-Wsign-compare]

A signed integer is compared with an unsigned one; the signed value is converted to unsigned, so a negative number becomes huge.

format expects argument of typeC/C++

C: warning: format '%d' expects argument of type 'int', but argument 2 has type 'long int' [-Wformat=]

The `printf`/`scanf` format specifier does not match the argument's type, which is undefined behaviour and prints garbage or cras…

implicit declaration of functionC/C++

C: warning: implicit declaration of function 'foo' [-Wimplicit-function-declaration]

In C you called a function the compiler has not seen declared — usually a missing `#include`. Newer compilers treat it as an erro…

terminate called after throwing an instance ofC/C++

C++: terminate called after throwing an instance of 'std::out_of_range' — what(): vector::_M_range_check

A C++ exception wasn’t caught anywhere, so std::terminate aborted the program. what() tells you the reason.

call of overloaded is ambiguousC/C++

C++: error: call of overloaded 'f(int)' is ambiguous

Two or more overloads fit equally well, so the compiler refuses to guess which function you meant.

Segmentation faultC/C++

C/C++: Segmentation fault (core dumped) — SIGSEGV from a null, dangling or out-of-bounds pointer

The program touched memory it is not allowed to access — a null or dangling pointer, an out-of-range array index, or a stack over…

stack overflowC/C++

C/C++: stack overflow — infinite recursion or huge local array (Segmentation fault, 0xC00000FD)

The call stack ran out of space, typically from recursion that never stops or from a very large array declared as a local variabl…

Bus errorC/C++

C/C++: Bus error (core dumped) — SIGBUS from misaligned access or a bad memory-mapped file

The CPU or OS rejected a memory access that is not a plain invalid address: misaligned data, or touching a memory-mapped file pag…

stack smashing detectedC/C++

C/C++: *** stack smashing detected ***: terminated — buffer overflow on the stack

GCC's stack protector noticed that a local buffer overflowed and overwrote the function's canary value, so it aborted the program.

MEMORY_MANAGEMENTWindows

Blue Screen: MEMORY_MANAGEMENT (Stop code 0x0000001A)

Windows detected a severe memory-management error — commonly faulty RAM, unstable memory settings or a bad driver.

SIGSEGVLinux

Segmentation fault (core dumped)

A program accessed memory it wasn’t allowed to, and the kernel killed it with SIGSEGV (exit code 139).

OOM killerLinux

Killed / Out of memory: Killed process (Linux OOM killer)

The kernel ran out of memory and killed a process to recover — the program just prints “Killed” (exit code 137).

Cannot allocate memoryLinux

fork: Cannot allocate memory / ENOMEM

The kernel refused a memory allocation — RAM and swap are exhausted, or overcommit/cgroup limits block it.

0xC0000005Windows

The application was unable to start correctly (0xc0000005) / Exception code 0xc0000005 access violation

A program tried to read or write memory it doesn’t own and Windows stopped it — buggy software, bad drivers/plugins, security sof…

double free or corruptionC/C++

C/C++: free(): double free detected / double free or corruption (out) — Aborted (core dumped)

Memory was freed twice or the heap was corrupted (buffer overflow, freeing a non-heap pointer), so glibc aborted the program.

std::bad_allocC/C++

C++: terminate called after throwing an instance of 'std::bad_alloc' — what(): std::bad_alloc

`new` or a container could not get the memory requested — either the system is out of memory or the size was absurdly large (ofte…