Error map

assignment mismatch: 1 variable but f returns 2 values Go: assignment mismatch: 1 variable but os.Open returns 2 values

Go · layer 4, Application & API

Open the full error page →

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.

assignment mismatch: 1 variable but f returns 2 values — Go: assignment mismatch: 1 variable but os.Open returns 2 values (Go)assignment …listen tcp :8080: bind: address already in use — Go: listen tcp :8080: bind: address already in use (Go)listen tcp :8080: b…too many open files — Go: accept tcp [::]:8080: accept4: too many open files / open x: too many open files (Go)too many open filesimported and not used — Go: ./main.go:5:2: "os" imported and not used (Go)imported and not us…undefined: x — Go: ./main.go:12:2: undefined: handler (Go)undefined: xmissing return — Go: ./main.go:18:1: missing return (Go)missing returnno new variables on left side of := — Go: ./main.go:9:6: no new variables on left side of := (Go)no new variables on…cannot assign to struct field m[k].f in map — Go: cannot assign to struct field users["bob"].Age in map (Go)cannot assign to st…invalid operation: mismatched types — Go: invalid operation: a + b (mismatched types int and float64) (Go)invalid operation: …cannot use x as type in assignment/argument — Go: cannot use "5" (untyped string constant) as int value in argument to f (Go)cannot use x as typ…not enough / too many arguments in call — Go: not enough arguments in call to f have (int) want (int, string) (Go)not enough / too ma…function main is undeclared in the main package — Go: runtime.main_main·f: function main is undeclared in the main package (Go)function main is un…cannot refer to unexported name — Go: cannot refer to unexported name pkg.helper (undefined: pkg.helper) (Go)cannot refer to une…port is already allocated — Docker: Bind for 0.0.0.0:80 failed: port is already allocated (Docker)port is already all…network not found — Error response from daemon: network X not found (Docker)network not foundPool overlaps — Error response from daemon: Pool overlaps with other one on this address space (Docker)Pool overlapsiptables: No chain/target/match — driver failed programming external connectivity on endpoint: iptables: No chain/target/match by that name (Docker)iptables: No chain/…cannot find package in any of GOROOT / GOPATH — Go: cannot find package "github.com/pkg/errors" in any of: /usr/local/go/src/github.com/pkg/errors (from $GOROOT) /go/src/github.com/pkg/errors (from $GOPATH) (Go)cannot find package…panic: assignment to entry in nil map — Go: panic: assignment to entry in nil map (Go)panic: assignment t…declared and not used — Go: declared and not used: x / "fmt" imported and not used (Go)declared and not us…does not implement interface (missing method) — Go: cannot use &Dog{} (value of type *Dog) as Animal value: *Dog does not implement Animal (missing method Speak) (Go)does not implement …syntax error: unexpected newline — Go: ./main.go:8:2: syntax error: unexpected newline, expected comma or ) (Go)syntax error: unexp…import cycle not allowed — Go: package app/models imports app/utils imports app/models: import cycle not allowed (Go)import cycle not al…fatal error: concurrent map writes — Go: fatal error: concurrent map writes (Go)fatal error: concur…fatal error: concurrent map read and map write — Go: fatal error: concurrent map read and map write (Go)fatal error: concur…context deadline exceeded — Go: Get "https://api.example.com": context deadline exceeded (Client.Timeout exceeded while awaiting headers) (Go)context deadline ex…E0308 — Rust: error[E0308]: mismatched types — expected `X`, found `Y` (Rust)E0308sql: no rows in result set — Go: sql: no rows in result set (Go)sql: no rows in res…COPY failed — COPY failed: file not found in build context / "/app/x": not found (Docker)COPY faileddid not complete successfully — failed to solve: process "/bin/sh -c ..." did not complete successfully: exit code: 1 (Docker)did not complete su…failed to read dockerfile — failed to solve: failed to read dockerfile: open Dockerfile: no such file or directory (Docker)failed to read dock…json: cannot unmarshal string into Go struct field — Go: json: cannot unmarshal string into Go struct field User.age of type int (Go)json: cannot unmars…

Directly related (12)

listen tcp :8080: bind: address already in useGo

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).

too many open filesGo

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.

imported and not usedGo

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.

undefined: xGo

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.

missing returnGo

Go: ./main.go:18:1: missing return

A function with a return type can reach its end without a return statement on some path.

no new variables on left side of :=Go

Go: ./main.go:9:6: no new variables on left side of :=

`:=` declares variables, but all names on the left already exist in the same scope.

cannot assign to struct field m[k].f in mapGo

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.

invalid operation: mismatched typesGo

Go: invalid operation: a + b (mismatched types int and float64)

You combined two values of different types; Go never converts numeric types implicitly.

cannot use x as type in assignment/argumentGo

Go: cannot use "5" (untyped string constant) as int value in argument to f

A value's type is not assignable to the type required by the variable, parameter or return value.

not enough / too many arguments in callGo

Go: not enough arguments in call to f have (int) want (int, string)

A function was called with fewer or more arguments than it declares.

function main is undeclared in the main packageGo

Go: runtime.main_main·f: function main is undeclared in the main package

The package is named `main` but contains no `func main()`, or you tried to build a library as an executable.

cannot refer to unexported nameGo

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.

Two steps away (19)

port is already allocatedDocker

Docker: Bind for 0.0.0.0:80 failed: port is already allocated

Another container or host process already publishes that host port.

network not foundDocker

Error response from daemon: network X not found

The container or Compose project refers to a Docker network that doesn’t exist (any more).

Pool overlapsDocker

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).

iptables: No chain/target/matchDocker

driver failed programming external connectivity on endpoint: iptables: No chain/target/match by that name

Docker’s iptables rules were wiped (firewalld/ufw reload, iptables flush) while Docker was running, so it can’t publish ports.

cannot find package in any of GOROOT / GOPATHGo

Go: cannot find package "github.com/pkg/errors" in any of: /usr/local/go/src/github.com/pkg/errors (from $GOROOT) /go/src/github.com/pkg/errors (from $GOPATH)

Go could not locate an imported package — it is not downloaded, the module is not initialised, or GOPATH mode is in effect.

panic: assignment to entry in nil mapGo

Go: panic: assignment to entry in nil map

You wrote to a map that was declared but never initialised.

declared and not usedGo

Go: declared and not used: x / "fmt" imported and not used

Go refuses to compile code with unused local variables or unused imports.

does not implement interface (missing method)Go

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.

syntax error: unexpected newlineGo

Go: ./main.go:8:2: syntax error: unexpected newline, expected comma or )

The parser met a line break where it needed more tokens, usually a missing trailing comma in a multi-line literal or a misplaced…

import cycle not allowedGo

Go: package app/models imports app/utils imports app/models: import cycle not allowed

Two or more packages import each other directly or indirectly, which Go forbids.

fatal error: concurrent map writesGo

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).

fatal error: concurrent map read and map writeGo

Go: fatal error: concurrent map read and map write

One goroutine read from a map while another wrote to it; the runtime aborts.

context deadline exceededGo

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.

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…

sql: no rows in result setGo

Go: sql: no rows in result set

`QueryRow(...).Scan(...)` found no row for the query.

COPY failedDocker

COPY failed: file not found in build context / "/app/x": not found

The Dockerfile COPY refers to a path outside the build context, excluded by .dockerignore, or relative to the wrong directory.

did not complete successfullyDocker

failed to solve: process "/bin/sh -c ..." did not complete successfully: exit code: 1

A RUN step in your Dockerfile failed. The real error is printed in the lines just above this message.

failed to read dockerfileDocker

failed to solve: failed to read dockerfile: open Dockerfile: no such file or directory

docker build can’t find a Dockerfile in the build context you passed.

json: cannot unmarshal string into Go struct fieldGo

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).