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: stack overflow with type parameters (built with go1.18beta1) #50881

Closed
Karitham opened this issue Jan 28, 2022 · 3 comments
Closed
Labels
FrozenDueToAge gopls Issues related to the Go language server, gopls. Tools This label describes issues relating to any tools in the x/tools repository.
Milestone

Comments

@Karitham
Copy link

Settings

gopls version: v0.7.5
gopls flags:
update flags: proxy
extension version: 0.31.0
go version: 1.18beta1
environment: Visual Studio Code linux
initialization error: undefined
issue timestamp: Fri, 28 Jan 2022 15:48:35 GMT
restart history:
Fri, 28 Jan 2022 14:49:05 GMT: activation (enabled: true)

Description

A gopls panic through a stack-overflow when working with type parameters

Trace (massive)

runtime: goroutine stack exceeds 1000000000-byte limit runtime: sp=0xc048f8c390 stack=[0xc048f8c000, 0xc068f8c000] fatal error: stack overflow runtime: goroutine stack exceeds 1000000000-byte limit runtime: sp=0xc068f8c390 stack=[0xc068f8c000, 0xc088f8c000] fatal error: stack overflow

runtime stack:
runtime.throw({0xd80865?, 0x1444a80?})
/usr/local/go/src/runtime/panic.go:992 +0x71
runtime.newstack()
/usr/local/go/src/runtime/stack.go:1101 +0x5cc
runtime.morestack()
/usr/local/go/src/runtime/asm_amd64.s:547 +0x8b

goroutine 2409 [running]:
go/types.(*TypeParam).Underlying(0xc007376810?)
/usr/local/go/src/go/types/typeparam.go:90 +0x37 fp=0xc048f8c3a0 sp=0xc048f8c398 pc=0x6aa8b7
go/types.under({0xfced30?, 0xc007376810?})
/usr/local/go/src/go/types/type.go:27 +0x58 fp=0xc048f8c3b8 sp=0xc048f8c3a0 pc=0x6a9cf8
go/types.(*TypeParam).iface(0xc007376810)
/usr/local/go/src/go/types/typeparam.go:107 +0x37 fp=0xc048f8c410 sp=0xc048f8c3b8 pc=0x6aa957
go/types.(*TypeParam).Underlying(0x0?)
/usr/local/go/src/go/types/typeparam.go:91 +0x19 fp=0xc048f8c428 sp=0xc048f8c410 pc=0x6aa899
go/types.under({0xfced30?, 0xc007376810?})
/usr/local/go/src/go/types/type.go:27 +0x58 fp=0xc048f8c440 sp=0xc048f8c428 pc=0x6a9cf8
go/types.(*TypeParam).iface(0xc007376810)
/usr/local/go/src/go/types/typeparam.go:107 +0x37 fp=0xc048f8c498 sp=0xc048f8c440 pc=0x6aa957
go/types.(*TypeParam).Underlying(0x0?)
/usr/local/go/src/go/types/typeparam.go:91 +0x19 fp=0xc048f8c4b0 sp=0xc048f8c498 pc=0x6aa899
go/types.under({0xfced30?, 0xc007376810?})
/usr/local/go/src/go/types/type.go:27 +0x58 fp=0xc048f8c4c8 sp=0xc048f8c4b0 pc=0x6a9cf8
go/types.(*TypeParam).iface(0xc007376810)
/usr/local/go/src/go/types/typeparam.go:107 +0x37 fp=0xc048f8c520 sp=0xc048f8c4c8 pc=0x6aa957
go/types.(*TypeParam).Underlying(0x0?)
/usr/local/go/src/go/types/typeparam.go:91 +0x19 fp=0xc048f8c538 sp=0xc048f8c520 pc=0x6aa899
go/types.under({0xfced30?, 0xc007376810?})
/usr/local/go/src/go/types/type.go:27 +0x58 fp=0xc048f8c550 sp=0xc048f8c538 pc=0x6a9cf8
go/types.(*TypeParam).iface(0xc007376810)
/usr/local/go/src/go/types/typeparam.go:107 +0x37 fp=0xc048f8c5a8 sp=0xc048f8c550 pc=0x6aa957
go/types.(*TypeParam).Underlying(0x0?)
/usr/local/go/src/go/types/typeparam.go:91 +0x19 fp=0xc048f8c5c0 sp=0xc048f8c5a8 pc=0x6aa899
go/types.under({0xfced30?, 0xc007376810?})
/usr/local/go/src/go/types/type.go:27 +0x58 fp=0xc048f8c5d8 sp=0xc048f8c5c0 pc=0x6a9cf8
go/types.(*TypeParam).iface(0xc007376810)
/usr/local/go/src/go/types/typeparam.go:107 +0x37 fp=0xc048f8c630 sp=0xc048f8c5d8 pc=0x6aa957
go/types.(*TypeParam).Underlying(0x0?)
/usr/local/go/src/go/types/typeparam.go:91 +0x19 fp=0xc048f8c648 sp=0xc048f8c630 pc=0x6aa899
go/types.under({0xfced30?, 0xc007376810?})
/usr/local/go/src/go/types/type.go:27 +0x58 fp=0xc048f8c660 sp=0xc048f8c648 pc=0x6a9cf8
go/types.(*TypeParam).iface(0xc007376810)
/usr/local/go/src/go/types/typeparam.go:107 +0x37 fp=0xc048f8c6b8 sp=0xc048f8c660 pc=0x6aa957
go/types.(*TypeParam).Underlying(0x0?)
/usr/local/go/src/go/types/typeparam.go:91 +0x19 fp=0xc048f8c6d0 sp=0xc048f8c6b8 pc=0x6aa899
go/types.under({0xfced30?, 0xc007376810?})
/usr/local/go/src/go/types/type.go:27 +0x58 fp=0xc048f8c6e8 sp=0xc048f8c6d0 pc=0x6a9cf8
go/types.(*TypeParam).iface(0xc007376810)
/usr/local/go/src/go/types/typeparam.go:107 +0x37 fp=0xc048f8c740 sp=0xc048f8c6e8 pc=0x6aa957
go/types.(*TypeParam).Underlying(0x0?)
/usr/local/go/src/go/types/typeparam.go:91 +0x19 fp=0xc048f8c758 sp=0xc048f8c740 pc=0x6aa899
go/types.under({0xfced30?, 0xc007376810?})
/usr/local/go/src/go/types/type.go:27 +0x58 fp=0xc048f8c770 sp=0xc048f8c758 pc=0x6a9cf8
go/types.(*TypeParam).iface(0xc007376810)
/usr/local/go/src/go/types/typeparam.go:107 +0x37 fp=0xc048f8c7c8 sp=0xc048f8c770 pc=0x6aa957
go/types.(*TypeParam).Underlying(0x0?)
/usr/local/go/src/go/types/typeparam.go:91 +0x19 fp=0xc048f8c7e0 sp=0xc048f8c7c8 pc=0x6aa899
go/types.under({0xfced30?, 0xc007376810?})
/usr/local/go/src/go/types/type.go:27 +0x58 fp=0xc048f8c7f8 sp=0xc048f8c7e0 pc=0x6a9cf8
go/types.(*TypeParam).iface(0xc007376810)
/usr/local/go/src/go/types/typeparam.go:107 +0x37 fp=0xc048f8c850 sp=0xc048f8c7f8 pc=0x6aa957
go/types.(*TypeParam).Underlying(0x0?)
/usr/local/go/src/go/types/typeparam.go:91 +0x19 fp=0xc048f8c868 sp=0xc048f8c850 pc=0x6aa899
go/types.under({0xfced30?, 0xc007376810?})
/usr/local/go/src/go/types/type.go:27 +0x58 fp=0xc048f8c880 sp=0xc048f8c868 pc=0x6a9cf8
go/types.(*TypeParam).iface(0xc007376810)
/usr/local/go/src/go/types/typeparam.go:107 +0x37 fp=0xc048f8c8d8 sp=0xc048f8c880 pc=0x6aa957
go/types.(*TypeParam).Underlying(0x0?)
/usr/local/go/src/go/types/typeparam.go:91 +0x19 fp=0xc048f8c8f0 sp=0xc048f8c8d8 pc=0x6aa899
go/types.under({0xfced30?, 0xc007376810?})
/usr/local/go/src/go/types/type.go:27 +0x58 fp=0xc048f8c908 sp=0xc048f8c8f0 pc=0x6a9cf8
go/types.(*TypeParam).iface(0xc007376810)
/usr/local/go/src/go/types/typeparam.go:107 +0x37 fp=0xc048f8c960 sp=0xc048f8c908 pc=0x6aa957
go/types.(*TypeParam).Underlying(0x0?)
/usr/local/go/src/go/types/typeparam.go:91 +0x19 fp=0xc048f8c978 sp=0xc048f8c960 pc=0x6aa899
go/types.under({0xfced30?, 0xc007376810?})
/usr/local/go/src/go/types/type.go:27 +0x58 fp=0xc048f8c990 sp=0xc048f8c978 pc=0x6a9cf8
go/types.(*TypeParam).iface(0xc007376810)
/usr/local/go/src/go/types/typeparam.go:107 +0x37 fp=0xc048f8c9e8 sp=0xc048f8c990 pc=0x6aa957
go/types.(*TypeParam).Underlying(0x0?)
/usr/local/go/src/go/types/typeparam.go:91 +0x19 fp=0xc048f8ca00 sp=0xc048f8c9e8 pc=0x6aa899
go/types.under({0xfced30?, 0xc007376810?})
/usr/local/go/src/go/types/type.go:27 +0x58 fp=0xc048f8ca18 sp=0xc048f8ca00 pc=0x6a9cf8
go/types.(*TypeParam).iface(0xc007376810)
/usr/local/go/src/go/types/typeparam.go:107 +0x37 fp=0xc048f8ca70 sp=0xc048f8ca18 pc=0x6aa957
go/types.(*TypeParam).Underlying(0x0?)
/usr/local/go/src/go/types/typeparam.go:91 +0x19 fp=0xc048f8ca88 sp=0xc048f8ca70 pc=0x6aa899
go/types.under({0xfced30?, 0xc007376810?})
/usr/local/go/src/go/types/type.go:27 +0x58 fp=0xc048f8caa0 sp=0xc048f8ca88 pc=0x6a9cf8
go/types.(*TypeParam).iface(0xc007376810)
/usr/local/go/src/go/types/typeparam.go:107 +0x37 fp=0xc048f8caf8 sp=0xc048f8caa0 pc=0x6aa957
go/types.(*TypeParam).Underlying(0x0?)
/usr/local/go/src/go/types/typeparam.go:91 +0x19 fp=0xc048f8cb10 sp=0xc048f8caf8 pc=0x6aa899
go/types.under({0xfced30?, 0xc007376810?})
/usr/local/go/src/go/types/type.go:27 +0x58 fp=0xc048f8cb28 sp=0xc048f8cb10 pc=0x6a9cf8
go/types.(*TypeParam).iface(0xc007376810)
/usr/local/go/src/go/types/typeparam.go:107 +0x37 fp=0xc048f8cb80 sp=0xc048f8cb28 pc=0x6aa957
go/types.(*TypeParam).Underlying(0x0?)
/usr/local/go/src/go/types/typeparam.go:91 +0x19 fp=0xc048f8cb98 sp=0xc048f8cb80 pc=0x6aa899
go/types.under({0xfced30?, 0xc007376810?})
/usr/local/go/src/go/types/type.go:27 +0x58 fp=0xc048f8cbb0 sp=0xc048f8cb98 pc=0x6a9cf8
go/types.(*TypeParam).iface(0xc007376810)
/usr/local/go/src/go/types/typeparam.go:107 +0x37 fp=0xc048f8cc08 sp=0xc048f8cbb0 pc=0x6aa957
go/types.(*TypeParam).Underlying(0x0?)
/usr/local/go/src/go/types/typeparam.go:91 +0x19 fp=0xc048f8cc20 sp=0xc048f8cc08 pc=0x6aa899
go/types.under({0xfced30?, 0xc007376810?})
/usr/local/go/src/go/types/type.go:27 +0x58 fp=0xc048f8cc38 sp=0xc048f8cc20 pc=0x6a9cf8
go/types.(*TypeParam).iface(0xc007376810)
/usr/local/go/src/go/types/typeparam.go:107 +0x37 fp=0xc048f8cc90 sp=0xc048f8cc38 pc=0x6aa957
go/types.(*TypeParam).Underlying(0x0?)
/usr/local/go/src/go/types/typeparam.go:91 +0x19 fp=0xc048f8cca8 sp=0xc048f8cc90 pc=0x6aa899
go/types.under({0xfced30?, 0xc007376810?})
/usr/local/go/src/go/types/type.go:27 +0x58 fp=0xc048f8ccc0 sp=0xc048f8cca8 pc=0x6a9cf8
go/types.(*TypeParam).iface(0xc007376810)
/usr/local/go/src/go/types/typeparam.go:107 +0x37 fp=0xc048f8cd18 sp=0xc048f8ccc0 pc=0x6aa957
go/types.(*TypeParam).Underlying(0x0?)
/usr/local/go/src/go/types/typeparam.go:91 +0x19 fp=0xc048f8cd30 sp=0xc048f8cd18 pc=0x6aa899
go/types.under({0xfced30?, 0xc007376810?})
/usr/local/go/src/go/types/type.go:27 +0x58 fp=0xc048f8cd48 sp=0xc048f8cd30 pc=0x6a9cf8
go/types.(*TypeParam).iface(0xc007376810)
/usr/local/go/src/go/types/typeparam.go:107 +0x37 fp=0xc048f8cda0 sp=0xc048f8cd48 pc=0x6aa957
go/types.(*TypeParam).Underlying(0x0?)
/usr/local/go/src/go/types/typeparam.go:91 +0x19 fp=0xc048f8cdb8 sp=0xc048f8cda0 pc=0x6aa899
go/types.under({0xfced30?, 0xc007376810?})
/usr/local/go/src/go/types/type.go:27 +0x58 fp=0xc048f8cdd0 sp=0xc048f8cdb8 pc=0x6a9cf8
go/types.(*TypeParam).iface(0xc007376810)
/usr/local/go/src/go/types/typeparam.go:107 +0x37 fp=0xc048f8ce28 sp=0xc048f8cdd0 pc=0x6aa957
go/types.(*TypeParam).Underlying(0x0?)
/usr/local/go/src/go/types/typeparam.go:91 +0x19 fp=0xc048f8ce40 sp=0xc048f8ce28 pc=0x6aa899
go/types.under({0xfced30?, 0xc007376810?})
/usr/local/go/src/go/types/type.go:27 +0x58 fp=0xc048f8ce58 sp=0xc048f8ce40 pc=0x6a9cf8
go/types.(*TypeParam).iface(0xc007376810)
/usr/local/go/src/go/types/typeparam.go:107 +0x37 fp=0xc048f8ceb0 sp=0xc048f8ce58 pc=0x6aa957
go/types.(*TypeParam).Underlying(0x0?)
/usr/local/go/src/go/types/typeparam.go:91 +0x19 fp=0xc048f8cec8 sp=0xc048f8ceb0 pc=0x6aa899
go/types.under({0xfced30?, 0xc007376810?})
/usr/local/go/src/go/types/type.go:27 +0x58 fp=0xc048f8cee0 sp=0xc048f8cec8 pc=0x6a9cf8
go/types.(*TypeParam).iface(0xc007376810)
/usr/local/go/src/go/types/typeparam.go:107 +0x37 fp=0xc048f8cf38 sp=0xc048f8cee0 pc=0x6aa957
go/types.(*TypeParam).Underlying(0x0?)
/usr/local/go/src/go/types/typeparam.go:91 +0x19 fp=0xc048f8cf50 sp=0xc048f8cf38 pc=0x6aa899
go/types.under({0xfced30?, 0xc007376810?})
/usr/local/go/src/go/types/type.go:27 +0x58 fp=0xc048f8cf68 sp=0xc048f8cf50 pc=0x6a9cf8
go/types.(*TypeParam).iface(0xc007376810)
/usr/local/go/src/go/types/typeparam.go:107 +0x37 fp=0xc048f8cfc0 sp=0xc048f8cf68 pc=0x6aa957
go/types.(*TypeParam).Underlying(0x0?)
/usr/local/go/src/go/types/typeparam.go:91 +0x19 fp=0xc048f8cfd8 sp=0xc048f8cfc0 pc=0x6aa899
go/types.under({0xfced30?, 0xc007376810?})
/usr/local/go/src/go/types/type.go:27 +0x58 fp=0xc048f8cff0 sp=0xc048f8cfd8 pc=0x6a9cf8
go/types.(*TypeParam).iface(0xc007376810)
/usr/local/go/src/go/types/typeparam.go:107 +0x37 fp=0xc048f8d048 sp=0xc048f8cff0 pc=0x6aa957
go/types.(*TypeParam).Underlying(0x0?)
/usr/local/go/src/go/types/typeparam.go:91 +0x19 fp=0xc048f8d060 sp=0xc048f8d048 pc=0x6aa899
go/types.under({0xfced30?, 0xc007376810?})
/usr/local/go/src/go/types/type.go:27 +0x58 fp=0xc048f8d078 sp=0xc048f8d060 pc=0x6a9cf8
go/types.(*TypeParam).iface(0xc007376810)
/usr/local/go/src/go/types/typeparam.go:107 +0x37 fp=0xc048f8d0d0 sp=0xc048f8d078 pc=0x6aa957
go/types.(*TypeParam).Underlying(0x0?)
/usr/local/go/src/go/types/typeparam.go:91 +0x19 fp=0xc048f8d0e8 sp=0xc048f8d0d0 pc=0x6aa899
go/types.under({0xfced30?, 0xc007376810?})
/usr/local/go/src/go/types/type.go:27 +0x58 fp=0xc048f8d100 sp=0xc048f8d0e8 pc=0x6a9cf8
go/types.(*TypeParam).iface(0xc007376810)
/usr/local/go/src/go/types/typeparam.go:107 +0x37 fp=0xc048f8d158 sp=0xc048f8d100 pc=0x6aa957
go/types.(*TypeParam).Underlying(0x0?)
/usr/local/go/src/go/types/typeparam.go:91 +0x19 fp=0xc048f8d170 sp=0xc048f8d158 pc=0x6aa899
go/types.under({0xfced30?, 0xc007376810?})
/usr/local/go/src/go/types/type.go:27 +0x58 fp=0xc048f8d188 sp=0xc048f8d170 pc=0x6a9cf8
go/types.(*TypeParam).iface(0xc007376810)
/usr/local/go/src/go/types/typeparam.go:107 +0x37 fp=0xc048f8d1e0 sp=0xc048f8d188 pc=0x6aa957
go/types.(*TypeParam).Underlying(0x0?)
/usr/local/go/src/go/types/typeparam.go:91 +0x19 fp=0xc048f8d1f8 sp=0xc048f8d1e0 pc=0x6aa899
go/types.under({0xfced30?, 0xc007376810?})
/usr/local/go/src/go/types/type.go:27 +0x58 fp=0xc048f8d210 sp=0xc048f8d1f8 pc=0x6a9cf8
go/types.(*TypeParam).iface(0xc007376810)
/usr/local/go/src/go/types/typeparam.go:107 +0x37 fp=0xc048f8d268 sp=0xc048f8d210 pc=0x6aa957
go/types.(*TypeParam).Underlying(0x0?)
/usr/local/go/src/go/types/typeparam.go:91 +0x19 fp=0xc048f8d280 sp=0xc048f8d268 pc=0x6aa899
go/types.under({0xfced30?, 0xc007376810?})
/usr/local/go/src/go/types/type.go:27 +0x58 fp=0xc048f8d298 sp=0xc048f8d280 pc=0x6a9cf8
go/types.(*TypeParam).iface(0xc007376810)
/usr/local/go/src/go/types/typeparam.go:107 +0x37 fp=0xc048f8d2f0 sp=0xc048f8d298 pc=0x6aa957
go/types.(*TypeParam).Underlying(0x0?)
/usr/local/go/src/go/types/typeparam.go:91 +0x19 fp=0xc048f8d308 sp=0xc048f8d2f0 pc=0x6aa899
go/types.under({0xfced30?, 0xc007376810?})
/usr/local/go/src/go/types/type.go:27 +0x58 fp=0xc048f8d320 sp=0xc048f8d308 pc=0x6a9cf8
go/types.(*TypeParam).iface(0xc007376810)
/usr/local/go/src/go/types/typeparam.go:107 +0x37 fp=0xc048f8d378 sp=0xc048f8d320 pc=0x6aa957
go/types.(*TypeParam).Underlying(0x0?)
/usr/local/go/src/go/types/typeparam.go:91 +0x19 fp=0xc048f8d390 sp=0xc048f8d378 pc=0x6aa899
go/types.under({0xfced30?, 0xc007376810?})
/usr/local/go/src/go/types/type.go:27 +0x58 fp=0xc048f8d3a8 sp=0xc048f8d390 pc=0x6a9cf8
go/types.(*TypeParam).iface(0xc007376810)
/usr/local/go/src/go/types/typeparam.go:107 +0x37 fp=0xc048f8d400 sp=0xc048f8d3a8 pc=0x6aa957
go/types.(*TypeParam).Underlying(0x0?)
/usr/local/go/src/go/types/typeparam.go:91 +0x19 fp=0xc048f8d418 sp=0xc048f8d400 pc=0x6aa899
go/types.under({0xfced30?, 0xc007376810?})
/usr/local/go/src/go/types/type.go:27 +0x58 fp=0xc048f8d430 sp=0xc048f8d418 pc=0x6a9cf8
go/types.(*TypeParam).iface(0xc007376810)
/usr/local/go/src/go/types/typeparam.go:107 +0x37 fp=0xc048f8d488 sp=0xc048f8d430 pc=0x6aa957
go/types.(*TypeParam).Underlying(0x0?)
/usr/local/go/src/go/types/typeparam.go:91 +0x19 fp=0xc048f8d4a0 sp=0xc048f8d488 pc=0x6aa899
go/types.under({0xfced30?, 0xc007376810?})
/usr/local/go/src/go/types/type.go:27 +0x58 fp=0xc048f8d4b8 sp=0xc048f8d4a0 pc=0x6a9cf8
go/types.(*TypeParam).iface(0xc007376810)
/usr/local/go/src/go/types/typeparam.go:107 +0x37 fp=0xc048f8d510 sp=0xc048f8d4b8 pc=0x6aa957
go/types.(*TypeParam).Underlying(0x0?)
/usr/local/go/src/go/types/typeparam.go:91 +0x19 fp=0xc048f8d528 sp=0xc048f8d510 pc=0x6aa899
...additional frames elided...
created by golang.org/x/tools/internal/memoize.(*Handle).run
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/memoize/memoize.go:320 +0x1b8

goroutine 1 [chan receive]:
golang.org/x/tools/internal/lsp/lsprpc.(*StreamServer).ServeStream(0xc000213220, {0xfd23d0, 0xc000013b60}, {0xfd4708, 0xc00028c6e0})
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/lsp/lsprpc/lsprpc.go:100 +0x3fb
golang.org/x/tools/internal/lsp/cmd.(*Serve).Run(0xc0001cab70, {0xfd23d0, 0xc000013470}, {0xc000032050?, 0x0?, 0x0?})
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/lsp/cmd/serve.go:123 +0x8f4
golang.org/x/tools/internal/tool.Run({0xfd23d0, 0xc000013470}, {0xfd2dd0, 0xc0001cab70}, {0xc000032050, 0x0, 0x0})
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/tool/tool.go:153 +0x5ff
golang.org/x/tools/internal/lsp/cmd.(*Application).Run(0xc0001cab40, {0xfd2360?, 0xc0000380e8?}, {0xc000032050?, 0x0, 0x0})
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/lsp/cmd/cmd.go:147 +0x15b
golang.org/x/tools/internal/tool.Run({0xfd2360, 0xc0000380e8}, {0xfd2d90, 0xc0001cab40}, {0xc000032050, 0x1, 0x1})
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/tool/tool.go:153 +0x5ff
golang.org/x/tools/internal/tool.Main({0xfd2360, 0xc0000380e8}, {0xfd2d90?, 0xc0001cab40?}, {0xc000032050, 0x1, 0x1})
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/tool/tool.go:92 +0x2ad
main.main()
/home/karitham/go/pkg/mod/golang.org/x/tools/gopls@v0.7.5/main.go:25 +0x9e

goroutine 102 [chan receive]:
golang.org/x/tools/internal/lsp/debug.(*Instance).MonitorMemory.func1()
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/lsp/debug/serve.go:532 +0x7e
created by golang.org/x/tools/internal/lsp/debug.(*Instance).MonitorMemory
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/lsp/debug/serve.go:530 +0xea

goroutine 103 [syscall]:
syscall.Syscall(0x0, 0x0, 0xc000016000, 0x1000)
/usr/local/go/src/syscall/asm_linux_amd64.s:20 +0x5
syscall.read(0xc00004a0c0?, {0xc000016000?, 0x0?, 0x0?})
/usr/local/go/src/syscall/zsyscall_linux_amd64.go:696 +0x4d
syscall.Read(...)
/usr/local/go/src/syscall/syscall_unix.go:188
internal/poll.ignoringEINTRIO(...)
/usr/local/go/src/internal/poll/fd_unix.go:794
internal/poll.(*FD).Read(0xc00004a0c0?, {0xc000016000?, 0x1000?, 0x1000?})
/usr/local/go/src/internal/poll/fd_unix.go:163 +0x285
os.(*File).read(...)
/usr/local/go/src/os/file_posix.go:31
os.(*File).Read(0xc000010010, {0xc000016000?, 0x2?, 0x2?})
/usr/local/go/src/os/file.go:119 +0x5e
golang.org/x/tools/internal/fakenet.(*connFeeder).run(0xc000013530)
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/fakenet/conn.go:121 +0xd2
created by golang.org/x/tools/internal/fakenet.NewConn
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/fakenet/conn.go:26 +0x38a

goroutine 104 [select]:
golang.org/x/tools/internal/fakenet.(*connFeeder).run(0xc000013560)
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/fakenet/conn.go:115 +0x9f
created by golang.org/x/tools/internal/fakenet.NewConn
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/fakenet/conn.go:27 +0x3d6

goroutine 105 [select]:
golang.org/x/tools/internal/fakenet.(*connFeeder).do(0xc000013530, {0xc000016000?, 0x7fa024fe8fff?, 0xc0000a0480?})
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/fakenet/conn.go:103 +0x135
golang.org/x/tools/internal/fakenet.(*fakeConn).Read(0xc169cd?, {0xc000016000?, 0xd24f40?, 0xc004cf3fb0?})
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/fakenet/conn.go:67 +0x25
bufio.(*Reader).fill(0xc0002037a0)
/usr/local/go/src/bufio/bufio.go:106 +0x103
bufio.(*Reader).ReadSlice(0xc0002037a0, 0x0?)
/usr/local/go/src/bufio/bufio.go:371 +0x2f
bufio.(*Reader).collectFragments(0xc0024a3bf0?, 0x16?)
/usr/local/go/src/bufio/bufio.go:446 +0x74
bufio.(*Reader).ReadString(0xc0040e34a0?, 0x0?)
/usr/local/go/src/bufio/bufio.go:494 +0x2b
golang.org/x/tools/internal/jsonrpc2.(*headerStream).Read(0xc00000eba0, {0xfd23d0, 0xc000013b60})
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/jsonrpc2/stream.go:110 +0xb8
golang.org/x/tools/internal/jsonrpc2.(*conn).run(0xc00028c6e0, {0xfd23d0, 0xc000013b60}, 0xc00000ec18)
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/jsonrpc2/conn.go:196 +0xbc
created by golang.org/x/tools/internal/jsonrpc2.(*conn).Go
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/jsonrpc2/conn.go:189 +0xb0

goroutine 137 [select]:
golang.org/x/tools/internal/memoize.(*Handle).wait(0xc00545fce0, {0xfd23d0, 0xc001b1c810})
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/memoize/memoize.go:366 +0xea
golang.org/x/tools/internal/memoize.(*Handle).Get(0xc00545fce0, {0xfd23d0, 0xc001b1c810}, 0xc0048ee180, {0xfcbd80, 0xc00645f400})
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/memoize/memoize.go:294 +0x13f
golang.org/x/tools/internal/lsp/cache.(*packageHandle).check(0xc00645f400?, {0xfd23d0?, 0xc001b1c810?}, 0xc007b07b40?)
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/lsp/cache/check.go:271 +0x3b
golang.org/x/tools/internal/lsp/cache.(*snapshot).PackageForFile(0xc86260?, {0xfd2328, 0xc0002a86c0}, {0xc007b07b40, 0x40}, 0xc005012000?, 0x1)
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/lsp/cache/snapshot.go:503 +0x25c
golang.org/x/tools/internal/lsp.(*Server).codeAction(0xc33560?, {0xfd2328, 0xc0002a86c0}, 0xc0032c5300)
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/lsp/code_action.go:136 +0xfa5
golang.org/x/tools/internal/lsp.(*Server).CodeAction(0xc0003a0000?, {0xfd2328?, 0xc0002a86c0?}, 0xc33560?)
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/lsp/server_gen.go:16 +0x25
golang.org/x/tools/internal/lsp/protocol.serverDispatch({0xfd2328, 0xc0002a86c0}, {0xfdd140, 0xc000611440}, 0xc00514f0b0, {0xfd2590, 0xc0002a8640})
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/lsp/protocol/tsserver.go:454 +0x17a8
golang.org/x/tools/internal/lsp/protocol.ServerHandler.func1({0xfd2328, 0xc0002a86c0}, 0xc00514f0b0, {0xfd2590, 0xc0002a8640})
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/lsp/protocol/protocol.go:154 +0x90
golang.org/x/tools/internal/lsp/lsprpc.handshaker.func1({0xfd2328, 0xc0002a86c0}, 0xc00514f0b0, {0xfd2590?, 0xc0002a8640?})
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/lsp/lsprpc/lsprpc.go:506 +0xa43
golang.org/x/tools/internal/jsonrpc2.MustReplyHandler.func1({0xfd2328, 0xc0002a86c0}, 0xc0006177d0, {0xfd2590?, 0xc0002a8640?})
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/jsonrpc2/handler.go:35 +0xf6
golang.org/x/tools/internal/jsonrpc2.AsyncHandler.func1.2()
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/jsonrpc2/handler.go:103 +0xa3
created by golang.org/x/tools/internal/jsonrpc2.AsyncHandler.func1
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/jsonrpc2/handler.go:100 +0x20a

goroutine 138 [chan receive]:
golang.org/x/tools/internal/jsonrpc2.AsyncHandler.func1.2()
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/jsonrpc2/handler.go:101 +0x70
created by golang.org/x/tools/internal/jsonrpc2.AsyncHandler.func1
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/jsonrpc2/handler.go:100 +0x20a

goroutine 2789 [running]:
goroutine running on other thread; stack unavailable
created by golang.org/x/tools/internal/memoize.(*Handle).run
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/memoize/memoize.go:320 +0x1b8

goroutine 152 [select]:
golang.org/x/tools/internal/memoize.(*Handle).wait(0xc001a3aa80, {0xfd23d0, 0xc000470450})
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/memoize/memoize.go:366 +0xea
golang.org/x/tools/internal/memoize.(*Handle).run(0xc001a3aa80, {0xfd23d0, 0xc000470450}, 0xc000487500?, {0xfcbd80?, 0xc00039cf00})
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/memoize/memoize.go:357 +0x1cc
golang.org/x/tools/internal/memoize.(*Handle).Get(0xc001a3aa80, {0xfd23d0, 0xc000470450}, 0xc000408c80, {0xfcbd80, 0xc00039cf00})
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/memoize/memoize.go:292 +0x1b6
golang.org/x/tools/internal/lsp/cache.(*packageHandle).check(0xd25e40?, {0xfd23d0?, 0xc000470450?}, 0x0?)
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/lsp/cache/check.go:271 +0x3b
golang.org/x/tools/internal/lsp/cache.(*snapshot).ActivePackages(0xc00014d4a0?, {0xfd23d0, 0xc000470450})
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/lsp/cache/snapshot.go:943 +0xd2
golang.org/x/tools/internal/lsp/mod.DiagnosticsForMod({0xfd23d0, 0xc000470450}, {0xfd9a70, 0xc00039cf00}, {0x7fa04c33c590, 0xc0004aab70})
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/lsp/mod/diagnostics.go:89 +0x82d
golang.org/x/tools/internal/lsp/mod.Diagnostics({0xfd23d0, 0xc0004702a0}, {0xfd9a70, 0xc00039cf00})
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/lsp/mod/diagnostics.go:31 +0x33f
golang.org/x/tools/internal/lsp.(*Server).diagnose(0xc000611440, {0xfd2a28, 0xc00007b740}, {0xfd9a70, 0xc00039cf00}, 0x0)
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/lsp/diagnostics.go:197 +0x2cd
golang.org/x/tools/internal/lsp.(*Server).diagnoseDetached(0x0?, {0xfd9a70, 0xc00039cf00})
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/lsp/diagnostics.go:91 +0x78
golang.org/x/tools/internal/lsp.(*Server).addFolders.func3()
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/lsp/general.go:264 +0x45
created by golang.org/x/tools/internal/lsp.(*Server).addFolders
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/lsp/general.go:263 +0xafb

goroutine 49 [chan receive]:
golang.org/x/tools/internal/jsonrpc2.AsyncHandler.func1.2()
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/jsonrpc2/handler.go:101 +0x70
created by golang.org/x/tools/internal/jsonrpc2.AsyncHandler.func1
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/jsonrpc2/handler.go:100 +0x20a

goroutine 2302 [semacquire]:
sync.runtime_Semacquire(0xc00532ccc0?)
/usr/local/go/src/runtime/sema.go:56 +0x25
sync.(*WaitGroup).Wait(0xc005498f28?)
/usr/local/go/src/sync/waitgroup.go:136 +0x52
golang.org/x/tools/internal/lsp.(*Server).diagnoseSnapshots(0xc000611440, 0xc00039cf00?, 0x0)
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/lsp/diagnostics.go:104 +0x1f6
golang.org/x/tools/internal/lsp.(*Server).processModifications.func1()
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/lsp/text_synchronization.go:300 +0x45
created by golang.org/x/tools/internal/lsp.(*Server).processModifications
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/lsp/text_synchronization.go:299 +0x2db

goroutine 2408 [select]:
golang.org/x/tools/internal/memoize.(*Handle).wait(0xc00545fce0, {0xfd23d0, 0xc001528240})
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/memoize/memoize.go:366 +0xea
golang.org/x/tools/internal/memoize.(*Handle).run(0xc00545fce0, {0xfd23d0, 0xc001528240}, 0xc00089d800?, {0xfcbd80?, 0xc00645f400})
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/memoize/memoize.go:357 +0x1cc
golang.org/x/tools/internal/memoize.(*Handle).Get(0xc00545fce0, {0xfd23d0, 0xc001528240}, 0xc0048ee180, {0xfcbd80, 0xc00645f400})
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/memoize/memoize.go:292 +0x1b6
golang.org/x/tools/internal/lsp/cache.(*packageHandle).check(0xc00645f400?, {0xfd23d0?, 0xc001528240?}, 0xc007b07b40?)
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/lsp/cache/check.go:271 +0x3b
golang.org/x/tools/internal/lsp/cache.(*snapshot).PackagesForFile(0xc00645f400?, {0xfd23d0, 0xc001528000}, {0xc007b07b40, 0x40}, 0x0?, 0x0?)
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/lsp/cache/snapshot.go:465 +0x225
golang.org/x/tools/internal/lsp.(*Server).diagnoseChangedFiles(0xc000611440, {0xfd23d0, 0xc0043cdbc0}, {0xfd9a70, 0xc00645f400}, {0xc002b9c470, 0x1, 0x0?}, 0x0)
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/lsp/diagnostics.go:156 +0x5ae
golang.org/x/tools/internal/lsp.(*Server).diagnoseSnapshot(0xc000611440, {0xfd9a70, 0xc00645f400}, {0xc002b9c470, 0x1, 0x1}, 0x80?)
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/lsp/diagnostics.go:121 +0x1ff
golang.org/x/tools/internal/lsp.(*Server).diagnoseSnapshots.func1({0xfd9a70?, 0xc00645f400?}, {0xc002b9c470?, 0xb1196a?, 0x0?})
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/lsp/diagnostics.go:101 +0x85
created by golang.org/x/tools/internal/lsp.(*Server).diagnoseSnapshots
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/lsp/diagnostics.go:99 +0x90

goroutine 2277 [semacquire]:
sync.runtime_Semacquire(0xc00039cf00?)
/usr/local/go/src/runtime/sema.go:56 +0x25
sync.(*WaitGroup).Wait(0x0?)
/usr/local/go/src/sync/waitgroup.go:136 +0x52
golang.org/x/tools/internal/memoize.(*Generation).Destroy(0xc000408c80, {0xd92fe5, 0x16})
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/memoize/memoize.go:76 +0x65
created by golang.org/x/tools/internal/lsp/cache.(*View).invalidateContent
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/lsp/cache/view.go:745 +0x25c

goroutine 2229 [chan receive]:
golang.org/x/tools/internal/jsonrpc2.AsyncHandler.func1.2()
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/jsonrpc2/handler.go:101 +0x70
created by golang.org/x/tools/internal/jsonrpc2.AsyncHandler.func1
/home/karitham/go/pkg/mod/golang.org/x/tools@v0.1.9-0.20220114220130-fd7798718afd/internal/jsonrpc2/handler.go:100 +0x20a

runtime stack:
runtime.throw({0xd80865?, 0x1444a80?})
/usr/local/go/src/runtime/panic.go:992 +0x71
runtime.newstack()
/usr/local/go/src/runtime/stack.go:1101 +0x5cc
runtime.morestack()
/usr/local/go/src/runtime/asm_amd64.s:547 +0x8b
[Error - 4:46:55 PM] Connection to server got closed. Server will not be restarted.
[Error - 4:46:55 PM] Request textDocument/codeAction failed.
Error: Connection got disposed.
at Object.dispose (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:4909:25)
at Object.dispose (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:9694:35)
at LanguageClient2.handleConnectionClosed (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:11902:38)
at LanguageClient2.handleConnectionClosed (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:14311:15)
at closeHandler (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:11890:16)
at CallbackList.invoke (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:3025:35)
at Emitter.fire (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:3076:34)
at closeHandler (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:4171:24)
at CallbackList.invoke (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:3025:35)
at Emitter.fire (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:3076:34)
at StreamMessageReader.fireClose (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:3218:27)
at Socket. (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:3301:42)
at Socket.emit (events.js:327:22)
at Socket.EventEmitter.emit (domain.js:467:12)
at Pipe. (net.js:673:12)
[Error - 4:46:55 PM] Request textDocument/documentLink failed.
Error: Connection got disposed.
at Object.dispose (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:4909:25)
at Object.dispose (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:9694:35)
at LanguageClient2.handleConnectionClosed (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:11902:38)
at LanguageClient2.handleConnectionClosed (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:14311:15)
at closeHandler (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:11890:16)
at CallbackList.invoke (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:3025:35)
at Emitter.fire (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:3076:34)
at closeHandler (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:4171:24)
at CallbackList.invoke (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:3025:35)
at Emitter.fire (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:3076:34)
at StreamMessageReader.fireClose (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:3218:27)
at Socket. (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:3301:42)
at Socket.emit (events.js:327:22)
at Socket.EventEmitter.emit (domain.js:467:12)
at Pipe. (net.js:673:12)
[Error - 4:46:55 PM] Request textDocument/foldingRange failed.
Error: Connection got disposed.
at Object.dispose (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:4909:25)
at Object.dispose (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:9694:35)
at LanguageClient2.handleConnectionClosed (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:11902:38)
at LanguageClient2.handleConnectionClosed (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:14311:15)
at closeHandler (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:11890:16)
at CallbackList.invoke (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:3025:35)
at Emitter.fire (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:3076:34)
at closeHandler (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:4171:24)
at CallbackList.invoke (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:3025:35)
at Emitter.fire (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:3076:34)
at StreamMessageReader.fireClose (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:3218:27)
at Socket. (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:3301:42)
at Socket.emit (events.js:327:22)
at Socket.EventEmitter.emit (domain.js:467:12)
at Pipe. (net.js:673:12)
[Error - 4:46:55 PM] Request textDocument/codeLens failed.
Error: Connection got disposed.
at Object.dispose (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:4909:25)
at Object.dispose (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:9694:35)
at LanguageClient2.handleConnectionClosed (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:11902:38)
at LanguageClient2.handleConnectionClosed (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:14311:15)
at closeHandler (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:11890:16)
at CallbackList.invoke (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:3025:35)
at Emitter.fire (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:3076:34)
at closeHandler (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:4171:24)
at CallbackList.invoke (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:3025:35)
at Emitter.fire (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:3076:34)
at StreamMessageReader.fireClose (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:3218:27)
at Socket. (/home/karitham/.vscode/extensions/golang.go-0.31.0/dist/goMain.js:3301:42)
at Socket.emit (events.js:327:22)
at Socket.EventEmitter.emit (domain.js:467:12)
at Pipe. (net.js:673:12)

Failed to auto-collect gopls trace: unrecognized crash pattern.

Code that made gopls crash

type Doer interface {
	Do(*http.Request) (*http.Response, error)
}

func DoBind[Binder render.Binder,Doer Doer](d Doer, req *http.Request) (Binder, error) {
	rsp, err := d.Do(req)
	if err != nil {
		return *new(Binder), err
	}
	defer rsp.Body.Close()

	var binder Binder
	err = json.NewDecoder(rsp.Body).Decode(&binder)
	if err != nil {
		return *new(Binder), err
	}

	return binder, nil
}

render is from github.com/go-chi/render

@Karitham Karitham changed the title Jan 28, 2022
@Karitham
Copy link
Author

This sounds more like a gopls issue than a vscode-go one, but the extension directed me here

@hyangah
Copy link
Contributor

hyangah commented Jan 28, 2022

Thanks for the report @Karitham
Will transfer to the Go issue tracker since this is a gopls issue.

Would be nice if you can try gotip in the mean time to see if the problem is already fixed - many issues in go types were uncovered and addressed after beta1 - but I guess we will soon have another beta.

@hyangah hyangah changed the title Jan 28, 2022
@hyangah hyangah transferred this issue from golang/vscode-go Jan 28, 2022
@gopherbot gopherbot added Tools This label describes issues relating to any tools in the x/tools repository. gopls Issues related to the Go language server, gopls. labels Jan 28, 2022
@gopherbot gopherbot added this to the Unreleased milestone Jan 28, 2022
@findleyr
Copy link
Contributor

Thank you for the report. This is a dupe of #50321, and is fixed at tip.

@golang golang locked and limited conversation to collaborators Jan 28, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
FrozenDueToAge gopls Issues related to the Go language server, gopls. Tools This label describes issues relating to any tools in the x/tools repository.
Projects
None yet
Development

No branches or pull requests

4 participants