Skip to content

x/tools/gopls: getSnapshot called after shutdown #50327

@flamelx

Description

@flamelx

gopls version: v0.7.4
gopls flags:
update flags: proxy
extension version: 0.27.2
go version: 1.16.5
environment: Visual Studio Code linux
initialization error: undefined
manual restart count: 4
total start count: 6

ATTENTION: PLEASE PROVIDE THE DETAILS REQUESTED BELOW.

Describe what you observed.

panic: getSnapshot called after shutdown

goroutine 696 [running]:
golang.org/x/tools/internal/lsp/cache.(*View).getSnapshot(0xc0003ee420, 0x0, 0x0)
	  view.go:564  0x108
golang.org/x/tools/internal/lsp/cache.(*View).Snapshot(0xc0003ee420, 0x10d1180, 0xc000a10240, 0xd19040, 0xc0006f21b0, 0x0)
	  view.go:557  0x2b
golang.org/x/tools/internal/lsp.(*Server).didChangeConfiguration.func1(0x10df008, 0xc0003ee420, 0x10d1180, 0xc000a10240, 0xc0006a6480)
	  workspace.go:83  0x5a
created by golang.org/x/tools/internal/lsp.(*Server).didChangeConfiguration
	  workspace.go:82  0x305
gopls: Unknown command 
The Go Language source tools.

Usage: gopls [flags]  [command-flags] [command-args]

gopls is a Go language server. It is typically used with an editor to provide
language features. When no command is specified, gopls will default to the 'serve'
command. The language features can also be accessed via the gopls command-line interface.

Available commands are:

main:
  serve : run a server for Go code using the Language Server Protocol
  version : print the gopls version information
  bug : report a bug in gopls
  api-json : print json describing gopls API
  licenses : print licenses of included software

features:
  call_hierarchy : display selected identifier's call hierarchy
  check : show diagnostic results for the specified file
  definition : show declaration of selected identifier
  folding_ranges : display selected file's folding ranges
  format : format the code according to the go standard
  highlight : display selected identifier's highlights
  implementation : display selected identifier's implementation
  imports : updates import statements
  remote : interact with the gopls daemon
  inspect : interact with the gopls daemon (deprecated: use 'remote')
  links : list links in a file
  prepare_rename : test validity of a rename operation at location
  references : display selected identifier's references
  rename : rename selected identifier
  semtok : show semantic tokens for the specified file
  signature : display selected identifier's signature
  fix : apply suggested fixes
  symbols : display selected file's symbols
  workspace : manage the gopls workspace (experimental: under development)
  workspace_symbol : search symbols in workspace

gopls flags are:
  -debug string
    	serve debug information on the supplied address
  -listen string
    	address on which to listen for remote connections. If prefixed by 'unix

Metadata

Metadata

Assignees

No one assigned

    Labels

    FrozenDueToAgeToolsThis label describes issues relating to any tools in the x/tools repository.goplsIssues related to the Go language server, gopls.

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions