Error map
panic: assignment to entry in nil map Go: panic: assignment to entry in nil map
Go · layer 4, Application & API
Centre: this error. First ring: errors it is linked with (12). 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.
Directly related (12)
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.
Go: cannot assign to struct field users["bob"].Age in map
Map values are not addressable, so you cannot modify a field of a struct stored directly in a map.
Go: fatal error: concurrent map writes
Two goroutines wrote to the same map at the same time; the runtime detects it and aborts the program (not recoverable).
Go: fatal error: concurrent map read and map write
One goroutine read from a map while another wrote to it; the runtime aborts.
Go: panic: interface conversion: interface {} is string, not int
A type assertion `x.(T)` failed because the dynamic type of the interface is not T.
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.
Go: Get "https://api.example.com": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
An operation did not finish before its context deadline or HTTP client timeout.
Go: context canceled (rpc error: code = Canceled desc = context canceled)
The context was cancelled before the operation finished — the caller gave up, the client disconnected, or a parent was cancelled.
Go: json: cannot unmarshal string into Go struct field User.age of type int
The JSON value's type does not match the Go field type (string vs number, object vs array).
Go: invalid character '<' looking for beginning of value
The decoder received something that is not JSON — often an HTML error page, an empty body or plain text.
Go: http: superfluous response.WriteHeader call from main.handler (main.go:25)
A handler wrote the status header more than once, or wrote the body first (which sends 200) and then tried to set another status.
Go: listen tcp :8080: bind: address already in use
The port your Go server wants is already taken by another process (or a previous instance of your app).
Two steps away (26)
Segmentation fault (core dumped)
A program accessed memory it wasn’t allowed to, and the kernel killed it with SIGSEGV (exit code 139).
Go: fatal error: all goroutines are asleep - deadlock!
Every goroutine is blocked waiting (on a channel, mutex or WaitGroup), so the program can never continue.
Go: declared and not used: x / "fmt" imported and not used
Go refuses to compile code with unused local variables or unused imports.
Go: ./main.go:5:2: "os" imported and not used
The file imports a package that no code in that file uses; Go treats this as a compile error, not a warning.
Go: ./main.go:12:2: undefined: handler
The compiler cannot find an identifier — a typo, a missing import, or it lives in another file/package that wasn't built.
Go: ./main.go:18:1: missing return
A function with a return type can reach its end without a return statement on some path.
Go: panic: send on closed channel
A goroutine sent a value to a channel after it had been closed.
Go: panic: close of closed channel (or close of nil channel)
`close(ch)` was called twice, or on a nil channel.
Go: panic: sync: negative WaitGroup counter
`wg.Done()` was called more times than `wg.Add()`.
Go: WARNING: DATA RACE — Write at 0x00c0000 by goroutine 7: / Previous read at ... by goroutine 6
The race detector (`-race`) observed two goroutines accessing the same memory concurrently with at least one write and no synchro…
Go: cannot use &Dog{} (value of type *Dog) as Animal value: *Dog does not implement Animal (missing method Speak)
A type was used as an interface but lacks a method or has it with a different signature or receiver type.
Go: panic: runtime error: index out of range [3] with length 3
Code accessed a slice, array or string element beyond its length.
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.
Go: panic: runtime error: integer divide by zero
Integer division or modulo by zero.
Go: panic: reflect: call of reflect.Value.Elem on zero Value
Reflection code operated on an invalid (zero) `reflect.Value`, often derived from a nil pointer or a missing struct field.
Rust: thread 'main' has overflowed its stack — fatal runtime error: stack overflow
Recursion (or huge stack allocations) exhausted the thread's stack.
Go: assignment mismatch: 1 variable but os.Open returns 2 values
The number of variables on the left does not match the number of values the function returns.
Go: dial tcp 127.0.0.1:5432: connect: connection refused
Nothing is listening on the host and port your Go program tried to connect to.
Go: accept tcp [::]:8080: accept4: too many open files / open x: too many open files
The process reached its file-descriptor limit — usually leaked connections, files or response bodies.
Go: sql: database is closed
The `*sql.DB` handle was closed (or the connection died) before the query ran.
Go: cannot refer to unexported name pkg.helper (undefined: pkg.helper)
You used a lowercase (unexported) identifier from another package; only capitalised names are visible outside their package.
Go: x509: certificate signed by unknown authority
The Go TLS client does not trust the CA that signed the server's certificate.
Go: net/http: request canceled (Client.Timeout exceeded while awaiting headers)
An `http.Client` with a Timeout gave up waiting for the server's response headers.
Docker: Bind for 0.0.0.0:80 failed: port is already allocated
Another container or host process already publishes that host port.
Error response from daemon: network X not found
The container or Compose project refers to a Docker network that doesn’t exist (any more).
Error response from daemon: Pool overlaps with other one on this address space
Docker tried to create a network whose subnet clashes with an existing Docker network (or a VPN/host route).
Map another error
Popular: 500403400ORA-009331064Critical errorFileNotFoundException assemblyTypeError