gopls version
Build info
----------
golang.org/x/tools/gopls v0.20.0
golang.org/x/tools/gopls@v0.20.0 h1:fxOYZXKl6IsOTKIh6IgjDbIDHlr5btOtOUkrGOgFDB4=
github.com/BurntSushi/toml@v1.5.0 h1:W5quZX/G/csjUnuI8SUYlsHs9M38FC7znL0lIO+DvMg=
github.com/fatih/camelcase@v1.0.0 h1:hxNvNX/xYBp0ovncs8WyWZrOrpBNub/JfaMvbURyft8=
github.com/fatih/gomodifytags@v1.17.1-0.20250423142747-f3939df9aa3c h1:dDSgAjoOMp8da3egfz0t2S+t8RGOpEmEXZubcGuc0Bg=
github.com/fatih/structtag@v1.2.0 h1:/OdNE99OxoI/PqaW/SuSK9uxxT3f/tcSZgon/ssNSx4=
github.com/fsnotify/fsnotify@v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k=
github.com/google/go-cmp@v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
golang.org/x/exp/typeparams@v0.0.0-20250620022241-b7579e27df2b h1:KdrhdYPDUvJTvrDK9gdjfFd6JTk8vA1WJoldYSi0kHo=
golang.org/x/mod@v0.26.0 h1:EGMPT//Ezu+ylkCijjPc+f4Aih7sZvaAr+O3EHBxvZg=
golang.org/x/sync@v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw=
golang.org/x/sys@v0.34.0 h1:H5Y5sJ2L2JRdyv7ROF1he/lPdvFsd0mJHFw2ThKHxLA=
golang.org/x/telemetry@v0.0.0-20250710130107-8d8967aff50b h1:DU+gwOBXU+6bO0sEyO7o/NeMlxZxCZEvI7v+J4a1zRQ=
golang.org/x/text@v0.27.0 h1:4fGWRpyh641NLlecmyl4LOe6yDdfaYNrGb2zdfo4JV4=
golang.org/x/tools@v0.35.1-0.20250728180453-01a3475a31bc h1:ZRKyKRJl/YEWl9ScZwd6Ua6xSt7DE6tHp1I3ucMroGM=
golang.org/x/vuln@v1.1.4 h1:Ju8QsuyhX3Hk8ma3CesTbO8vfJD9EvUBgHvkxHBzj0I=
honnef.co/go/tools@v0.7.0-0.dev.0.20250523013057-bbc2f4dd71ea h1:fj8r9irJSpolAGUdZBxJIRY3lLc4jH2Dt4lwnWyWwpw=
mvdan.cc/gofumpt@v0.8.0 h1:nZUCeC2ViFaerTcYKstMmfysj6uhQrA2vJe+2vwGU6k=
mvdan.cc/xurls/v2@v2.6.0 h1:3NTZpeTxYVWNSokW3MKeyVkz/j7uYXYiMtXRUfmjbgI=
go: go1.24.7
go env
GO111MODULE=''
GOARCH='arm64'
GOBIN=''
GOCACHE='/Users/ian/Library/Caches/go-build'
GOENV='/Users/ian/Library/Application Support/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFLAGS=''
GOHOSTARCH='arm64'
GOHOSTOS='darwin'
GOINSECURE=''
GOMODCACHE='/Users/ian/go/pkg/mod'
GONOPROXY='github.com/gb'
GONOSUMDB='github.com/gb'
GOOS='darwin'
GOPATH='/Users/ian/go'
GOPRIVATE='github.com/gb'
GOPROXY='https://proxy.golang.org,direct'
GOROOT='/Users/ian/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.12.darwin-arm64'
GOSUMDB='sum.golang.org'
GOTMPDIR=''
GOTOOLCHAIN='auto'
GOTOOLDIR='/Users/ian/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.23.12.darwin-arm64/pkg/tool/darwin_arm64'
GOVCS=''
GOVERSION='go1.23.12'
GODEBUG=''
GOTELEMETRY='local'
GOTELEMETRYDIR='/Users/ian/Library/Application Support/go/telemetry'
GCCGO='gccgo'
GOARM64='v8.0'
AR='ar'
CC='clang'
CXX='clang++'
CGO_ENABLED='1'
GOMOD='/Users/ian/src/roadie/go.mod'
GOWORK=''
CGO_CFLAGS='-O2 -g'
CGO_CPPFLAGS=''
CGO_CXXFLAGS='-O2 -g'
CGO_FFLAGS='-O2 -g'
CGO_LDFLAGS='-O2 -g'
PKG_CONFIG='pkg-config'
GOGCCFLAGS='-fPIC -arch arm64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -ffile-prefix-map=/var/folders/ts/8mtw6_ys063g05dpbbwx0y980000gn/T/go-build3086432762=/tmp/go-build -gno-record-gcc-switches -fno-common'
What did you do?
Typing new code while running a VSCode Liveshare. This happens both on the host and a connected client (although I think the client may have to type something first to trigger the host to start exhibiting the same behaviour).
What did you see happen?
Frequentl pops up a code action resolve failed
error, with various contents depending on the change that is being made. These errors appear live as you're typing and it's possible for them to stack until they fill most of the vertical height of a monitor making pairing incredibly difficult.
https://github.com/user-attachments/assets/4d8cbf63-6313-47cb-9267-aacf43361ca1
What did you expect to see?
No popups or a popup on save.
Editor and settings
{
"workbench.colorTheme": "Default Dark Modern",
"prettier.requireConfig": true,
"editor.codeActionsOnSave": {
"source.fixAll": "explicit"
},
"git.confirmSync": false,
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"wallaby.startAutomatically": false,
"playwright.env": {}
}
Logs
[Error - 12:45:23] Request codeAction/resolve failed.
Message: no identifier found
Code: 0
[Error - 12:45:29] Request codeAction/resolve failed.
Message: no identifier found
Code: 0
[Error - 12:45:29] Request codeAction/resolve failed.
Message: no identifier found
Code: 0
[Info - 12:45:51] 2025/09/12 12:45:51 background imports cache refresh starting
[Info - 12:45:51] 2025/09/12 12:45:51 background refresh finished after 25.97425ms
[Error - 12:45:53] Request codeAction/resolve failed.
Message: no identifier found
Code: 0
[Info - 12:46:21] 2025/09/12 12:46:21 background imports cache refresh starting
[Info - 12:46:21] 2025/09/12 12:46:21 background refresh finished after 45.627875ms
Comment From: gabyhelp
Related Issues
- x/tools/gopls: gopls causes bad vscode performance on large projects due to excessive LSP traffic #74876
- x/tools/gopls: panic and crash in golang.org/x/telemetry/internal/counter #64577 (closed)
- x/tools/gopls: #52425 (closed)
- x/tools/gopls: invalid errors when using "pkgm" VS Code snippet #39296 (closed)
- x/tools/gopls: diagnostics from modules outside `go.work` stick around #48929 (closed)
- x/tools/gopls: Unexpected line comment insertion after line break #74618 (closed)
- x/tools/gopls: vscode take minutes to load packages before completion becomes available #69743 (closed)
- x/tools/gopls: gopls becomes unresponsive from time to time #61969 (closed)
- x/tools/gopls: panic when using VS Code Live Share #41026 (closed)
- x/tools/gopls: high memory consumption on 19MLoC input #73709
(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)
Comment From: findleyr
See also https://github.com/golang/go/issues/71405
For some reason, VS Code liveshare always runs codeAction/resolve, where normal VS Code sessions don't run it until you actually try to run the codeAction.
I wish the error message included the actual code action that failed to resolve...
Comment From: findleyr
At the very least, we should have a way to disable codeAction/resolve so that it stops breaking LiveShare sessions.