Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

x/tools/gopls: panic and crash in golang.org/x/telemetry/internal/counter #64577

Closed
ArtAndreev opened this issue Dec 6, 2023 · 9 comments
Closed
Assignees
Labels
gopls Issues related to the Go language server, gopls. NeedsFix The path to resolution is known, but the work has not been done. Soon This needs action soon. (recent regressions, service outages, unusual time-sensitive situations) telemetry x/telemetry issues Tools This label describes issues relating to any tools in the x/tools repository.
Milestone

Comments

@ArtAndreev
Copy link

gopls version

Build info ---------- golang.org/x/tools/gopls (devel) golang.org/x/tools/gopls@(devel) github.com/BurntSushi/[email protected] h1:9F2/+DoOYIOksmaJFPw1tGFy1eDnIJXg+UHjuD8lTak= github.com/google/[email protected] h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/sergi/[email protected] h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0= golang.org/x/exp/[email protected] h1:2O2DON6y3XMJiQRAS1UWU+54aec2uopH3x7MAiqGW6Y= golang.org/x/[email protected] h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0= golang.org/x/[email protected] h1:zxkM55ReGkDlKSM+Fu41A+zmbZuaPVbGMzvvdUPznYQ= golang.org/x/[email protected] h1:Vz7Qs629MkJkGyHxUlRHizWJRG2j8fbQKjELVSNhy7Q= golang.org/x/[email protected] h1:brbkEFfGwNGAEkykUOcryE/JiHUMMJouzE0fWWmz/QU= golang.org/x/[email protected] h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= golang.org/x/[email protected] h1:Oku7E+OCrXHyst1dG1z10etCTxewCHXNFLRlyMPbh3w= golang.org/x/[email protected] h1:KUas02EjQK5LTuIx1OylBQdKKZ9jeugs+HiqO5HormU= honnef.co/go/[email protected] h1:YGD4H+SuIOOqsyoLOpZDWcieM28W47/zRO7f+9V3nvo= mvdan.cc/[email protected] h1:JVf4NN1mIpHogBj7ABpgOyZc65/UUOkKQFkoURsz4MM= mvdan.cc/xurls/[email protected] h1:tzxjVAj+wSBmDcF6zBB7/myTy3gX9xvi8Tyr28AuQgc= go: go1.21.4

go env

GO111MODULE=""
GOARCH="arm64"
GOBIN=""
GOCACHE="/Users/user/Library/Caches/go-build"
GOENV="/Users/user/Library/Application Support/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="arm64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/user/go/pkg/mod"
GONOPROXY="<private>" # removed because of privacy.
GONOSUMDB="<private>" # removed because of privacy.
GOOS="darwin"
GOPATH="/Users/user/go"
GOPRIVATE="<private>" # removed because of privacy.
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_arm64"
GOVCS=""
GOVERSION="go1.20.12"
GCCGO="gccgo"
AR="llvm-ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/dev/null"
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 -fdebug-prefix-map=/var/folders/f5/tvc95lsd2tgfjkb489878h_40000gq/T/go-build4031533321=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?

I don't remember, sorry.

What did you expect to see?

No crash at all.

What did you see instead?

Crash with message that LSP-client has disconnected, needed to restart it.

Editor and settings

Using Neovim v0.9.4 and plugin nvim-lspconfig v0.1.7:

local function organize_imports(client, bufnr)
  local params = vim.lsp.util.make_range_params(nil, vim.lsp.util._get_offset_encoding())
  params.context = { only = { "source.organizeImports" } }

  local resp = client.request_sync("textDocument/codeAction", params, 3000, bufnr)
  for _, r in pairs(resp and resp.result or {}) do
    if r.edit then
      vim.lsp.util.apply_workspace_edit(r.edit, vim.lsp.util._get_offset_encoding())
    else
      vim.lsp.buf.execute_command(r.command)
    end
  end
end

require("lspconfig").gopls.setup({
  cmd = { "gopls", "-remote=auto" },
  filetypes = { "go", "gomod", "gowork", "gotmpl", "gohtmltmpl", "gotexttmpl" },
  settings = {
    gopls = {
      ["build.templateExtensions"] = { "gohtml", "html", "gotmpl", "tmpl" },
      ["ui.codelenses"] = {
        run_govulncheck = true,
        vendor = false,
        gc_details = true,
      },
      ["ui.navigation.importShortcut"] = "Definition",
      ["ui.semanticTokens"] = true,
      ["diagnostic.vulncheck"] = "Imports",
    },
  },
  before_init = function(_, config)
    if vim.fn.executable("go") ~= 1 then
      return
    end

    local module = vim.fn.trim(vim.fn.system("go list -m"))
    if vim.v.shell_error ~= 0 then
      return
    end
    module = module:gsub("\n", ",")

    config.settings.gopls["formatting.local"] = module
  end,
  on_attach = function(client, bufnr)
    on_attach(client, bufnr)

    vim.api.nvim_create_autocmd("BufWritePre", {
      buffer = bufnr,
      callback = function()
        organize_imports(client, bufnr)
        vim.lsp.buf.format()
      end,
    })
  end,
  capabilities = capabilities,
})

Logs

[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "unexpected fault address 0x12cb880fc\nfatal error: fault\n"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "[signal SIGSEGV: segmentation violation code=0x2 addr=0x12cb880fc pc=0x104825f1c]\n\ngoroutine 14295 [running]:\n"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "runtime.throw({0x104eff45f?, 0x14000482df8?})\n\truntime/panic.go:1077 +0x40 fp=0x14000482da0 sp=0x14000482d70 pc=0x1046a60a0\nruntime.sigpanic()\n\truntime/signal_unix.go:875 +0x22c fp=0x14000482e00 sp=0x14000482da0 pc=0x1046bdd6c\nsync/atomic.(*Uint32).Load(...)\n\tsync/atomic/type.go:121\ngolang.org/x/telemetry/internal/counter.(*mappedFile).load32(...)\n\tgolang.org/x/[email protected]/internal/counter/file.go:526\ngolang.org/x/telemetry/internal/counter.(*mappedFile).lookup(0x104f342c5?, {0x104f2d720?, 0x14000482ef8?})\n\tgolang.org/x/[email protected]/internal/counter/file.go:564 +0x8c fp=0x14000482e50 sp=0x14000482e10 pc=0x104825f1c\ngolang.org/x/telemetry/internal/counter.(*file).rotate1(0x105992fa0)\n\tgolang.org/x/[email protected]/internal/counter/file.go:301 +0x354 fp=0x14000482f50 sp=0x14000482e50 pc=0x104824b94\ngolang.org/x/telemetry/internal/counter.(*file).rotate(0x105992fa0)\n\tgolang.org/x/[email protected]/internal/counter/file.go:246 +"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "0x20 fp=0x14000482fb0 sp=0x14000482f50 pc=0x1048246d0\ngolang.org/x/telemetry/internal/counter.(*file).rotate-fm()\n\t:1 +0x28 fp=0x14000482fd0 sp=0x14000482fb0 pc=0x104828458\nruntime.goexit()\n\truntime/asm_arm64.s:1197 +0x4 fp=0x14000482fd0 sp=0x14000482fd0 pc=0x1046dcf74\ncreated by time.goFunc\n\ttime/sleep.go:176 +0x38\n\ngoroutine 1 [select, 206 minutes]:\nruntime.gopark(0x140005fd5d0?, 0x2?, 0xb0?, 0xea?, 0x140005fd524?)\n\truntime/proc.go:398 +0xc8 fp=0x140003a73c0 sp=0x140003a73a0 pc=0x1046a8e38\nruntime.selectgo(0x140003a75d0, 0x140005fd520, 0x140001cf230?, 0x0, 0x140001b5508?, 0x1)\n\truntime/select.go:327 +0x608 fp=0x140003a74d0 sp=0x140003a73c0 pc=0x1046ba038\ngolang.org/x/tools/gopls/internal/lsp/lsprpc.(*Forwarder).ServeStream(0x140001cf590, {0x1053b1948, 0x140001cf230}, {0x1053b35c8, 0x14000406140?})\n\tgolang.org/x/tools/gopls/internal/lsp/lsprpc/lsprpc.go:228 +0x640 fp=0x140003a7650 sp=0x140003a74d0 pc=0x104ee2fb0\ngolang.org/x/tools/gopls/internal/lsp/cmd.(*Serve).Run(0x14000188040, {0x1053b1948, 0x140001cf230}, {0x140000320b0?, 0x0?, 0x0?})\n\tgolang.org/x/tools/gopls/internal/lsp/cmd/serve.go:141 +0x724 fp=0x140003a7850 sp=0x140003a7650 pc=0x104ef56d4\ngolang.org/x/tools/internal/tool.Run({0x1053b1948, 0x140001cf230}, 0x14000378070, {0x1053b29c0?, 0x14000188040}, {0x140000320b0, 0x0, 0x0})\n\tgolang.org/x/[email protected]/internal/tool/tool.go:192 +0x4f0 fp=0x140003a7ac0 sp=0x140003a7850 pc=0x104d75020\ngolang.org/x/tools/gopls/internal/lsp/cmd.(*Application).Run(0x14000188000, {0x1053b1910, 0x1059c8e80}, {0x140000320b0?, 0x0, 0x0})\n\t"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "golang.org/x/tools/gopls/internal/lsp/cmd/cmd.go:253 +0x140 fp=0x140003a7bb0 sp=0x140003a7ac0 pc=0x104ee8ee0\ngolang.org/x/tools/internal/tool.Run({0x1053b1910, 0x1059c8e80}, 0x14000378000, {0x1053b2400?, 0x14000188000}, {0x140000320b0, 0x1, 0x1})\n\tgolang.org/x/[email protected]/internal/tool/tool.go:192 +0x4f0 fp=0x140003a7e20 sp=0x140003a7bb0 pc=0x104d75020\ngolang.org/x/tools/internal/tool.Main({0x1053b1910, 0x1059c8e80}, {0x1053b2400?, 0x14000188000?}, {0x140000320b0, 0x1, 0x1})\n\tgolang.org/x/[email protected]/internal/tool/tool.go:93 +0x104 fp=0x140003a7ee0 sp=0x140003a7e20 pc=0x104d74a04\nmain.main()\n\tgolang.org/x/tools/gopls/main.go:29 +0xa0 fp=0x140003a7f30 sp=0x140003a7ee0 pc=0x104efc6a0\nruntime.main()\n\truntime/proc.go:267 +0x2bc fp=0x140003a7fd0 sp=0x140003a7f30 pc=0x1046a89dc\nruntime.goexit()\n\truntime/asm_arm64.s:1197 +0x4 fp=0x140003a7fd0 sp=0x140003a7fd0 pc=0x1046dcf74\n\ngoroutine 2 [force gc (idle), 12 minutes]:\nruntime.gopark(0x60631fc075b5?, 0x0?, 0x0?, 0x0?, 0x0?)\n\truntime/proc.go:"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "398 +0xc8 fp=0x14000070f90 sp=0x14000070f70 pc=0x1046a8e38\nruntime.goparkunlock(...)\n\truntime/proc.go:404\nruntime.forcegchelper()\n\truntime/proc.go:322 +0xb8 fp=0x14000070fd0 sp=0x14000070f90 pc=0x1046a8c98\nruntime.goexit()\n\truntime/asm_arm64.s:1197 +0x4 fp=0x14000070fd0 sp=0x14000070fd0 pc=0x1046dcf74\ncreated by runtime.init.6 in goroutine 1\n\truntime/proc.go:310 +0x24\n\ngoroutine 3 [GC sweep wait]:\nruntime.gopark(0x105991001?, 0x0?, 0x0?, 0x0?, 0x0?)\n\truntime/proc.go:398 +0xc8 fp=0x14000071760 sp=0x14000071740 pc=0x1046a8e38\nruntime.goparkunlock(...)\n\truntime/proc.go:404\n"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "runtime.bgsweep(0x0?)\n\truntime/mgcsweep.go:321 +0x108 fp=0x140000717b0 sp=0x14000071760 pc=0x104693dc8\nruntime.gcenable.func1()\n\truntime/mgc.go:200 +0x28 fp=0x140000717d0 sp=0x140000717b0 pc=0x104688868\nruntime.goexit()\n\truntime/asm_arm64.s:1197 +0x4 fp=0x140000717d0 sp=0x140000717d0 pc=0x1046dcf74\ncreated by runtime.gcenable in goroutine 1\n\truntime/mgc.go:200 +0x6c\n\ngoroutine 4 [GC scavenge wait]:\nruntime.gopark(0xec244f?"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" ", 0xdb6a84?, 0x0?, 0x0?, 0x0?)\n\truntime/proc.go:398 +0xc8 fp=0x14000071f50 sp=0x14000071f30 pc=0x1046a8e38\nruntime.goparkunlock(...)\n\truntime/proc.go:404\nruntime.(*scavengerState).park(0x105993020)\n\truntime/mgcscavenge.go:425 +"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "0x5c fp=0x14000071f80 sp=0x14000071f50 pc=0x10469160c\nruntime.bgscavenge(0x0?)\n\truntime/mgcscavenge.go:658 +"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "0xac fp=0x14000071fb0 sp=0x14000071f80 pc=0x104691bcc\nruntime.gcenable.func2()\n\truntime/mgc.go:201"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" " +0x28 fp=0x14000071fd0 sp=0x14000071fb0 pc=0x104688808\nruntime.goexit()\n\truntime/asm_arm64.s:1197 +0x4 fp=0x14000071fd0 sp=0x14000071fd0 pc=0x1046dcf74\ncreated by runtime.gcenable in goroutine 1\n\truntime/mgc.go:201 +0xac\n\ngoroutine 5"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" " [finalizer wait, 206 minutes]:\nruntime.gopark(0x0?, 0x1053a3e20?, 0x0?, 0x20?, 0x2000000020?)\n\truntime/proc.go:398 +0xc8 fp=0x14000070580 sp=0x14000070560 pc=0x1046a8e38\nruntime.runfinq()\n\truntime/mfinal.go:193 +0x108 fp=0x140000707d0 sp=0x14000070580 pc="
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "0x104687958\nruntime.goexit()\n\truntime/asm_arm64.s:1197 +0x4 fp=0x140000707d0 sp=0x140000707d0 pc=0x1046dcf74\ncreated by runtime.createfing in goroutine 1\n\truntime/mfinal.go:163 +0x80\n\ngoroutine 107 [GC worker (idle)]:\nruntime.gopark(0x60f625261d46?, 0x3?, 0x6c?, 0x64?, 0x0?)\n\truntime/proc.go:398 +0xc8"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" " fp=0x14000306730 sp=0x14000306710 pc=0x1046a8e38\nruntime.gcBgMarkWorker()\n\truntime/mgc.go:1293 +0xd8 fp=0x140003067d0 sp=0x14000306730 pc=0x10468a4b8\nruntime.goexit()\n\truntime/asm_arm64.s:1197 +0x4 fp=0x140003067d0 sp=0x140003067d0 pc=0x1046dcf74\ncreated by runtime.gcBgMarkStartWorkers in goroutine 1\n\truntime/mgc.go:1217 +0x28\n"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "\ngoroutine 64 [GC worker (idle)]:\nruntime.gopark(0x60f625259a17?, 0x1?, 0x21?, 0xaf?, 0x0?)\n\truntime/proc.go:398 +0xc8 fp=0x14000307f30 sp=0x14000307f10 pc=0x1046a8e38\nruntime.gcBgMarkWorker()\n\truntime/mgc.go:1293 +0xd8 fp=0x14000307fd0 sp=0x14000307f30 pc=0x10468a4b8\nruntime.goexit()\n\truntime/asm_arm64.s:1197 +0x4 fp=0x14000307fd0 sp=0x14000307fd0 pc=0x1046dcf74\ncreated by runtime.gcBgMarkStartWorkers in goroutine 1\n\truntime/mgc.go:1217 +0x28\n\ngoroutine 115 [select, 202 minutes]:\nruntime.gopark(0x140000c3dd8?, 0x2?, 0x18?, 0x3c?, 0x140000c3d7c?)\n\truntime/proc.go:398 +0xc8 fp=0x140000c3bd0 sp=0x140000c3bb0 pc=0x1046a8e38"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "\nruntime.selectgo(0x140000c3dd8, 0x140000c3d78, 0x102?, 0x0, 0x0?, 0x1)\n\truntime/select.go:327 +0x608 fp=0x140000c3ce0 sp=0x140000c3bd0 pc=0x1046ba038\ngolang.org/x/tools/gopls/internal/lsp/filecache.gc({0x1400013a030, 0x28})\n\tgolang.org/x/tools/gopls/internal/lsp/filecache/filecache.go:546 +0xbc fp=0x140000c3fb0 sp=0x140000c3ce0 pc=0x104d80afc\ngolang.org/x/tools/gopls/internal/lsp/filecache.getCacheDir.func1.1()\n\tgolang.org/x/tools/gopls/internal/lsp/filecache/filecache.go:351 +0x2c fp=0x140000c3fd0 sp=0x140000c3fb0 pc=0x104d81bac\nruntime.goexit()\n\truntime/asm_arm64.s:1197 +0x4 fp=0x140000c3fd0 sp=0x140000c3fd0 pc=0x1046dcf74"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "\ncreated by golang.org/x/tools/gopls/internal/lsp/filecache.getCacheDir.func1 in goroutine 69\n\tgolang.org/x/tools/gopls/internal/lsp/filecache/filecache.go:351 +0x168\n\ngoroutine 114 [GC worker (idle)]:\nruntime.gopark(0x60f62525ab58?, 0x3?, 0x37?, 0xd0?, 0x0?)\n\truntime/proc.go:398 +0xc8 fp=0x14000309730 sp=0x14000309710 pc=0x1046a8e38\nruntime.gcBgMarkWorker()\n\truntime/mgc.go:1293 +0xd8 fp=0x140003097d0 sp=0x14000309730 pc=0x10468a4b8\nruntime.goexit()\n\truntime/asm_arm64.s:1197 +0x4"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" " fp=0x140003097d0 sp=0x140003097d0 pc=0x1046dcf74\ncreated by runtime.gcBgMarkStartWorkers in goroutine 1\n\truntime/mgc.go:1217 +0x28\n\ngoroutine 106 [GC worker (idle)]:\nruntime.gopark(0x1059ca100?, 0x3?, 0x4b?, 0x2c?, 0x0?)\n\truntime/proc.go:398 +0xc8 fp=0x14000073730 sp=0x14000073710 pc=0x1046a8e38\nruntime.gcBgMarkWorker()\n\truntime/mgc.go:1293 +0xd8 fp=0x140000737d0 sp=0x14000073730 pc=0x10468a4b8\nruntime.goexit()\n\truntime/asm_arm64.s:1197 +0x4 fp=0x140000737d0 sp=0x140000737d0 pc=0x1046dcf74\ncreated by runtime.gcBgMarkStartWorkers in goroutine 1\n\truntime/mgc.go:1217 +0x28\n"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "\ngoroutine 65 [GC worker (idle)]:\nruntime.gopark(0x60f62523f81f?, 0x3?, 0xb7?, 0xf?, 0x0?)\n\truntime/proc.go:398 +0xc8 fp=0x14000309f30 sp=0x14000309f10 pc=0x1046a8e38\nruntime.gcBgMarkWorker()\n\truntime/mgc.go:1293 +0xd8 fp=0x14000309fd0 sp=0x14000309f30 pc=0x10468a4b8\nruntime.goexit()\n\truntime/asm_arm64.s:1197 +0x4 fp=0x14000309fd0 sp=0x14000309fd0 pc=0x1046dcf74\ncreated by runtime.gcBgMarkStartWorkers"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" " in goroutine 1\n\truntime/mgc.go:1217 +0x28\n\ngoroutine 94 [GC worker (idle)]:\nruntime.gopark(0x1059ca100?, 0x3?, 0x18?, 0xfd?, 0x0?)\n\truntime/proc.go:398 +0xc8 fp=0x14000302730 sp=0x14000302710 pc=0x1046a8e38\nruntime.gcBgMarkWorker()\n\truntime/mgc.go:1293 +0xd8 fp="
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "0x140003027d0 sp=0x14000302730 pc=0x10468a4b8\nruntime.goexit()\n\truntime/asm_arm64.s:1197 +0x4 fp=0x140003027d0 sp=0x140003027d0 pc=0x1046dcf74\ncreated by runtime.gcBgMarkStartWorkers in goroutine 1\n\truntime/mgc.go:1217 +0x28\n\ngoroutine 108 [GC worker (idle)]:\nruntime.gopark(0x60f6252385b3?, 0x1"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "?, 0xad?, 0x0?, 0x0?)\n\truntime/proc.go:398 +0xc8 fp=0x1400006d730 sp=0x1400006d710 pc=0x1046a8e38\nruntime.gcBgMarkWorker()\n\truntime/mgc.go:1293 +0xd8 fp=0x1400006d7d0 sp=0x1400006d730 pc=0x10468a4b8\nruntime.goexit()\n\truntime/asm_arm64.s:1197 +0x4 fp=0x1400006d7d0"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" " sp=0x1400006d7d0 pc=0x1046dcf74\ncreated by runtime.gcBgMarkStartWorkers in goroutine 1\n\truntime/mgc.go:1217 +0x28\n\ngoroutine 95 [GC worker (idle)]:\nruntime.gopark(0x60f6252430ed?, 0x3?, 0xe0?, 0xb2?, 0x0?)\n\truntime/proc.go:398 +0xc8"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" " fp=0x14000302f30 sp=0x14000302f10 pc=0x1046a8e38\nruntime.gcBgMarkWorker()\n\truntime/mgc.go:1293 +0xd8 fp=0x14000302fd0 sp=0x14000302f30 pc=0x10468a4b8\nruntime.goexit()\n\truntime/asm_arm64.s:1197 +0x4 fp=0x14000302fd0 sp=0x14000302fd0 pc=0x1046dcf74\ncreated by runtime.gcBgMarkStartWorkers in goroutine 1"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "\n\truntime/mgc.go:1217 +0x28\n\ngoroutine 96 [GC worker (idle)]:\nruntime.gopark(0x60f62524b540?, 0x3?, 0xf8?, 0x2a?, 0x0?)\n\truntime/proc.go:398 +0xc8 fp=0x14000303730 sp=0x14000303710 pc=0x1046a8e38\nruntime.gcBgMarkWorker()\n\t"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "runtime/mgc.go:1293 +0xd8 fp=0x140003037d0 sp=0x14000303730 pc=0x10468a4b8\nruntime.goexit()\n\truntime/asm_arm64.s:1197 +0x4 fp=0x140003037d0 sp=0x140003037d0 pc=0x1046dcf74\ncreated by runtime.gcBgMarkStartWorkers in goroutine 1\n\truntime/mgc.go:1217 +0x28\n\ngoroutine 109 [GC worker (idle)"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "]:\nruntime.gopark(0x60f625242ea5?, 0x3?, 0x66?, 0x65?, 0x0?)\n\truntime/proc.go:398 +0xc8 fp=0x1400006df30 sp=0x1400006df10 pc=0x1046a8e38\nruntime.gcBgMarkWorker()\n\truntime/mgc.go:1293 +0xd8 fp=0x1400006dfd0 sp=0x1400006df30 pc=0x10468a4b8\nruntime.goexit"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "()\n\truntime/asm_arm64.s:1197 +0x4 fp=0x1400006dfd0 sp=0x1400006dfd0 pc=0x1046dcf74\ncreated by runtime.gcBgMarkStartWorkers in goroutine 1\n\truntime/mgc.go:1217 +0x28\n\ngoroutine 71 [syscall]:\nsyscall.syscall(0x14000484dd8?, 0x104719c20?, 0x800000?"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" ", 0x7ffff800000?)\n\truntime/sys_darwin.go:23 +0x58 fp=0x14000484da0 sp=0x14000484d10 pc=0x1046d9188\nsyscall.read(0x1400009a060?, {0x14000315000?, 0x2?, 0x14000484f34?})\n\tsyscall/zsyscall_darwin_arm64.go:1209 +0x48 fp=0x14000484de0 sp="
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "0x14000484da0 pc=0x1046f11a8\nsyscall.Read(...)\n\tsyscall/syscall_unix.go:181\ninternal/poll.ignoringEINTRIO(...)\n\tinternal/poll/fd_unix.go:736\ninternal/poll.(*FD).Read(0x1400009a060, {0x14000315000, 0x1000, 0x1000})\n\tinternal/poll/fd_unix.go:"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "160 +0x224 fp=0x14000484e80 sp=0x14000484de0 pc=0x104719d74\nos.(*File).read(...)\n\tos/file_posix.go:29\nos.(*File).Read(0x14000074028, {0x14000315000?, 0x2?, 0x2?})\n\tos/file.go:118 +0x70"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" " fp=0x14000484ec0 sp=0x14000484e80 pc=0x104722a00\nio.ReadCloser.Read-fm({0x14000315000?, 0x14000484f30?, 0x0?})\n\t:1 +0x44 fp=0x14000484ef0 sp=0x14000484ec0 pc=0x104ee5d04\ngolang.org/x/tools/internal/fakenet.(*connFeeder).run(0x140001cf5c0"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" ")\n\tgolang.org/x/[email protected]/internal/fakenet/conn.go:121 +0x8c fp=0x14000484fb0 sp=0x14000484ef0 pc=0x104ee59bc\ngolang.org/x/tools/internal/fakenet.NewConn.func1()\n\tgolang.org/x/[email protected]/internal/fakenet/conn.go:26 +0x28 fp=0x14000484fd0 sp=0x14000484fb0 pc=0x104ee53b8\nruntime.goexit()\n\truntime/asm_arm64.s:1197 +0x4 fp=0x14000484fd0"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" " sp=0x14000484fd0 pc=0x1046dcf74\ncreated by golang.org/x/tools/internal/fakenet.NewConn in goroutine 1\n\tgolang.org/x/[email protected]/internal/fakenet/conn.go:26 +0x314\n\ngoroutine 72 [select]:\nruntime.gopark(0x1400006e788?, 0x2?, 0x0?, 0x0?, 0x1400006e734?)\n\truntime/proc.go:398 +0xc8 fp=0x1400006e5e0 sp=0x1400006e5c0 pc="
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "0x1046a8e38\nruntime.selectgo(0x1400006e788, 0x1400006e730, 0x0?, 0x0, 0x1?, 0x1)\n\truntime/select.go:327 +0x608 fp=0x1400006e6f0 sp=0x1400006e5e0 pc=0x1046ba038\ngolang.org/x/tools/internal/fakenet.(*connFeeder).run(0x140001cf5f0)\n\tgolang.org/x/[email protected]/internal/fakenet/conn.go:115 +0x6c fp=0x1400006e7b0 sp=0x1400006e6f0 pc=0x104ee599c\n"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "golang.org/x/tools/internal/fakenet.NewConn.func2()\n\tgolang.org/x/[email protected]/internal/fakenet/conn.go:27 +0x28 fp=0x1400006e7d0 sp=0x1400006e7b0 pc=0x104ee5358\nruntime.goexit()\n\truntime/asm_arm64.s:1197 +0x4 fp=0x1400006e7d0 sp=0x1400006e7d0 pc=0x1046dcf74\ncreated by golang.org/x/tools/internal/fakenet.NewConn in goroutine 1\n\tgolang.org/x/[email protected]/internal/fakenet/conn.go:27 +0x360\n\ngoroutine 146 ["
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "IO wait]:\nruntime.gopark(0xffffffffffffffff?, 0xffffffffffffffff?, 0x23?, 0x0?, 0x1046f2ee0?)\n\truntime/proc.go:398 +0xc8 fp=0x140006a7800 sp=0x140006a77e0 pc=0x1046a8e38\nruntime.netpollblock(0x0?, 0x0?, 0x0?)\n\truntime/netpoll.go:564 +0x158 fp=0x140006a7840 sp=0x140006a7800 pc=0x1046a2588\ninternal/poll.runtime_pollWait("
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "0x12c844e38, 0x72)\n\truntime/netpoll.go:343 +0xa0 fp=0x140006a7870 sp=0x140006a7840 pc=0x1046d6930\ninternal/poll.(*pollDesc).wait(0x14000218000?, 0x14000314000?, 0x0)\n\tinternal/poll/fd_poll_runtime.go:84 +0x28 fp=0x140006a78a0 sp=0x140006a7870 pc=0x104718a08\ninternal/poll.(*pollDesc).waitRead(...)\n\tinternal/poll/fd_poll_runtime.go:89\n"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "internal/poll.(*FD).Read(0x14000218000, {0x14000314000, 0x1000, 0x1000})\n\tinternal/poll/fd_unix.go:164 +0x200 fp=0x140006a7940 sp=0x140006a78a0 pc=0x104719d50\nnet.(*netFD).Read(0x14000218000, {0x14000314000?, 0x140006a79c8?, 0x104683f30?})\n\tnet/fd_posix.go:55 +0x28 fp=0x140006a7990 sp=0x140006a7940 pc="
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "0x1047e2558\nnet.(*conn).Read(0x14000392008, {0x14000314000?, 0x10596da80?, 0x0?})\n\tnet/net.go:179 +0x34 fp=0x140006a79e0 sp=0x140006a7990 pc=0x1047ee994\nnet.(*UnixConn).Read(0x0?, {0x14000314000?, 0x0?, 0x0?})\n\t"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" ":1 +0x2c fp=0x140006a7a10 sp=0x140006a79e0 pc=0x10480093c\nbufio.(*Reader).fill(0x140003f1980)\n\tbufio/bufio.go:113 +0xf8 fp=0x140006a7a50 sp=0x140006a7a10 pc=0x104802178\nbufio.(*Reader).ReadSlice(0x140003f1980, 0x60?)\n\tbufio/bufio.go:"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "379 +0x30 fp=0x140006a7aa0 sp=0x140006a7a50 pc=0x104802d90\nbufio.(*Reader).collectFragments(0x14000516180?, 0x20?)\n\tbufio/bufio.go:454 +0x64 fp=0x140006a7b70 sp=0x140006a7aa0 pc=0x104803184\nbufio.(*Reader).ReadString(0x140006a7cc8?, 0xe8?)\n\tbufio/bufio.go:501 +"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "0x20 fp=0x140006a7c40 sp=0x140006a7b70 pc=0x104803510\ngolang.org/x/tools/internal/jsonrpc2.(*headerStream).Read(0x1400039e000, {0x1053b1948, 0x140001cf230})\n\tgolang.org/x/[email protected]/internal/jsonrpc2/stream.go:110 +0xa4 fp=0x140006a7cd0 sp=0x140006a7c40 pc=0x10480a844\ngolang.org/x/tools/internal/jsonrpc2.(*conn).run(0x1400038c140, {0x1053b1948, 0x140001cf230}, 0x1400039e060)\n"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "\tgolang.org/x/[email protected]/internal/jsonrpc2/conn.go:196 +0x84 fp=0x140006a7fa0 sp=0x140006a7cd0 pc=0x1048079e4\ngolang.org/x/tools/internal/jsonrpc2.(*conn).Go.func1()\n\tgolang.org/x/[email protected]/internal/jsonrpc2/conn.go:189 +0x34 fp=0x140006a7fd0 sp=0x140006a7fa0 pc=0x104807924\nruntime.goexit()\n\truntime/asm_arm64.s:1197 +0x4 fp=0x140006a7fd0 sp=0x140006a7fd0 pc=0x1046dcf74\ncreated by golang.org/x/tools/internal/jsonrpc2.(*conn).Go in goroutine 1\n\tgolang.org/x/[email protected]/internal/jsonrpc2/conn.go:189 +"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "0xa8\n\ngoroutine 147 [select]:\nruntime.gopark(0x1400040f9c8?, 0x2?, 0x80?, 0x19?, 0x1400040f984?)\n\truntime/proc.go:398 +0xc8 fp=0x1400040f830 sp=0x1400040f810 pc=0x1046a8e38\nruntime.selectgo(0x1400040f9c8, 0x1400040f980, 0x0?, 0x0, 0x10596da60?, 0x1)\n\truntime/select.go:327 +0x608 fp=0x1400040f940 sp=0x1400040f830 pc=0x1046ba038\ngolang.org/x/tools/internal/fakenet.(*connFeeder).do"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "(...)\n\tgolang.org/x/[email protected]/internal/fakenet/conn.go:103\ngolang.org/x/tools/internal/fakenet.(*fakeConn).Read(0x0?, {0x14000315000?, 0x0?, 0x0?})\n\tgolang.org/x/[email protected]/internal/fakenet/conn.go:67 +0xd4 fp=0x1400040fa10 sp=0x1400040f940 pc=0x104ee5554\nbufio.(*Reader).fill(0x140002774a0)\n\tbufio/bufio.go:113 +0xf8 fp=0x1400040fa50 sp=0x1400040fa10 pc=0x104802178\nbufio.(*Reader).ReadSlice"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "(0x140002774a0, 0x60?)\n\tbufio/bufio.go:379 +0x30 fp=0x1400040faa0 sp=0x1400040fa50 pc=0x104802d90\nbufio.(*Reader).collectFragments(0x14000128840?, 0x10?)\n\tbufio/bufio.go:454 +0x64 fp=0x1400040fb70 sp=0x1400040faa0 pc=0x104803184\nbufio.(*Reader).ReadString(0x1400040fcc8?, 0xe8?)\n\tbufio/bufio.go:501 +0x20 fp=0x1400040fc40 sp=0x1400040fb70 pc=0x104803510\ngolang.org/x/tools/internal/jsonrpc2.(*headerStream).Read(0x140004e0240, "
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "{0x1053b1948, 0x140001cf230})\n\tgolang.org/x/[email protected]/internal/jsonrpc2/stream.go:110 +0xa4 fp=0x1400040fcd0 sp=0x1400040fc40 pc=0x10480a844\ngolang.org/x/tools/internal/jsonrpc2.(*conn).run(0x14000406140, {0x1053b1948, 0x140001cf230}, 0x1400039eab0)\n\tgolang.org/x/[email protected]/internal/jsonrpc2/conn.go:196 +0x84 fp=0x1400040ffa0 sp=0x1400040fcd0 pc=0x1048079e4\ngolang.org/x/tools/internal/jsonrpc2.(*conn).Go.func1()\n\tgolang.org/x/[email protected]/internal/jsonrpc2/conn.go:189 +0x34 fp=0x1400040ffd0 sp=0x1400040ffa0 pc="
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "0x104807924\nruntime.goexit()\n\truntime/asm_arm64.s:1197 +0x4 fp=0x1400040ffd0 sp=0x1400040ffd0 pc=0x1046dcf74\ncreated by golang.org/x/tools/internal/jsonrpc2.(*conn).Go in goroutine 1\n\tgolang.org/x/[email protected]/internal/jsonrpc2/conn.go:189 +0xa8\n"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "gopls: remote disconnected: failed reading header line: EOF\n"
[START][2023-12-05 19:17:14] LSP logging initiated
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "gopls: remote disconnected: failed reading header line: EOF\n"

@ArtAndreev ArtAndreev added gopls Issues related to the Go language server, gopls. Tools This label describes issues relating to any tools in the x/tools repository. labels Dec 6, 2023
@gopherbot gopherbot added this to the Unreleased milestone Dec 6, 2023
@ArtAndreev
Copy link
Author

gopls is installed via Homebrew and has version 0.14.2.

@ArtAndreev
Copy link
Author

Attaching telemetry entry /Users/user/Library/Application Support/go/telemetry/local/local.2023-12-05.json:

{
 "Week": "2023-12-05",
 "LastWeek": "",
 "X": 0.8560438626360163,
 "Programs": [
  {
   "Program": "golang.org/x/tools/gopls",
   "Version": "devel",
   "GoVersion": "go1.21.4",
   "GOOS": "darwin",
   "GOARCH": "arm64",
   "Counters": {
    "counter/main": 43,
    "gopls/client:neovim": 13,
    "gopls/client:vscode": 1,
    "gopls/client:vscodium": 1,
    "gopls/completion/latency:\u003c100ms": 350,
    "gopls/completion/latency:\u003c10ms": 183,
    "gopls/completion/latency:\u003c200ms": 56,
    "gopls/completion/latency:\u003c50ms": 1034,
    "gopls/definition/latency:\u003c10ms": 48,
    "gopls/definition/latency:\u003c50ms": 1,
    "gopls/goversion:1.20": 40,
    "gopls/hover/latency:\u003c10ms": 17,
    "gopls/references/latency:\u003c10ms": 5,
    "gopls/references/latency:\u003c50ms": 1
   },
   "Stacks": {
    "gopls/bug\ngolang.org/x/tools/gopls/internal/bug.report:35\ngolang.org/x/tools/gopls/internal/bug.Errorf:2\ngolang.org/x/tools/gopls/internal/lsp/source.SignatureHelp:72\ngolang.org/x/tools/gopls/internal/lsp.(*Server).signatureHelp:9\ngolang.org/x/tools/gopls/internal/lsp.(*Server).SignatureHelp:1\ngolang.org/x/tools/gopls/internal/lsp/protocol.serverDispatch:490\ngolang.org/x/tools/gopls/internal/lsp/lsprpc.(*StreamServer).ServeStream.ServerHandler.func3:5\ngolang.org/x/tools/gopls/internal/lsp/lsprpc.(*StreamServer).ServeStream.handshaker.func4:52\ngolang.org/x/tools/gopls/internal/lsp/protocol.Handlers.MustReplyHandler.func1:2\ngolang.org/x/tools/gopls/internal/lsp/protocol.Handlers.AsyncHandler.func2.2:3\nruntime.goexit:0": 1
   }
  }
 ],
 "Config": "v0.9.0"
}

@hyangah
Copy link
Contributor

hyangah commented Dec 7, 2023

Thanks for the detailed report. It looks like it crashed during the file rotation.

https://github.com/golang/telemetry/blob/13bc4d4f673eaf22df9b8f2b395cf0e7f020cebe/internal/counter/file.go#L526

cc @pjweinb @findleyr @rsc

runtime.throw({0x104eff45f?, 0x14000482df8?})
	runtime/panic.go:1077 +0x40 fp=0x14000482da0 sp=0x14000482d70 pc=0x1046a60a0
runtime.sigpanic()
	runtime/signal_unix.go:875 +0x22c fp=0x14000482e00 sp=0x14000482da0 pc=0x1046bdd6c
sync/atomic.(*Uint32).Load(...)
	sync/atomic/type.go:121
golang.org/x/telemetry/internal/counter.(*mappedFile).load32(...)
	golang.org/x/[email protected]/internal/counter/file.go:526
golang.org/x/telemetry/internal/counter.(*mappedFile).lookup(0x104f342c5?, {0x104f2d720?, 0x14000482ef8?})
	golang.org/x/[email protected]/internal/counter/file.go:564 +0x8c fp=0x14000482e50 sp=0x14000482e10 pc=0x104825f1c
golang.org/x/telemetry/internal/counter.(*file).rotate1(0x105992fa0)
	golang.org/x/[email protected]/internal/counter/file.go:301 +0x354 fp=0x14000482f50 sp=0x14000482e50 pc=0x104824b94
golang.org/x/telemetry/internal/counter.(*file).rotate(0x105992fa0)
	golang.org/x/[email protected]/internal/counter/file.go:246 +"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "0x20 fp=0x14000482fb0 sp=0x14000482f50 pc=0x1048246d0
golang.org/x/telemetry/internal/counter.(*file).rotate-fm()
	:1 +0x28 fp=0x14000482fd0 sp=0x14000482fb0 pc=0x104828458
runtime.goexit()
	runtime/asm_arm64.s:1197 +0x4 fp=0x14000482fd0 sp=0x14000482fd0 pc=0x1046dcf74
created by time.goFunc
	time/sleep.go:176 +0x38

goroutine 1 [select, 206 minutes]:
runtime.gopark(0x140005fd5d0?, 0x2?, 0xb0?, 0xea?, 0x140005fd524?)
	runtime/proc.go:398 +0xc8 fp=0x140003a73c0 sp=0x140003a73a0 pc=0x1046a8e38
runtime.selectgo(0x140003a75d0, 0x140005fd520, 0x140001cf230?, 0x0, 0x140001b5508?, 0x1)
	runtime/select.go:327 +0x608 fp=0x140003a74d0 sp=0x140003a73c0 pc=0x1046ba038
golang.org/x/tools/gopls/internal/lsp/lsprpc.(*Forwarder).ServeStream(0x140001cf590, {0x1053b1948, 0x140001cf230}, {0x1053b35c8, 0x14000406140?})
	golang.org/x/tools/gopls/internal/lsp/lsprpc/lsprpc.go:228 +0x640 fp=0x140003a7650 sp=0x140003a74d0 pc=0x104ee2fb0
golang.org/x/tools/gopls/internal/lsp/cmd.(*Serve).Run(0x14000188040, {0x1053b1948, 0x140001cf230}, {0x140000320b0?, 0x0?, 0x0?})
	golang.org/x/tools/gopls/internal/lsp/cmd/serve.go:141 +0x724 fp=0x140003a7850 sp=0x140003a7650 pc=0x104ef56d4
golang.org/x/tools/internal/tool.Run({0x1053b1948, 0x140001cf230}, 0x14000378070, {0x1053b29c0?, 0x14000188040}, {0x140000320b0, 0x0, 0x0})
	golang.org/x/[email protected]/internal/tool/tool.go:192 +0x4f0 fp=0x140003a7ac0 sp=0x140003a7850 pc=0x104d75020
golang.org/x/tools/gopls/internal/lsp/cmd.(*Application).Run(0x14000188000, {0x1053b1910, 0x1059c8e80}, {0x140000320b0?, 0x0, 0x0})
	"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "golang.org/x/tools/gopls/internal/lsp/cmd/cmd.go:253 +0x140 fp=0x140003a7bb0 sp=0x140003a7ac0 pc=0x104ee8ee0
golang.org/x/tools/internal/tool.Run({0x1053b1910, 0x1059c8e80}, 0x14000378000, {0x1053b2400?, 0x14000188000}, {0x140000320b0, 0x1, 0x1})
	golang.org/x/[email protected]/internal/tool/tool.go:192 +0x4f0 fp=0x140003a7e20 sp=0x140003a7bb0 pc=0x104d75020
golang.org/x/tools/internal/tool.Main({0x1053b1910, 0x1059c8e80}, {0x1053b2400?, 0x14000188000?}, {0x140000320b0, 0x1, 0x1})
	golang.org/x/[email protected]/internal/tool/tool.go:93 +0x104 fp=0x140003a7ee0 sp=0x140003a7e20 pc=0x104d74a04
main.main()
	golang.org/x/tools/gopls/main.go:29 +0xa0 fp=0x140003a7f30 sp=0x140003a7ee0 pc=0x104efc6a0
runtime.main()
	runtime/proc.go:267 +0x2bc fp=0x140003a7fd0 sp=0x140003a7f30 pc=0x1046a89dc
runtime.goexit()
	runtime/asm_arm64.s:1197 +0x4 fp=0x140003a7fd0 sp=0x140003a7fd0 pc=0x1046dcf74

goroutine 2 [force gc (idle), 12 minutes]:
runtime.gopark(0x60631fc075b5?, 0x0?, 0x0?, 0x0?, 0x0?)
	runtime/proc.go:"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "398 +0xc8 fp=0x14000070f90 sp=0x14000070f70 pc=0x1046a8e38
runtime.goparkunlock(...)
	runtime/proc.go:404
runtime.forcegchelper()
	runtime/proc.go:322 +0xb8 fp=0x14000070fd0 sp=0x14000070f90 pc=0x1046a8c98
runtime.goexit()
	runtime/asm_arm64.s:1197 +0x4 fp=0x14000070fd0 sp=0x14000070fd0 pc=0x1046dcf74
created by runtime.init.6 in goroutine 1
	runtime/proc.go:310 +0x24

goroutine 3 [GC sweep wait]:
runtime.gopark(0x105991001?, 0x0?, 0x0?, 0x0?, 0x0?)
	runtime/proc.go:398 +0xc8 fp=0x14000071760 sp=0x14000071740 pc=0x1046a8e38
runtime.goparkunlock(...)
	runtime/proc.go:404
"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "runtime.bgsweep(0x0?)
	runtime/mgcsweep.go:321 +0x108 fp=0x140000717b0 sp=0x14000071760 pc=0x104693dc8
runtime.gcenable.func1()
	runtime/mgc.go:200 +0x28 fp=0x140000717d0 sp=0x140000717b0 pc=0x104688868
runtime.goexit()
	runtime/asm_arm64.s:1197 +0x4 fp=0x140000717d0 sp=0x140000717d0 pc=0x1046dcf74
created by runtime.gcenable in goroutine 1
	runtime/mgc.go:200 +0x6c

goroutine 4 [GC scavenge wait]:
runtime.gopark(0xec244f?"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" ", 0xdb6a84?, 0x0?, 0x0?, 0x0?)
	runtime/proc.go:398 +0xc8 fp=0x14000071f50 sp=0x14000071f30 pc=0x1046a8e38
runtime.goparkunlock(...)
	runtime/proc.go:404
runtime.(*scavengerState).park(0x105993020)
	runtime/mgcscavenge.go:425 +"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "0x5c fp=0x14000071f80 sp=0x14000071f50 pc=0x10469160c
runtime.bgscavenge(0x0?)
	runtime/mgcscavenge.go:658 +"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "0xac fp=0x14000071fb0 sp=0x14000071f80 pc=0x104691bcc
runtime.gcenable.func2()
	runtime/mgc.go:201"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" " +0x28 fp=0x14000071fd0 sp=0x14000071fb0 pc=0x104688808
runtime.goexit()
	runtime/asm_arm64.s:1197 +0x4 fp=0x14000071fd0 sp=0x14000071fd0 pc=0x1046dcf74
created by runtime.gcenable in goroutine 1
	runtime/mgc.go:201 +0xac

goroutine 5"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" " [finalizer wait, 206 minutes]:
runtime.gopark(0x0?, 0x1053a3e20?, 0x0?, 0x20?, 0x2000000020?)
	runtime/proc.go:398 +0xc8 fp=0x14000070580 sp=0x14000070560 pc=0x1046a8e38
runtime.runfinq()
	runtime/mfinal.go:193 +0x108 fp=0x140000707d0 sp=0x14000070580 pc="
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "0x104687958
runtime.goexit()
	runtime/asm_arm64.s:1197 +0x4 fp=0x140000707d0 sp=0x140000707d0 pc=0x1046dcf74
created by runtime.createfing in goroutine 1
	runtime/mfinal.go:163 +0x80

goroutine 107 [GC worker (idle)]:
runtime.gopark(0x60f625261d46?, 0x3?, 0x6c?, 0x64?, 0x0?)
	runtime/proc.go:398 +0xc8"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" " fp=0x14000306730 sp=0x14000306710 pc=0x1046a8e38
runtime.gcBgMarkWorker()
	runtime/mgc.go:1293 +0xd8 fp=0x140003067d0 sp=0x14000306730 pc=0x10468a4b8
runtime.goexit()
	runtime/asm_arm64.s:1197 +0x4 fp=0x140003067d0 sp=0x140003067d0 pc=0x1046dcf74
created by runtime.gcBgMarkStartWorkers in goroutine 1
	runtime/mgc.go:1217 +0x28
"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "
goroutine 64 [GC worker (idle)]:
runtime.gopark(0x60f625259a17?, 0x1?, 0x21?, 0xaf?, 0x0?)
	runtime/proc.go:398 +0xc8 fp=0x14000307f30 sp=0x14000307f10 pc=0x1046a8e38
runtime.gcBgMarkWorker()
	runtime/mgc.go:1293 +0xd8 fp=0x14000307fd0 sp=0x14000307f30 pc=0x10468a4b8
runtime.goexit()
	runtime/asm_arm64.s:1197 +0x4 fp=0x14000307fd0 sp=0x14000307fd0 pc=0x1046dcf74
created by runtime.gcBgMarkStartWorkers in goroutine 1
	runtime/mgc.go:1217 +0x28

goroutine 115 [select, 202 minutes]:
runtime.gopark(0x140000c3dd8?, 0x2?, 0x18?, 0x3c?, 0x140000c3d7c?)
	runtime/proc.go:398 +0xc8 fp=0x140000c3bd0 sp=0x140000c3bb0 pc=0x1046a8e38"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "
runtime.selectgo(0x140000c3dd8, 0x140000c3d78, 0x102?, 0x0, 0x0?, 0x1)
	runtime/select.go:327 +0x608 fp=0x140000c3ce0 sp=0x140000c3bd0 pc=0x1046ba038
golang.org/x/tools/gopls/internal/lsp/filecache.gc({0x1400013a030, 0x28})
	golang.org/x/tools/gopls/internal/lsp/filecache/filecache.go:546 +0xbc fp=0x140000c3fb0 sp=0x140000c3ce0 pc=0x104d80afc
golang.org/x/tools/gopls/internal/lsp/filecache.getCacheDir.func1.1()
	golang.org/x/tools/gopls/internal/lsp/filecache/filecache.go:351 +0x2c fp=0x140000c3fd0 sp=0x140000c3fb0 pc=0x104d81bac
runtime.goexit()
	runtime/asm_arm64.s:1197 +0x4 fp=0x140000c3fd0 sp=0x140000c3fd0 pc=0x1046dcf74"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "
created by golang.org/x/tools/gopls/internal/lsp/filecache.getCacheDir.func1 in goroutine 69
	golang.org/x/tools/gopls/internal/lsp/filecache/filecache.go:351 +0x168

goroutine 114 [GC worker (idle)]:
runtime.gopark(0x60f62525ab58?, 0x3?, 0x37?, 0xd0?, 0x0?)
	runtime/proc.go:398 +0xc8 fp=0x14000309730 sp=0x14000309710 pc=0x1046a8e38
runtime.gcBgMarkWorker()
	runtime/mgc.go:1293 +0xd8 fp=0x140003097d0 sp=0x14000309730 pc=0x10468a4b8
runtime.goexit()
	runtime/asm_arm64.s:1197 +0x4"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" " fp=0x140003097d0 sp=0x140003097d0 pc=0x1046dcf74
created by runtime.gcBgMarkStartWorkers in goroutine 1
	runtime/mgc.go:1217 +0x28

goroutine 106 [GC worker (idle)]:
runtime.gopark(0x1059ca100?, 0x3?, 0x4b?, 0x2c?, 0x0?)
	runtime/proc.go:398 +0xc8 fp=0x14000073730 sp=0x14000073710 pc=0x1046a8e38
runtime.gcBgMarkWorker()
	runtime/mgc.go:1293 +0xd8 fp=0x140000737d0 sp=0x14000073730 pc=0x10468a4b8
runtime.goexit()
	runtime/asm_arm64.s:1197 +0x4 fp=0x140000737d0 sp=0x140000737d0 pc=0x1046dcf74
created by runtime.gcBgMarkStartWorkers in goroutine 1
	runtime/mgc.go:1217 +0x28
"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "
goroutine 65 [GC worker (idle)]:
runtime.gopark(0x60f62523f81f?, 0x3?, 0xb7?, 0xf?, 0x0?)
	runtime/proc.go:398 +0xc8 fp=0x14000309f30 sp=0x14000309f10 pc=0x1046a8e38
runtime.gcBgMarkWorker()
	runtime/mgc.go:1293 +0xd8 fp=0x14000309fd0 sp=0x14000309f30 pc=0x10468a4b8
runtime.goexit()
	runtime/asm_arm64.s:1197 +0x4 fp=0x14000309fd0 sp=0x14000309fd0 pc=0x1046dcf74
created by runtime.gcBgMarkStartWorkers"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" " in goroutine 1
	runtime/mgc.go:1217 +0x28

goroutine 94 [GC worker (idle)]:
runtime.gopark(0x1059ca100?, 0x3?, 0x18?, 0xfd?, 0x0?)
	runtime/proc.go:398 +0xc8 fp=0x14000302730 sp=0x14000302710 pc=0x1046a8e38
runtime.gcBgMarkWorker()
	runtime/mgc.go:1293 +0xd8 fp="
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "0x140003027d0 sp=0x14000302730 pc=0x10468a4b8
runtime.goexit()
	runtime/asm_arm64.s:1197 +0x4 fp=0x140003027d0 sp=0x140003027d0 pc=0x1046dcf74
created by runtime.gcBgMarkStartWorkers in goroutine 1
	runtime/mgc.go:1217 +0x28

goroutine 108 [GC worker (idle)]:
runtime.gopark(0x60f6252385b3?, 0x1"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "?, 0xad?, 0x0?, 0x0?)
	runtime/proc.go:398 +0xc8 fp=0x1400006d730 sp=0x1400006d710 pc=0x1046a8e38
runtime.gcBgMarkWorker()
	runtime/mgc.go:1293 +0xd8 fp=0x1400006d7d0 sp=0x1400006d730 pc=0x10468a4b8
runtime.goexit()
	runtime/asm_arm64.s:1197 +0x4 fp=0x1400006d7d0"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" " sp=0x1400006d7d0 pc=0x1046dcf74
created by runtime.gcBgMarkStartWorkers in goroutine 1
	runtime/mgc.go:1217 +0x28

goroutine 95 [GC worker (idle)]:
runtime.gopark(0x60f6252430ed?, 0x3?, 0xe0?, 0xb2?, 0x0?)
	runtime/proc.go:398 +0xc8"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" " fp=0x14000302f30 sp=0x14000302f10 pc=0x1046a8e38
runtime.gcBgMarkWorker()
	runtime/mgc.go:1293 +0xd8 fp=0x14000302fd0 sp=0x14000302f30 pc=0x10468a4b8
runtime.goexit()
	runtime/asm_arm64.s:1197 +0x4 fp=0x14000302fd0 sp=0x14000302fd0 pc=0x1046dcf74
created by runtime.gcBgMarkStartWorkers in goroutine 1"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "
	runtime/mgc.go:1217 +0x28

goroutine 96 [GC worker (idle)]:
runtime.gopark(0x60f62524b540?, 0x3?, 0xf8?, 0x2a?, 0x0?)
	runtime/proc.go:398 +0xc8 fp=0x14000303730 sp=0x14000303710 pc=0x1046a8e38
runtime.gcBgMarkWorker()
	"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "runtime/mgc.go:1293 +0xd8 fp=0x140003037d0 sp=0x14000303730 pc=0x10468a4b8
runtime.goexit()
	runtime/asm_arm64.s:1197 +0x4 fp=0x140003037d0 sp=0x140003037d0 pc=0x1046dcf74
created by runtime.gcBgMarkStartWorkers in goroutine 1
	runtime/mgc.go:1217 +0x28

goroutine 109 [GC worker (idle)"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "]:
runtime.gopark(0x60f625242ea5?, 0x3?, 0x66?, 0x65?, 0x0?)
	runtime/proc.go:398 +0xc8 fp=0x1400006df30 sp=0x1400006df10 pc=0x1046a8e38
runtime.gcBgMarkWorker()
	runtime/mgc.go:1293 +0xd8 fp=0x1400006dfd0 sp=0x1400006df30 pc=0x10468a4b8
runtime.goexit"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "()
	runtime/asm_arm64.s:1197 +0x4 fp=0x1400006dfd0 sp=0x1400006dfd0 pc=0x1046dcf74
created by runtime.gcBgMarkStartWorkers in goroutine 1
	runtime/mgc.go:1217 +0x28

goroutine 71 [syscall]:
syscall.syscall(0x14000484dd8?, 0x104719c20?, 0x800000?"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" ", 0x7ffff800000?)
	runtime/sys_darwin.go:23 +0x58 fp=0x14000484da0 sp=0x14000484d10 pc=0x1046d9188
syscall.read(0x1400009a060?, {0x14000315000?, 0x2?, 0x14000484f34?})
	syscall/zsyscall_darwin_arm64.go:1209 +0x48 fp=0x14000484de0 sp="
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "0x14000484da0 pc=0x1046f11a8
syscall.Read(...)
	syscall/syscall_unix.go:181
internal/poll.ignoringEINTRIO(...)
	internal/poll/fd_unix.go:736
internal/poll.(*FD).Read(0x1400009a060, {0x14000315000, 0x1000, 0x1000})
	internal/poll/fd_unix.go:"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "160 +0x224 fp=0x14000484e80 sp=0x14000484de0 pc=0x104719d74
os.(*File).read(...)
	os/file_posix.go:29
os.(*File).Read(0x14000074028, {0x14000315000?, 0x2?, 0x2?})
	os/file.go:118 +0x70"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" " fp=0x14000484ec0 sp=0x14000484e80 pc=0x104722a00
io.ReadCloser.Read-fm({0x14000315000?, 0x14000484f30?, 0x0?})
	:1 +0x44 fp=0x14000484ef0 sp=0x14000484ec0 pc=0x104ee5d04
golang.org/x/tools/internal/fakenet.(*connFeeder).run(0x140001cf5c0"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" ")
	golang.org/x/[email protected]/internal/fakenet/conn.go:121 +0x8c fp=0x14000484fb0 sp=0x14000484ef0 pc=0x104ee59bc
golang.org/x/tools/internal/fakenet.NewConn.func1()
	golang.org/x/[email protected]/internal/fakenet/conn.go:26 +0x28 fp=0x14000484fd0 sp=0x14000484fb0 pc=0x104ee53b8
runtime.goexit()
	runtime/asm_arm64.s:1197 +0x4 fp=0x14000484fd0"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" " sp=0x14000484fd0 pc=0x1046dcf74
created by golang.org/x/tools/internal/fakenet.NewConn in goroutine 1
	golang.org/x/[email protected]/internal/fakenet/conn.go:26 +0x314

goroutine 72 [select]:
runtime.gopark(0x1400006e788?, 0x2?, 0x0?, 0x0?, 0x1400006e734?)
	runtime/proc.go:398 +0xc8 fp=0x1400006e5e0 sp=0x1400006e5c0 pc="
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "0x1046a8e38
runtime.selectgo(0x1400006e788, 0x1400006e730, 0x0?, 0x0, 0x1?, 0x1)
	runtime/select.go:327 +0x608 fp=0x1400006e6f0 sp=0x1400006e5e0 pc=0x1046ba038
golang.org/x/tools/internal/fakenet.(*connFeeder).run(0x140001cf5f0)
	golang.org/x/[email protected]/internal/fakenet/conn.go:115 +0x6c fp=0x1400006e7b0 sp=0x1400006e6f0 pc=0x104ee599c
"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "golang.org/x/tools/internal/fakenet.NewConn.func2()
	golang.org/x/[email protected]/internal/fakenet/conn.go:27 +0x28 fp=0x1400006e7d0 sp=0x1400006e7b0 pc=0x104ee5358
runtime.goexit()
	runtime/asm_arm64.s:1197 +0x4 fp=0x1400006e7d0 sp=0x1400006e7d0 pc=0x1046dcf74
created by golang.org/x/tools/internal/fakenet.NewConn in goroutine 1
	golang.org/x/[email protected]/internal/fakenet/conn.go:27 +0x360

goroutine 146 ["
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "IO wait]:
runtime.gopark(0xffffffffffffffff?, 0xffffffffffffffff?, 0x23?, 0x0?, 0x1046f2ee0?)
	runtime/proc.go:398 +0xc8 fp=0x140006a7800 sp=0x140006a77e0 pc=0x1046a8e38
runtime.netpollblock(0x0?, 0x0?, 0x0?)
	runtime/netpoll.go:564 +0x158 fp=0x140006a7840 sp=0x140006a7800 pc=0x1046a2588
internal/poll.runtime_pollWait("
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "0x12c844e38, 0x72)
	runtime/netpoll.go:343 +0xa0 fp=0x140006a7870 sp=0x140006a7840 pc=0x1046d6930
internal/poll.(*pollDesc).wait(0x14000218000?, 0x14000314000?, 0x0)
	internal/poll/fd_poll_runtime.go:84 +0x28 fp=0x140006a78a0 sp=0x140006a7870 pc=0x104718a08
internal/poll.(*pollDesc).waitRead(...)
	internal/poll/fd_poll_runtime.go:89
"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "internal/poll.(*FD).Read(0x14000218000, {0x14000314000, 0x1000, 0x1000})
	internal/poll/fd_unix.go:164 +0x200 fp=0x140006a7940 sp=0x140006a78a0 pc=0x104719d50
net.(*netFD).Read(0x14000218000, {0x14000314000?, 0x140006a79c8?, 0x104683f30?})
	net/fd_posix.go:55 +0x28 fp=0x140006a7990 sp=0x140006a7940 pc="
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "0x1047e2558
net.(*conn).Read(0x14000392008, {0x14000314000?, 0x10596da80?, 0x0?})
	net/net.go:179 +0x34 fp=0x140006a79e0 sp=0x140006a7990 pc=0x1047ee994
net.(*UnixConn).Read(0x0?, {0x14000314000?, 0x0?, 0x0?})
	"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" ":1 +0x2c fp=0x140006a7a10 sp=0x140006a79e0 pc=0x10480093c
bufio.(*Reader).fill(0x140003f1980)
	bufio/bufio.go:113 +0xf8 fp=0x140006a7a50 sp=0x140006a7a10 pc=0x104802178
bufio.(*Reader).ReadSlice(0x140003f1980, 0x60?)
	bufio/bufio.go:"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "379 +0x30 fp=0x140006a7aa0 sp=0x140006a7a50 pc=0x104802d90
bufio.(*Reader).collectFragments(0x14000516180?, 0x20?)
	bufio/bufio.go:454 +0x64 fp=0x140006a7b70 sp=0x140006a7aa0 pc=0x104803184
bufio.(*Reader).ReadString(0x140006a7cc8?, 0xe8?)
	bufio/bufio.go:501 +"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "0x20 fp=0x140006a7c40 sp=0x140006a7b70 pc=0x104803510
golang.org/x/tools/internal/jsonrpc2.(*headerStream).Read(0x1400039e000, {0x1053b1948, 0x140001cf230})
	golang.org/x/[email protected]/internal/jsonrpc2/stream.go:110 +0xa4 fp=0x140006a7cd0 sp=0x140006a7c40 pc=0x10480a844
golang.org/x/tools/internal/jsonrpc2.(*conn).run(0x1400038c140, {0x1053b1948, 0x140001cf230}, 0x1400039e060)
"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "	golang.org/x/[email protected]/internal/jsonrpc2/conn.go:196 +0x84 fp=0x140006a7fa0 sp=0x140006a7cd0 pc=0x1048079e4
golang.org/x/tools/internal/jsonrpc2.(*conn).Go.func1()
	golang.org/x/[email protected]/internal/jsonrpc2/conn.go:189 +0x34 fp=0x140006a7fd0 sp=0x140006a7fa0 pc=0x104807924
runtime.goexit()
	runtime/asm_arm64.s:1197 +0x4 fp=0x140006a7fd0 sp=0x140006a7fd0 pc=0x1046dcf74
created by golang.org/x/tools/internal/jsonrpc2.(*conn).Go in goroutine 1
	golang.org/x/[email protected]/internal/jsonrpc2/conn.go:189 +"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "0xa8

goroutine 147 [select]:
runtime.gopark(0x1400040f9c8?, 0x2?, 0x80?, 0x19?, 0x1400040f984?)
	runtime/proc.go:398 +0xc8 fp=0x1400040f830 sp=0x1400040f810 pc=0x1046a8e38
runtime.selectgo(0x1400040f9c8, 0x1400040f980, 0x0?, 0x0, 0x10596da60?, 0x1)
	runtime/select.go:327 +0x608 fp=0x1400040f940 sp=0x1400040f830 pc=0x1046ba038
golang.org/x/tools/internal/fakenet.(*connFeeder).do"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "(...)
	golang.org/x/[email protected]/internal/fakenet/conn.go:103
golang.org/x/tools/internal/fakenet.(*fakeConn).Read(0x0?, {0x14000315000?, 0x0?, 0x0?})
	golang.org/x/[email protected]/internal/fakenet/conn.go:67 +0xd4 fp=0x1400040fa10 sp=0x1400040f940 pc=0x104ee5554
bufio.(*Reader).fill(0x140002774a0)
	bufio/bufio.go:113 +0xf8 fp=0x1400040fa50 sp=0x1400040fa10 pc=0x104802178
bufio.(*Reader).ReadSlice"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "(0x140002774a0, 0x60?)
	bufio/bufio.go:379 +0x30 fp=0x1400040faa0 sp=0x1400040fa50 pc=0x104802d90
bufio.(*Reader).collectFragments(0x14000128840?, 0x10?)
	bufio/bufio.go:454 +0x64 fp=0x1400040fb70 sp=0x1400040faa0 pc=0x104803184
bufio.(*Reader).ReadString(0x1400040fcc8?, 0xe8?)
	bufio/bufio.go:501 +0x20 fp=0x1400040fc40 sp=0x1400040fb70 pc=0x104803510
golang.org/x/tools/internal/jsonrpc2.(*headerStream).Read(0x140004e0240, "
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "{0x1053b1948, 0x140001cf230})
	golang.org/x/[email protected]/internal/jsonrpc2/stream.go:110 +0xa4 fp=0x1400040fcd0 sp=0x1400040fc40 pc=0x10480a844
golang.org/x/tools/internal/jsonrpc2.(*conn).run(0x14000406140, {0x1053b1948, 0x140001cf230}, 0x1400039eab0)
	golang.org/x/[email protected]/internal/jsonrpc2/conn.go:196 +0x84 fp=0x1400040ffa0 sp=0x1400040fcd0 pc=0x1048079e4
golang.org/x/tools/internal/jsonrpc2.(*conn).Go.func1()
	golang.org/x/[email protected]/internal/jsonrpc2/conn.go:189 +0x34 fp=0x1400040ffd0 sp=0x1400040ffa0 pc="
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "0x104807924
runtime.goexit()
	runtime/asm_arm64.s:1197 +0x4 fp=0x1400040ffd0 sp=0x1400040ffd0 pc=0x1046dcf74
created by golang.org/x/tools/internal/jsonrpc2.(*conn).Go in goroutine 1
	golang.org/x/[email protected]/internal/jsonrpc2/conn.go:189 +0xa8
"
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "gopls: remote disconnected: failed reading header line: EOF
"
[START][2023-12-05 19:17:14] LSP logging initiated
[ERROR][2023-12-05 19:17:14] .../vim/lsp/rpc.lua:734 "rpc" "/opt/homebrew/bin/gopls" "stderr" "gopls: remote disconnected: failed reading header line: EOF
"

@hyangah hyangah modified the milestones: Unreleased, gopls/v0.15.0 Dec 7, 2023
@hyangah hyangah added NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. Soon This needs action soon. (recent regressions, service outages, unusual time-sensitive situations) telemetry x/telemetry issues labels Dec 7, 2023
@pjweinb
Copy link

pjweinb commented Dec 7, 2023 via email

@ArtAndreev
Copy link
Author

had it been running for a whole week?

Could be, also telemetry file has timestamp Dec 5 18:17, logs are at 19:17.

@pjweinb
Copy link

pjweinb commented Dec 7, 2023 via email

@gopherbot
Copy link
Contributor

Change https://go.dev/cl/547983 mentions this issue: internal/counter: add test for unknown counters

@gopherbot
Copy link
Contributor

Change https://go.dev/cl/549935 mentions this issue: internal/counter: fix panic on rotate error

@gopherbot
Copy link
Contributor

Change https://go.dev/cl/552276 mentions this issue: internal/counter: fix file rotation panics

@dmitshur dmitshur added NeedsFix The path to resolution is known, but the work has not been done. and removed NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. labels Nov 12, 2024
Pinkle-pash added a commit to Pinkle-pash/telemetry that referenced this issue Dec 4, 2024
Weekly, the memory-mapped counter file is replaced by a new one.
If this fails, using counters may panic.

This CL fixes the code to avoid the above panics by
setting the counter's file's mapping to nil while there is a danger
that an existing mapping is no longer valid.

The reader can understand the changes using the new TestRotateCounters
at line 99 to see what happens when remapping fails.
1. In the existing code, the current.Lookup at existing line 308 will fault
2. Commenting out that code delays the fault to the c.Inc() at line 106
   of rotate_test.go.
3. So the counters have dangling pointers. These have to be reset.
   This is done by f.current.Store(nil), and running a cleanup
   function at line 313 in the new code. The cleanup function resets
   all the counter pointers, and then cleans up the old mapping, if
   there is one. (The code to reset the counters cannot be run while
   f.mu is locked.)
4. But there is the same problem with counter pointers pointing to the
   old mapping even after the file points to the new mapping. The same
   solution works, resetting the counter pointer, and then closing
   the old mapping. (The old code freed the mapping too soon.)
In both cases (3 and 4), if a counter pointer is used, it will point
   to a valid mapping (nil is fine; the increment goes into the
   counter's state)

Summary: an old mapping cannot be removed until all the file's
counters point to a new mapping.

The CL also
  Fixes some internal documentation,
  Fixes a time-related test error that only showed up in Eastern
      time evening,
  Adds a test showing the life of a counter and testing mapping
      failure in file rotation.

Fixes: golang/go#64577

Change-Id: I3e4775fb527e94d8a32505c8d77a131659b0a82a
Reviewed-on: https://go-review.googlesource.com/c/telemetry/+/552276
Reviewed-by: Robert Findley <[email protected]>
Reviewed-by: Hyang-Ah Hana Kim <[email protected]>
TryBot-Result: Gopher Robot <[email protected]>
Run-TryBot: Peter Weinberger <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
gopls Issues related to the Go language server, gopls. NeedsFix The path to resolution is known, but the work has not been done. Soon This needs action soon. (recent regressions, service outages, unusual time-sensitive situations) telemetry x/telemetry issues Tools This label describes issues relating to any tools in the x/tools repository.
Projects
None yet
Development

No branches or pull requests

5 participants