Error map

thread 'main' has overflowed its stack (SIGABRT) Rust: thread 'main' has overflowed its stack — fatal runtime error: stack overflow

Rust · 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.

thread 'main' has overflowed its stack (SIGABRT) — Rust: thread 'main' has overflowed its stack — fatal runtime error: stack overflow (Rust)thread 'mai…fatal error: stack overflow — Go: runtime: goroutine stack exceeds 1000000000-byte limit — fatal error: stack overflow (Go)fatal error: stack …panic: called Option::unwrap() on a None value — Rust: thread 'main' panicked at src/main.rs:4:20: called `Option::unwrap()` on a `None` value (Rust)panic: called Optio…PoisonError: poisoned lock: another task failed inside — Rust: thread 'main' panicked: called `Result::unwrap()` on an `Err` value: PoisonError { .. } — poisoned lock: another task failed inside (Rust)PoisonError: poison…panic: called Result::unwrap() on an Err value — Rust: thread 'main' panicked at src/main.rs:5:36: called `Result::unwrap()` on an `Err` value: ParseIntError { kind: InvalidDigit } (Rust)panic: called Resul…panic: index out of bounds: the len is N but the index is M — Rust: thread 'main' panicked at src/main.rs:5:5: index out of bounds: the len is 3 but the index is 3 (Rust)panic: index out of…panic: attempt to subtract with overflow — Rust: thread 'main' panicked at src/main.rs:4:13: attempt to subtract with overflow (Rust)panic: attempt to s…panic: attempt to divide by zero — Rust: thread 'main' panicked at src/main.rs:3:13: attempt to divide by zero (Rust)panic: attempt to d…panic: already borrowed: BorrowMutError — Rust: thread 'main' panicked at src/main.rs:8:9: already borrowed: BorrowMutError / already mutably borrowed: BorrowError (Rust)panic: already borr…invalid memory address or nil pointer dereference — Go: panic: runtime error: invalid memory address or nil pointer dereference (Go)invalid memory addr…panic: runtime error: index out of range — Go: panic: runtime error: index out of range [3] with length 3 (Go)panic: runtime erro…panic: slice bounds out of range — Go: panic: runtime error: slice bounds out of range [:5] with capacity 3 (Go)panic: slice bounds…E0277: the trait bound is not satisfied — Rust: error[E0277]: the trait bound `Foo: Display` is not satisfied / `Rc<RefCell<T>>` cannot be sent between threads safely (Rust)E0277: the trait bo…E0608: cannot index into a value of type — Rust: error[E0608]: cannot index into a value of type `HashSet<i32>` / `String` cannot be indexed by `{integer}` (Rust)E0608: cannot index…E0308 — Rust: error[E0308]: mismatched types — expected `X`, found `Y` (Rust)E0308panic: runtime error: integer divide by zero — Go: panic: runtime error: integer divide by zero (Go)panic: runtime erro…E0499: cannot borrow as mutable more than once at a time — Rust: error[E0499]: cannot borrow `v` as mutable more than once at a time (Rust)E0499: cannot borro…

Directly related (8)

fatal error: stack overflowGo

Go: runtime: goroutine stack exceeds 1000000000-byte limit — fatal error: stack overflow

Unbounded recursion consumed the goroutine's stack until it hit the 1 GB limit.

panic: called Option::unwrap() on a None valueRust

Rust: thread 'main' panicked at src/main.rs:4:20: called `Option::unwrap()` on a `None` value

`unwrap()` (or `expect`) was called on `None`, so the program panicked.

PoisonError: poisoned lock: another task failed insideRust

Rust: thread 'main' panicked: called `Result::unwrap()` on an `Err` value: PoisonError { .. } — poisoned lock: another task failed inside

A thread panicked while holding a `Mutex`/`RwLock`, so the lock is "poisoned" and `lock().unwrap()` panics for others.

panic: called Result::unwrap() on an Err valueRust

Rust: thread 'main' panicked at src/main.rs:5:36: called `Result::unwrap()` on an `Err` value: ParseIntError { kind: InvalidDigit }

`unwrap()`/`expect()` was called on an `Err`, and the error value is shown in the panic message.

panic: index out of bounds: the len is N but the index is MRust

Rust: thread 'main' panicked at src/main.rs:5:5: index out of bounds: the len is 3 but the index is 3

A Vec/array/slice was indexed past its length.

panic: attempt to subtract with overflowRust

Rust: thread 'main' panicked at src/main.rs:4:13: attempt to subtract with overflow

An arithmetic operation overflowed (in debug builds) — commonly `usize` underflow like `0 - 1`.

panic: attempt to divide by zeroRust

Rust: thread 'main' panicked at src/main.rs:3:13: attempt to divide by zero

Integer division or remainder by zero.

panic: already borrowed: BorrowMutErrorRust

Rust: thread 'main' panicked at src/main.rs:8:9: already borrowed: BorrowMutError / already mutably borrowed: BorrowError

A `RefCell` was borrowed in conflicting ways at runtime (a mutable borrow while another borrow was alive).

Two steps away (8)

invalid memory address or nil pointer dereferenceGo

Go: panic: runtime error: invalid memory address or nil pointer dereference

The program used a pointer, map, interface or struct field that was nil — usually an uninitialised value or an ignored error.

panic: runtime error: index out of rangeGo

Go: panic: runtime error: index out of range [3] with length 3

Code accessed a slice, array or string element beyond its length.

panic: slice bounds out of rangeGo

Go: panic: runtime error: slice bounds out of range [:5] with capacity 3

A slice expression `s[a:b]` used bounds outside the slice's length or capacity.

E0277: the trait bound is not satisfiedRust

Rust: error[E0277]: the trait bound `Foo: Display` is not satisfied / `Rc<RefCell<T>>` cannot be sent between threads safely

A type doesn't implement a trait required by a function, macro or generic bound.

E0608: cannot index into a value of typeRust

Rust: error[E0608]: cannot index into a value of type `HashSet<i32>` / `String` cannot be indexed by `{integer}`

The type doesn't support `[]` indexing (or not with that index type).

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…

panic: runtime error: integer divide by zeroGo

Go: panic: runtime error: integer divide by zero

Integer division or modulo by zero.

E0499: cannot borrow as mutable more than once at a timeRust

Rust: error[E0499]: cannot borrow `v` as mutable more than once at a time

Two mutable references to the same value were alive at once, which Rust forbids.