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: out of memory (crash) #42889

Closed
asan15 opened this issue Nov 30, 2020 · 3 comments
Closed

x/tools/gopls: out of memory (crash) #42889

asan15 opened this issue Nov 30, 2020 · 3 comments

Comments

@asan15
Copy link

@asan15 asan15 commented Nov 30, 2020

gopls version: v0.5.3
gopls flags: -rpc.trace

When I checked my code( jump to some other line), the gopls suddenly crashed
Below is the stack trace from the crash
:

fatal error: runtime: out of memory

runtime stack:
runtime.throw(0xde94d7, 0x16)
/usr/local/go/src/runtime/panic.go:1116 +0x72
runtime.sysMap(0xc040000000, 0x4000000, 0x139e998)
/usr/local/go/src/runtime/mem_linux.go:169 +0xc6
runtime.(*mheap).sysAlloc(0x1383d80, 0x400000, 0x7fffffffffff, 0x7fef60ff9db0)
/usr/local/go/src/runtime/malloc.go:727 +0x1e5
runtime.(*mheap).grow(0x1383d80, 0x1, 0x0)
/usr/local/go/src/runtime/mheap.go:1344 +0x85
runtime.(*mheap).allocSpan(0x1383d80, 0x1, 0xc00, 0x139e9a8, 0x1fe)
/usr/local/go/src/runtime/mheap.go:1160 +0x6b6
runtime.(*mheap).alloc.func1()
/usr/local/go/src/runtime/mheap.go:907 +0x65
runtime.systemstack(0x0)
/usr/local/go/src/runtime/asm_amd64.s:370 +0x66
runtime.mstart()
/usr/local/go/src/runtime/proc.go:1116

goroutine 31370 [running]:
runtime.systemstack_switch()
/usr/local/go/src/runtime/asm_amd64.s:330 fp=0xc034bef1d0 sp=0xc034bef1c8 pc=0x46eec0
runtime.(*mheap).alloc(0x1383d80, 0x1, 0x20010c, 0xc034bef2d8)
/usr/local/go/src/runtime/mheap.go:901 +0x85 fp=0xc034bef220 sp=0xc034bef1d0 pc=0x4297a5
runtime.(*mcentral).grow(0x1394e38, 0x0)
/usr/local/go/src/runtime/mcentral.go:506 +0x7a fp=0xc034bef268 sp=0xc034bef220 pc=0x41a9da
runtime.(*mcentral).cacheSpan(0x1394e38, 0x7fef581081c0)
/usr/local/go/src/runtime/mcentral.go:177 +0x3e5 fp=0xc034bef2e0 sp=0xc034bef268 pc=0x41a765
runtime.(*mcache).refill(0x7fef88af8108, 0xc)
/usr/local/go/src/runtime/mcache.go:142 +0xa5 fp=0xc034bef300 sp=0xc034bef2e0 pc=0x41a105
runtime.(*mcache).nextFree(0x7fef88af8108, 0xc034bef30c, 0x5a8c4a, 0xc03fffaba0, 0xc03ffcbf90)
/usr/local/go/src/runtime/malloc.go:880 +0x8d fp=0xc034bef338 sp=0xc034bef300 pc=0x40f0ad
runtime.mallocgc(0x50, 0xce5f60, 0xc000047f01, 0xc034bef970)
/usr/local/go/src/runtime/malloc.go:1061 +0x834 fp=0xc034bef3d8 sp=0xc034bef338 pc=0x40fa94
runtime.newobject(0xce5f60, 0xc03ffcbf90)
/usr/local/go/src/runtime/malloc.go:1195 +0x38 fp=0xc034bef408 sp=0xc034bef3d8 pc=0x40ff38
go/types.NewTypeName(...)
/usr/local/go/src/go/types/object.go:226
go/types.(*Checker).collectObjects(0xc03ffb2d80)
/usr/local/go/src/go/types/resolver.go:388 +0x1be5 fp=0xc034bef980 sp=0xc034bef408 pc=0x5a5305
go/types.(*Checker).checkFiles(0xc03ffb2d80, 0xc03fff00e0, 0x1b, 0x1b, 0x0, 0x0)
/usr/local/go/src/go/types/check.go:262 +0xab fp=0xc034bef9d0 sp=0xc034bef980 pc=0x583ccb
go/types.(*Checker).Files(...)
/usr/local/go/src/go/types/check.go:249
golang.org/x/tools/internal/lsp/cache.typeCheck(0xf094c0, 0xc03ffccbc0, 0xc00318dad0, 0xc0045b3a00, 0x2, 0xc03ffc9470, 0x0, 0x0, 0x0)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:430 +0x1273 fp=0xc034befe48 sp=0xc034bef9d0 pc=0xb16b13
golang.org/x/tools/internal/lsp/cache.(*snapshot).buildPackageHandle.func1(0xf094c0, 0xc03ffccbc0, 0xef57a0, 0xc00318dad0, 0x0, 0x0)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:96 +0x1bc fp=0xc034beff30 sp=0xc034befe48 pc=0xb4ae5c
golang.org/x/tools/internal/memoize.(*Handle).run.func1(0xc03ffe21a0, 0xf094c0, 0xc03ffccbc0, 0xc021206e40, 0xef57a0, 0xc00318dad0, 0xc03ffd0d80)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/memoize/memoize.go:322 +0xa8 fp=0xc034beffa8 sp=0xc034beff30 pc=0xb0ed08
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:1374 +0x1 fp=0xc034beffb0 sp=0xc034beffa8 pc=0x470ca1
created by golang.org/x/tools/internal/memoize.(*Handle).run
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/memoize/memoize.go:315 +0x185

goroutine 1 [chan receive]:
golang.org/x/tools/internal/lsp/lsprpc.(*StreamServer).ServeStream(0xc000293600, 0xf09580, 0xc0002b0ab0, 0xf0de40, 0xc0002ae280, 0x0, 0x0)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/lsprpc/lsprpc.go:88 +0x325
golang.org/x/tools/internal/lsp/cmd.(*Serve).Run(0xc00025a2b0, 0xf09580, 0xc0002b1650, 0xc0000320b0, 0x0, 0x0, 0x0, 0x0)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cmd/serve.go:110 +0x6ec
golang.org/x/tools/internal/tool.Run(0xf09580, 0xc0002b1650, 0xf0d0c0, 0xc00025a2b0, 0xc0000320b0, 0x0, 0x0, 0x0, 0x0)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/tool/tool.go:152 +0x2a2
golang.org/x/tools/internal/lsp/cmd.(*Application).Run(0xc00025a280, 0xf09500, 0xc000038070, 0xc0000320b0, 0x0, 0x0, 0x0, 0x0)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cmd/cmd.go:147 +0x347
golang.org/x/tools/internal/tool.Run(0xf09500, 0xc000038070, 0xf0d080, 0xc00025a280, 0xc0000320a0, 0x2, 0x2, 0x0, 0x0)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/tool/tool.go:152 +0x2a2
golang.org/x/tools/internal/tool.Main(0xf09500, 0xc000038070, 0xf0d080, 0xc00025a280, 0xc0000320a0, 0x2, 0x2)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/tool/tool.go:91 +0x138
main.main()
/home/ubuntu/go/pkg/mod/golang.org/x/tools/gopls@v0.5.3/main.go:25 +0xdb

goroutine 31457 [runnable]:
golang.org/x/tools/internal/lsp/cache.(*snapshot).buildPackageHandle.func1.1(0xf094c0, 0xc03ffccc00, 0xc00318dad0, 0xc03fe4da00, 0xc034cd22a0)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:89
created by golang.org/x/tools/internal/lsp/cache.(*snapshot).buildPackageHandle.func1
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:89 +0x13f

goroutine 31462 [runnable]:
golang.org/x/tools/internal/lsp/cache.(*snapshot).buildPackageHandle.func1.1(0xf094c0, 0xc03ffccc00, 0xc00318dad0, 0xc03fe4da00, 0xc034cd2240)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:89
created by golang.org/x/tools/internal/lsp/cache.(*snapshot).buildPackageHandle.func1
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:89 +0x13f

goroutine 78 [select]:
golang.org/x/tools/internal/fakenet.(*connFeeder).do(0xc0002b16e0, 0xc0002b6000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/fakenet/conn.go:103 +0x1e5
golang.org/x/tools/internal/fakenet.(*fakeConn).Read(0xc0002b4c80, 0xc0002b6000, 0x1000, 0x1000, 0x0, 0x0, 0xc008373b40)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/fakenet/conn.go:67 +0x4d
bufio.(*Reader).fill(0xc0002a7620)
/usr/local/go/src/bufio/bufio.go:101 +0x105
bufio.(*Reader).ReadSlice(0xc0002a7620, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:360 +0x3d
bufio.(*Reader).collectFragments(0xc0002a7620, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/usr/local/go/src/bufio/bufio.go:435 +0x7a
bufio.(*Reader).ReadString(0xc0002a7620, 0xa, 0x8f00000000000000, 0xef51a0, 0xc00006a0c0, 0xc008373c60)
/usr/local/go/src/bufio/bufio.go:483 +0x4c
golang.org/x/tools/internal/jsonrpc2.(*headerStream).Read(0xc000293660, 0xf09580, 0xc0002b0ab0, 0x0, 0x0, 0x0, 0x0, 0x0)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/jsonrpc2/stream.go:110 +0x98
golang.org/x/tools/internal/lsp/protocol.(*loggingStream).Read(0xc0002b1740, 0xf09580, 0xc0002b0ab0, 0x7fef60687d20, 0xc006bf2360, 0x0, 0x0, 0xf09580)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/protocol/log.go:26 +0x51
golang.org/x/tools/internal/jsonrpc2.(*conn).run(0xc0002ae280, 0xf09580, 0xc0002b0ab0, 0xc0001610e0)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/jsonrpc2/conn.go:196 +0xa2
created by golang.org/x/tools/internal/jsonrpc2.(*conn).Go
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/jsonrpc2/conn.go:189 +0x5d

goroutine 74 [chan receive]:
golang.org/x/tools/internal/lsp/debug.(*Instance).MonitorMemory.func1(0xc0002ae1e0, 0xc00029e668, 0xc0000ee300, 0xf09580, 0xc0002b1650)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/debug/serve.go:412 +0x65
created by golang.org/x/tools/internal/lsp/debug.(*Instance).MonitorMemory
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/debug/serve.go:410 +0x99

goroutine 75 [syscall]:
syscall.Syscall(0x0, 0x0, 0xc0002b6000, 0x1000, 0x55, 0x1000, 0x0)
/usr/local/go/src/syscall/asm_linux_amd64.s:18 +0x5
syscall.read(0x0, 0xc0002b6000, 0x1000, 0x1000, 0xc0001ccf28, 0x43bd3c, 0xc0001ccd38)
/usr/local/go/src/syscall/zsyscall_linux_amd64.go:686 +0x5a
syscall.Read(0x0, 0xc0002b6000, 0x1000, 0x1000, 0x7ffff800000, 0x2, 0xc000078068)
/usr/local/go/src/syscall/syscall_unix.go:187 +0x49
internal/poll.ignoringEINTR(0xe2cfe8, 0x0, 0xc0002b6000, 0x1000, 0x1000, 0x2, 0x1000000000000, 0x0)
/usr/local/go/src/internal/poll/fd_unix.go:567 +0x52
internal/poll.(*FD).Read(0xc000078060, 0xc0002b6000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_unix.go:155 +0x149
os.(*File).read(...)
/usr/local/go/src/os/file_posix.go:31
os.(*File).Read(0xc000010018, 0xc0002b6000, 0x1000, 0x1000, 0xc0001cceec, 0x2, 0x2)
/usr/local/go/src/os/file.go:116 +0x71
golang.org/x/tools/internal/fakenet.(*connFeeder).run(0xc0002b16e0)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/fakenet/conn.go:121 +0x116
created by golang.org/x/tools/internal/fakenet.NewConn
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/fakenet/conn.go:26 +0x2e9

goroutine 76 [select]:
golang.org/x/tools/internal/fakenet.(*connFeeder).run(0xc0002b1710)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/fakenet/conn.go:115 +0xd2
created by golang.org/x/tools/internal/fakenet.NewConn
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/fakenet/conn.go:27 +0x30f

goroutine 2128 [semacquire]:
sync.runtime_Semacquire(0xc000c6ac18)
/usr/local/go/src/runtime/sema.go:56 +0x45
sync.(*WaitGroup).Wait(0xc000c6ac10)
/usr/local/go/src/sync/waitgroup.go:130 +0x65
golang.org/x/tools/internal/lsp.(*Server).didModifyFiles.func3(0xc000c6ac10, 0xc0031e8858, 0x1, 0x1)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/text_synchronization.go:244 +0x2b
created by golang.org/x/tools/internal/lsp.(*Server).didModifyFiles
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/text_synchronization.go:243 +0x66b

goroutine 2127 [select]:
golang.org/x/tools/internal/memoize.(*Handle).wait(0xc03ffd0ea0, 0xf09580, 0xc00833ad80, 0x0, 0x0, 0x0, 0x0)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/memoize/memoize.go:361 +0x11d
golang.org/x/tools/internal/memoize.(*Handle).run(0xc03ffd0ea0, 0xf09580, 0xc00833ad80, 0xc005dbb530, 0xef57a0, 0xc00318dad0, 0xc03848a3b0, 0x180, 0xc000047ba8, 0xc0087cf800)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/memoize/memoize.go:352 +0x1b0
golang.org/x/tools/internal/memoize.(*Handle).Get(0xc03ffd0ea0, 0xf09580, 0xc00833ad80, 0xc005dbb530, 0xef57a0, 0xc00318dad0, 0x0, 0x0, 0x0, 0x0)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/memoize/memoize.go:287 +0x20d
golang.org/x/tools/internal/lsp/cache.(*packageHandle).check(0xc03ffd0cc0, 0xf09580, 0xc00833ad80, 0xc00318dad0, 0x71, 0x2, 0xc03ffd0cc0)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:227 +0x65
golang.org/x/tools/internal/lsp/cache.(*snapshot).checkedPackage(0xc00318dad0, 0xf09580, 0xc00833ad80, 0xc000cebe80, 0x71, 0x2, 0xc03fcfc6e0, 0x0, 0x0)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/snapshot.go:490 +0xc6
golang.org/x/tools/internal/lsp/cache.(*snapshot).WorkspacePackages(0xc00318dad0, 0xf09580, 0xc00833ad80, 0xc00318dad0, 0xc034bd1140, 0x0, 0x0, 0xf09580)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/snapshot.go:613 +0x15f
golang.org/x/tools/internal/lsp.(*Server).diagnose(0xc00028e000, 0xf094c0, 0xc005dc06c0, 0xf1b0a0, 0xc00318dad0, 0xc003023b00, 0x0, 0x0)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/diagnostics.go:184 +0x668
golang.org/x/tools/internal/lsp.(*Server).diagnoseSnapshot(0xc00028e000, 0xf1b0a0, 0xc00318dad0, 0xc003293700, 0x1, 0x1, 0xc0055ef800)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/diagnostics.go:111 +0x3c6
golang.org/x/tools/internal/lsp.(*Server).didModifyFiles.func2(0xc000c6ac10, 0xc00028e000, 0x0, 0xf1b0a0, 0xc00318dad0, 0xc003293700, 0x1, 0x1)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/text_synchronization.go:239 +0xa5
created by golang.org/x/tools/internal/lsp.(*Server).didModifyFiles
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/text_synchronization.go:237 +0x56f

goroutine 31453 [semacquire]:
sync.runtime_Semacquire(0xc03fe4da18)
/usr/local/go/src/runtime/sema.go:56 +0x45
sync.(*WaitGroup).Wait(0xc03fe4da10)
/usr/local/go/src/sync/waitgroup.go:130 +0x65
golang.org/x/tools/internal/lsp/cache.typeCheck(0xf094c0, 0xc03ffccc00, 0xc00318dad0, 0xc0046e3520, 0x1, 0xc03ffc94d0, 0x0, 0x0, 0x0)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:347 +0xb1a
golang.org/x/tools/internal/lsp/cache.(*snapshot).buildPackageHandle.func1(0xf094c0, 0xc03ffccc00, 0xef57a0, 0xc00318dad0, 0x0, 0x0)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:96 +0x1bc
golang.org/x/tools/internal/memoize.(*Handle).run.func1(0xc03ffe2230, 0xf094c0, 0xc03ffccc00, 0xc021207000, 0xef57a0, 0xc00318dad0, 0xc03ffd0e40)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/memoize/memoize.go:322 +0xa8
created by golang.org/x/tools/internal/memoize.(*Handle).run
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/memoize/memoize.go:315 +0x185

goroutine 31463 [runnable]:
golang.org/x/tools/internal/lsp/cache.(*snapshot).buildPackageHandle.func1.1(0xf094c0, 0xc03ffccc00, 0xc00318dad0, 0xc03fe4da00, 0xc034cd24e0)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:89
created by golang.org/x/tools/internal/lsp/cache.(*snapshot).buildPackageHandle.func1
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:89 +0x13f

goroutine 31466 [runnable]:
golang.org/x/tools/internal/lsp/cache.(*snapshot).buildPackageHandle.func1.1(0xf094c0, 0xc03ffccc00, 0xc00318dad0, 0xc03fe4da00, 0xc03ffd0d20)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:89
created by golang.org/x/tools/internal/lsp/cache.(*snapshot).buildPackageHandle.func1
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:89 +0x13f

goroutine 31461 [runnable]:
golang.org/x/tools/internal/lsp/cache.(*snapshot).buildPackageHandle.func1.1(0xf094c0, 0xc03ffccc00, 0xc00318dad0, 0xc03fe4da00, 0xc034cd33e0)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:89
created by golang.org/x/tools/internal/lsp/cache.(*snapshot).buildPackageHandle.func1
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:89 +0x13f

goroutine 31469 [runnable]:
golang.org/x/tools/internal/lsp/cache.(*snapshot).buildPackageHandle.func1.1(0xf094c0, 0xc03ffccc00, 0xc00318dad0, 0xc03fe4da00, 0xc034cd34a0)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:89
created by golang.org/x/tools/internal/lsp/cache.(*snapshot).buildPackageHandle.func1
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:89 +0x13f

goroutine 31470 [runnable]:
golang.org/x/tools/internal/lsp/cache.typeCheck.func1(0xc03fe4da10, 0xc00318dad0, 0xc03ffe2240, 0xc03ffe2280, 0x1, 0x1, 0x1, 0xc03fcfcf00, 0xc021207980, 0xc03ffe2270, ...)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:313
created by golang.org/x/tools/internal/lsp/cache.typeCheck
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:313 +0x9d5

goroutine 31454 [runnable]:
golang.org/x/tools/internal/lsp/cache.(*snapshot).buildPackageHandle.func1.1(0xf094c0, 0xc03ffccc00, 0xc00318dad0, 0xc03fe4da00, 0xc034cd2540)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:89
created by golang.org/x/tools/internal/lsp/cache.(*snapshot).buildPackageHandle.func1
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:89 +0x13f

goroutine 31460 [runnable]:
golang.org/x/tools/internal/lsp/cache.(*snapshot).buildPackageHandle.func1.1(0xf094c0, 0xc03ffccc00, 0xc00318dad0, 0xc03fe4da00, 0xc0009012c0)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:89
created by golang.org/x/tools/internal/lsp/cache.(*snapshot).buildPackageHandle.func1
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:89 +0x13f

goroutine 31364 [select]:
golang.org/x/tools/internal/memoize.(*Handle).wait(0xc03ffd0e40, 0xf094c0, 0xc03ffccb80, 0x0, 0x0, 0x0, 0x0)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/memoize/memoize.go:361 +0x11d
golang.org/x/tools/internal/memoize.(*Handle).run(0xc03ffd0e40, 0xf094c0, 0xc03ffccb80, 0xc005dbb530, 0xef57a0, 0xc00318dad0, 0xc000020000, 0xcebea0, 0xd41100, 0x7fef601fbe98)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/memoize/memoize.go:352 +0x1b0
golang.org/x/tools/internal/memoize.(*Handle).Get(0xc03ffd0e40, 0xf094c0, 0xc03ffccb80, 0xc005dbb530, 0xef57a0, 0xc00318dad0, 0x0, 0x0, 0x0, 0x0)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/memoize/memoize.go:287 +0x20d
golang.org/x/tools/internal/lsp/cache.(*packageHandle).check(0xc03ffd0de0, 0xf094c0, 0xc03ffccb80, 0xc00318dad0, 0xc0040b3cc0, 0x0, 0x0)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:227 +0x65
golang.org/x/tools/internal/lsp/cache.(*snapshot).buildPackageHandle.func1.1(0xf094c0, 0xc03ffccb80, 0xc00318dad0, 0xc03fe4d9b0, 0xc03ffd0de0)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:90 +0x49
created by golang.org/x/tools/internal/lsp/cache.(*snapshot).buildPackageHandle.func1
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:89 +0x13f

goroutine 31464 [runnable]:
golang.org/x/tools/internal/lsp/cache.(*snapshot).buildPackageHandle.func1.1(0xf094c0, 0xc03ffccc00, 0xc00318dad0, 0xc03fe4da00, 0xc00098fe60)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:89
created by golang.org/x/tools/internal/lsp/cache.(*snapshot).buildPackageHandle.func1
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:89 +0x13f

goroutine 31360 [select]:
golang.org/x/tools/internal/memoize.(*Handle).wait(0xc03ffd0d80, 0xf09580, 0xc03ffc95c0, 0x0, 0x0, 0x0, 0x0)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/memoize/memoize.go:361 +0x11d
golang.org/x/tools/internal/memoize.(*Handle).Get(0xc03ffd0d80, 0xf09580, 0xc03ffc95c0, 0xc005dbb530, 0xef57a0, 0xc00318dad0, 0x0, 0x0, 0x0, 0x0)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/memoize/memoize.go:289 +0x16d
golang.org/x/tools/internal/lsp/cache.(*packageHandle).check(0xc03ffd0d20, 0xf09580, 0xc03ffc95c0, 0xc00318dad0, 0xc03ffd0d01, 0xc03ffb2c60, 0x7fef58108468)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:227 +0x65
golang.org/x/tools/internal/lsp/cache.typeCheck.func4(0xc014b112c1, 0x32, 0xcdbcc0, 0x1, 0x0)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:415 +0x128
golang.org/x/tools/internal/lsp/cache.importerFunc.Import(0xc03ffc9d40, 0xc014b112c1, 0x32, 0x0, 0x0, 0x0)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:548 +0x3a
go/types.(*Checker).importPackage(0xc03ffb2a20, 0x195aa44, 0xc014b112c1, 0x32, 0xc002f75b67, 0x46, 0x0)
/usr/local/go/src/go/types/resolver.go:159 +0x6bd
go/types.(*Checker).collectObjects(0xc03ffb2a20)
/usr/local/go/src/go/types/resolver.go:255 +0x7ed
go/types.(*Checker).checkFiles(0xc03ffb2a20, 0xc03fef2678, 0x1, 0x1, 0x0, 0x0)
/usr/local/go/src/go/types/check.go:262 +0xab
go/types.(*Checker).Files(...)
/usr/local/go/src/go/types/check.go:249
golang.org/x/tools/internal/lsp/cache.typeCheck(0xf094c0, 0xc03ffccb80, 0xc00318dad0, 0xc0046e3450, 0x2, 0xc03ffc9440, 0x0, 0x0, 0x0)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:430 +0x1273
golang.org/x/tools/internal/lsp/cache.(*snapshot).buildPackageHandle.func1(0xf094c0, 0xc03ffccb80, 0xef57a0, 0xc00318dad0, 0x2, 0xc0026d94d0)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:96 +0x1bc
golang.org/x/tools/internal/memoize.(*Handle).run.func1(0xc03ffe20f0, 0xf094c0, 0xc03ffccb80, 0xc021207020, 0xef57a0, 0xc00318dad0, 0xc03ffd0ea0)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/memoize/memoize.go:322 +0xa8
created by golang.org/x/tools/internal/memoize.(*Handle).run
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/memoize/memoize.go:315 +0x185

goroutine 31468 [runnable]:
golang.org/x/tools/internal/lsp/cache.(*snapshot).buildPackageHandle.func1.1(0xf094c0, 0xc03ffccc00, 0xc00318dad0, 0xc03fe4da00, 0xc034cd3320)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:89
created by golang.org/x/tools/internal/lsp/cache.(*snapshot).buildPackageHandle.func1
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:89 +0x13f

goroutine 31467 [runnable]:
golang.org/x/tools/internal/lsp/cache.(*snapshot).buildPackageHandle.func1.1(0xf094c0, 0xc03ffccc00, 0xc00318dad0, 0xc03fe4da00, 0xc034cd2480)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:89
created by golang.org/x/tools/internal/lsp/cache.(*snapshot).buildPackageHandle.func1
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:89 +0x13f

goroutine 31459 [runnable]:
golang.org/x/tools/internal/lsp/cache.(*snapshot).buildPackageHandle.func1.1(0xf094c0, 0xc03ffccc00, 0xc00318dad0, 0xc03fe4da00, 0xc034cd2420)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:89
created by golang.org/x/tools/internal/lsp/cache.(*snapshot).buildPackageHandle.func1
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:89 +0x13f

goroutine 31362 [select]:
golang.org/x/tools/internal/memoize.(*Handle).wait(0xc03ffd0d80, 0xf094c0, 0xc03ffccb80, 0x0, 0x0, 0x0, 0x0)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/memoize/memoize.go:361 +0x11d
golang.org/x/tools/internal/memoize.(*Handle).run(0xc03ffd0d80, 0xf094c0, 0xc03ffccb80, 0xc005dbb530, 0xef57a0, 0xc00318dad0, 0xc000020000, 0xcebea0, 0xd41100, 0x7fef601fbe98)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/memoize/memoize.go:352 +0x1b0
golang.org/x/tools/internal/memoize.(*Handle).Get(0xc03ffd0d80, 0xf094c0, 0xc03ffccb80, 0xc005dbb530, 0xef57a0, 0xc00318dad0, 0x0, 0x0, 0x0, 0x0)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/memoize/memoize.go:287 +0x20d
golang.org/x/tools/internal/lsp/cache.(*packageHandle).check(0xc03ffd0d20, 0xf094c0, 0xc03ffccb80, 0xc00318dad0, 0xc03fcfc6e0, 0xc0211ff2e0, 0xc0211ff300)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:227 +0x65
golang.org/x/tools/internal/lsp/cache.(*snapshot).buildPackageHandle.func1.1(0xf094c0, 0xc03ffccb80, 0xc00318dad0, 0xc03fe4d9b0, 0xc03ffd0d20)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:90 +0x49
created by golang.org/x/tools/internal/lsp/cache.(*snapshot).buildPackageHandle.func1
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:89 +0x13f

goroutine 31455 [runnable]:
golang.org/x/tools/internal/lsp/cache.(*snapshot).buildPackageHandle.func1.1(0xf094c0, 0xc03ffccc00, 0xc00318dad0, 0xc03fe4da00, 0xc034cd2300)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:89
created by golang.org/x/tools/internal/lsp/cache.(*snapshot).buildPackageHandle.func1
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:89 +0x13f

goroutine 31458 [runnable]:
golang.org/x/tools/internal/lsp/cache.(*snapshot).buildPackageHandle.func1.1(0xf094c0, 0xc03ffccc00, 0xc00318dad0, 0xc03fe4da00, 0xc034cd2660)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:89
created by golang.org/x/tools/internal/lsp/cache.(*snapshot).buildPackageHandle.func1
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:89 +0x13f

goroutine 31465 [runnable]:
golang.org/x/tools/internal/lsp/cache.(*snapshot).buildPackageHandle.func1.1(0xf094c0, 0xc03ffccc00, 0xc00318dad0, 0xc03fe4da00, 0xc0009af260)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:89
created by golang.org/x/tools/internal/lsp/cache.(*snapshot).buildPackageHandle.func1
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:89 +0x13f

goroutine 31456 [runnable]:
golang.org/x/tools/internal/lsp/cache.(*snapshot).buildPackageHandle.func1.1(0xf094c0, 0xc03ffccc00, 0xc00318dad0, 0xc03fe4da00, 0xc034cd3560)
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:89
created by golang.org/x/tools/internal/lsp/cache.(*snapshot).buildPackageHandle.func1
/home/ubuntu/go/pkg/mod/golang.org/x/tools@v0.0.0-20201110032815-ae45d7cf37a9/internal/lsp/cache/check.go:89 +0x13f
[Error - 10:25:42 AM] Connection to server got closed. Server will not be restarted.

@hyangah hyangah changed the title gopls: automated issue report (crash) x/tools/gopls: out of memory (crash) Nov 30, 2020
@hyangah
Copy link
Contributor

@hyangah hyangah commented Nov 30, 2020

cc @stamblerre @heschik

@asan15 thanks for the report. I am transferring this to the gopls issue tracker.

@hyangah hyangah transferred this issue from golang/vscode-go Nov 30, 2020
@gopherbot gopherbot added this to the Unreleased milestone Nov 30, 2020
@stamblerre stamblerre added this to Needs Triage in vscode-go: gopls by default via automation Nov 30, 2020
@stamblerre
Copy link
Contributor

@stamblerre stamblerre commented Dec 1, 2020

@asan15: Could you follow the steps for troubleshooting memory usage and share the heap profiles (https://github.com/golang/tools/blob/master/gopls/doc/troubleshooting.md#memory-usage)?

@stamblerre stamblerre moved this from Needs Triage to In progress in vscode-go: gopls by default Dec 2, 2020
@stamblerre stamblerre moved this from In progress to Waiting for Info in vscode-go: gopls by default Dec 2, 2020
@stamblerre stamblerre moved this from Waiting for Info to In progress in vscode-go: gopls by default Dec 4, 2020
@stamblerre stamblerre moved this from In progress to Waiting for Info in vscode-go: gopls by default Dec 4, 2020
@golang golang deleted a comment from gopherbot Dec 16, 2020
@gopherbot
Copy link

@gopherbot gopherbot commented Jan 1, 2021

Timed out in state WaitingForInfo. Closing.

(I am just a bot, though. Please speak up if this is a mistake or you have the requested information.)

@gopherbot gopherbot closed this Jan 1, 2021
vscode-go: gopls by default automation moved this from Waiting for Info to Done Jan 1, 2021
@stamblerre stamblerre removed this from the gopls/vscode-go milestone Jan 5, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
4 participants