-
Notifications
You must be signed in to change notification settings - Fork 18.4k
Closed
Labels
FrozenDueToAgeNeedsInvestigationSomeone must examine and confirm this is a valid issue and not a duplicate of an existing one.Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Milestone
Description
What version of Go are you using (go version)?
$ go version go version go1.11.5 linux/amd64
Does this issue reproduce with the latest release?
I also tried with go version go1.12rc1 darwin/amd64 and the issue seems to occur there as well.
What operating system and processor architecture are you using (go env)?
go env Output
$ go env GOARCH="amd64" GOBIN="" GOCACHE="/root/.cache/go-build" GOEXE="" GOFLAGS="" GOHOSTARCH="amd64" GOHOSTOS="linux" GOOS="linux" GOPATH="/go" GOPROXY="" GORACE="" GOROOT="/usr/local/go" GOTMPDIR="" GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64" GCCGO="gccgo" CC="gcc" CXX="g++" CGO_ENABLED="1" GOMOD="" CGO_CFLAGS="-g -O2" CGO_CPPFLAGS="" CGO_CXXFLAGS="-g -O2" CGO_FFLAGS="-g -O2" CGO_LDFLAGS="-g -O2" PKG_CONFIG="pkg-config" GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build711491476=/tmp/go-build -gno-record-gcc-switches"
What did you do?
Start Go Docker image:
$ docker run --rm -it golang:1.11-stretchInside Docker:
root@41d0e457e4e5:/go# ( \
go get -u golang.org/x/tools/... && \
cd ${GOPATH}/src/golang.org/x/tools && \
# check usage
golsp query definition || true && \
echo '----' && \
# check file exists
find . -ipath './internal/lsp/cmd/definition.go' &&
echo '----' && \
gopls query definition 'internal/lsp/cmd/definition.go:#1277' \
)
...
definition: definition expects 1 argument
show declaration of selected identifier
Usage: definition [flags] <position>
Example: show the definition of the identifier at syntax at offset 1277 in this file (flag.FlagSet):
$ gopls definition internal/lsp/cmd/definition.go:#1277
gopls definition flags are:
----
./internal/lsp/cmd/definition.go
----
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x758334]
goroutine 1 [running]:
go/token.(*File).Pos(...)
/usr/local/go/src/go/token/position.go:251
golang.org/x/tools/internal/lsp/cmd.(*definition).Run(0xc0000fa0d0, 0x8b72a0, 0xc000016090, 0xc000010130, 0x1, 0x1, 0x0, 0x0)
/go/src/golang.org/x/tools/internal/lsp/cmd/definition.go:69 +0x254
golang.org/x/tools/internal/tool.Main.func2(0x0, 0x8b76e0, 0xc0000fa0d0, 0x8b72a0, 0xc000016090, 0xc0000dc900, 0x0, 0x0)
/go/src/golang.org/x/tools/internal/tool/tool.go:130 +0xb6
golang.org/x/tools/internal/tool.Main(0x8b72a0, 0xc000016090, 0x8b76e0, 0xc0000fa0d0, 0xc000010130, 0x1, 0x1)
/go/src/golang.org/x/tools/internal/tool/tool.go:131 +0x250
golang.org/x/tools/internal/lsp/cmd.(*query).Run(0xc0000f6b40, 0x8b72a0, 0xc000016090, 0xc000010130, 0x2, 0x2, 0x0, 0x0)
/go/src/golang.org/x/tools/internal/lsp/cmd/query.go:59 +0x26c
golang.org/x/tools/internal/tool.Main.func2(0x0, 0x8b7720, 0xc0000f6b40, 0x8b72a0, 0xc000016090, 0xc0000dc8a0, 0x0, 0x0)
/go/src/golang.org/x/tools/internal/tool/tool.go:130 +0xb6
golang.org/x/tools/internal/tool.Main(0x8b72a0, 0xc000016090, 0x8b7720, 0xc0000f6b40, 0xc000010120, 0x2, 0x2)
/go/src/golang.org/x/tools/internal/tool/tool.go:131 +0x250
golang.org/x/tools/internal/lsp/cmd.(*Application).Run(0xc000126200, 0x8b72a0, 0xc000016090, 0xc000010120, 0x3, 0x2, 0x0, 0x0)
/go/src/golang.org/x/tools/internal/lsp/cmd/cmd.go:90 +0x2f3
golang.org/x/tools/internal/tool.Main.func2(0xc000126200, 0x8b7660, 0xc000126200, 0x8b72a0, 0xc000016090, 0xc0000dc840, 0x0, 0x0)
/go/src/golang.org/x/tools/internal/tool/tool.go:130 +0xb6
golang.org/x/tools/internal/tool.Main(0x8b72a0, 0xc000016090, 0x8b7660, 0xc000126200, 0xc000010110, 0x3, 0x3)
/go/src/golang.org/x/tools/internal/tool/tool.go:131 +0x250
main.main()
/go/src/golang.org/x/tools/cmd/gopls/main.go:20 +0xb0
root@41d0e457e4e5:/go# What did you expect to see?
The definition of the identifier.
What did you see instead?
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x758334]
goroutine 1 [running]:
go/token.(*File).Pos(...)
/usr/local/go/src/go/token/position.go:251
golang.org/x/tools/internal/lsp/cmd.(*definition).Run(0xc0000fa0d0, 0x8b72a0, 0xc000016090, 0xc000010130, 0x1, 0x1, 0x0, 0x0)
/go/src/golang.org/x/tools/internal/lsp/cmd/definition.go:69 +0x254
golang.org/x/tools/internal/tool.Main.func2(0x0, 0x8b76e0, 0xc0000fa0d0, 0x8b72a0, 0xc000016090, 0xc0000dc900, 0x0, 0x0)
/go/src/golang.org/x/tools/internal/tool/tool.go:130 +0xb6
golang.org/x/tools/internal/tool.Main(0x8b72a0, 0xc000016090, 0x8b76e0, 0xc0000fa0d0, 0xc000010130, 0x1, 0x1)
/go/src/golang.org/x/tools/internal/tool/tool.go:131 +0x250
golang.org/x/tools/internal/lsp/cmd.(*query).Run(0xc0000f6b40, 0x8b72a0, 0xc000016090, 0xc000010130, 0x2, 0x2, 0x0, 0x0)
/go/src/golang.org/x/tools/internal/lsp/cmd/query.go:59 +0x26c
golang.org/x/tools/internal/tool.Main.func2(0x0, 0x8b7720, 0xc0000f6b40, 0x8b72a0, 0xc000016090, 0xc0000dc8a0, 0x0, 0x0)
/go/src/golang.org/x/tools/internal/tool/tool.go:130 +0xb6
golang.org/x/tools/internal/tool.Main(0x8b72a0, 0xc000016090, 0x8b7720, 0xc0000f6b40, 0xc000010120, 0x2, 0x2)
/go/src/golang.org/x/tools/internal/tool/tool.go:131 +0x250
golang.org/x/tools/internal/lsp/cmd.(*Application).Run(0xc000126200, 0x8b72a0, 0xc000016090, 0xc000010120, 0x3, 0x2, 0x0, 0x0)
/go/src/golang.org/x/tools/internal/lsp/cmd/cmd.go:90 +0x2f3
golang.org/x/tools/internal/tool.Main.func2(0xc000126200, 0x8b7660, 0xc000126200, 0x8b72a0, 0xc000016090, 0xc0000dc840, 0x0, 0x0)
/go/src/golang.org/x/tools/internal/tool/tool.go:130 +0xb6
golang.org/x/tools/internal/tool.Main(0x8b72a0, 0xc000016090, 0x8b7660, 0xc000126200, 0xc000010110, 0x3, 0x3)
/go/src/golang.org/x/tools/internal/tool/tool.go:131 +0x250
main.main()
/go/src/golang.org/x/tools/cmd/gopls/main.go:20 +0xb0Metadata
Metadata
Assignees
Labels
FrozenDueToAgeNeedsInvestigationSomeone must examine and confirm this is a valid issue and not a duplicate of an existing one.Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.