goroutine profile: total 57
20 @ 0x43be05 0x44bde5 0xb61d7d 0xb6150d 0xb68405 0xb9b549 0x470e21
#	0xb61d7c	golang.org/x/tools/internal/memoize.(*Handle).wait+0x11c				/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/memoize/memoize.go:339
#	0xb6150c	golang.org/x/tools/internal/memoize.(*Handle).Get+0x16c					/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/memoize/memoize.go:277
#	0xb68404	golang.org/x/tools/internal/lsp/cache.(*packageHandle).check+0x64			/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/lsp/cache/check.go:207
#	0xb9b548	golang.org/x/tools/internal/lsp/cache.(*snapshot).buildPackageHandle.func1.1+0x48	/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/lsp/cache/check.go:90

13 @ 0x43be05 0x44bde5 0xb61d7d 0xb6150d 0xb68405 0xb9c0e8 0xb6b0da 0x5a37bd 0x5a410d 0x583ecb 0xb69b13 0xb69ae9 0xb9b73c 0xb620c8 0x470e21
#	0xb61d7c	golang.org/x/tools/internal/memoize.(*Handle).wait+0x11c				/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/memoize/memoize.go:339
#	0xb6150c	golang.org/x/tools/internal/memoize.(*Handle).Get+0x16c					/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/memoize/memoize.go:277
#	0xb68404	golang.org/x/tools/internal/lsp/cache.(*packageHandle).check+0x64			/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/lsp/cache/check.go:207
#	0xb9c0e7	golang.org/x/tools/internal/lsp/cache.typeCheck.func4+0x127				/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/lsp/cache/check.go:395
#	0xb6b0d9	golang.org/x/tools/internal/lsp/cache.importerFunc.Import+0x39				/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/lsp/cache/check.go:528
#	0x5a37bc	go/types.(*Checker).importPackage+0x6bc							/home/geoff/go/src/go/types/resolver.go:159
#	0x5a410c	go/types.(*Checker).collectObjects+0x7ec						/home/geoff/go/src/go/types/resolver.go:255
#	0x583eca	go/types.(*Checker).checkFiles+0xaa							/home/geoff/go/src/go/types/check.go:262
#	0xb69b12	go/types.(*Checker).Files+0x1232							/home/geoff/go/src/go/types/check.go:249
#	0xb69ae8	golang.org/x/tools/internal/lsp/cache.typeCheck+0x1208					/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/lsp/cache/check.go:410
#	0xb9b73b	golang.org/x/tools/internal/lsp/cache.(*snapshot).buildPackageHandle.func1+0x1bb	/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/lsp/cache/check.go:96
#	0xb620c7	golang.org/x/tools/internal/memoize.(*Handle).run.func1+0xa7				/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/memoize/memoize.go:310

13 @ 0x43be05 0x44bde5 0xb61d7d 0xb61bf0 0xb615ad 0xb68405 0xb9b549 0x470e21
#	0xb61d7c	golang.org/x/tools/internal/memoize.(*Handle).wait+0x11c				/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/memoize/memoize.go:339
#	0xb61bef	golang.org/x/tools/internal/memoize.(*Handle).run+0x1af					/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/memoize/memoize.go:330
#	0xb615ac	golang.org/x/tools/internal/memoize.(*Handle).Get+0x20c					/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/memoize/memoize.go:275
#	0xb68404	golang.org/x/tools/internal/lsp/cache.(*packageHandle).check+0x64			/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/lsp/cache/check.go:207
#	0xb9b548	golang.org/x/tools/internal/lsp/cache.(*snapshot).buildPackageHandle.func1.1+0x48	/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/lsp/cache/check.go:90

1 @ 0x43be05 0x4085e5 0x40822b 0xbdbbc5 0xbf44ac 0xafeee2 0xbe6670 0xafeee2 0xafea78 0xc0471b 0x43ba09 0x470e21
#	0xbdbbc4	golang.org/x/tools/internal/lsp/lsprpc.(*StreamServer).ServeStream+0x324	/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/lsp/lsprpc/lsprpc.go:88
#	0xbf44ab	golang.org/x/tools/internal/lsp/cmd.(*Serve).Run+0x6eb				/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/lsp/cmd/serve.go:110
#	0xafeee1	golang.org/x/tools/internal/tool.Run+0x2a1					/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/tool/tool.go:152
#	0xbe666f	golang.org/x/tools/internal/lsp/cmd.(*Application).Run+0x2cf			/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/lsp/cmd/cmd.go:152
#	0xafeee1	golang.org/x/tools/internal/tool.Run+0x2a1					/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/tool/tool.go:152
#	0xafea77	golang.org/x/tools/internal/tool.Main+0x137					/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/tool/tool.go:91
#	0xc0471a	main.main+0xda									/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools/gopls@v0.5.1/main.go:25
#	0x43ba08	runtime.main+0x208								/home/geoff/go/src/runtime/proc.go:204

1 @ 0x43be05 0x43471b 0x46b495 0x4a4005 0x4a6bfc 0x4a6bde 0x636a05 0x652d92 0x651b65 0xa6dea6 0xbacea5 0xbaceb0 0x470e21
#	0x46b494	internal/poll.runtime_pollWait+0x54					/home/geoff/go/src/runtime/netpoll.go:220
#	0x4a4004	internal/poll.(*pollDesc).wait+0x44					/home/geoff/go/src/internal/poll/fd_poll_runtime.go:87
#	0x4a6bfb	internal/poll.(*pollDesc).waitRead+0x1fb				/home/geoff/go/src/internal/poll/fd_poll_runtime.go:92
#	0x4a6bdd	internal/poll.(*FD).Accept+0x1dd					/home/geoff/go/src/internal/poll/fd_unix.go:394
#	0x636a04	net.(*netFD).accept+0x44						/home/geoff/go/src/net/fd_unix.go:172
#	0x652d91	net.(*TCPListener).accept+0x31						/home/geoff/go/src/net/tcpsock_posix.go:139
#	0x651b64	net.(*TCPListener).Accept+0x64						/home/geoff/go/src/net/tcpsock.go:261
#	0xa6dea5	net/http.(*Server).Serve+0x265						/home/geoff/go/src/net/http/server.go:2937
#	0xbacea4	net/http.Serve+0x7a4							/home/geoff/go/src/net/http/server.go:2498
#	0xbaceaf	golang.org/x/tools/internal/lsp/debug.(*Instance).Serve.func1+0x7af	/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/lsp/debug/serve.go:397

1 @ 0x43be05 0x44bde5 0xb61d7d 0xb61bf0 0xb615ad 0xb68405 0xb887a6 0xb89c9f 0xb752fe 0xb0285a 0xbbf428 0xbbefd4 0xbd799f 0x470e21
#	0xb61d7c	golang.org/x/tools/internal/memoize.(*Handle).wait+0x11c			/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/memoize/memoize.go:339
#	0xb61bef	golang.org/x/tools/internal/memoize.(*Handle).run+0x1af				/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/memoize/memoize.go:330
#	0xb615ac	golang.org/x/tools/internal/memoize.(*Handle).Get+0x20c				/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/memoize/memoize.go:275
#	0xb68404	golang.org/x/tools/internal/lsp/cache.(*packageHandle).check+0x64		/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/lsp/cache/check.go:207
#	0xb887a5	golang.org/x/tools/internal/lsp/cache.(*snapshot).checkedPackage+0xc5		/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/lsp/cache/snapshot.go:415
#	0xb89c9e	golang.org/x/tools/internal/lsp/cache.(*snapshot).WorkspacePackages+0x15e	/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/lsp/cache/snapshot.go:545
#	0xb752fd	golang.org/x/tools/internal/lsp/cache.(*snapshot).ModTidy+0xdd			/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/lsp/cache/mod_tidy.go:64
#	0xb02859	golang.org/x/tools/internal/lsp/mod.Diagnostics+0x2f9				/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/lsp/mod/diagnostics.go:38
#	0xbbf427	golang.org/x/tools/internal/lsp.(*Server).diagnose+0x2c7			/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/lsp/diagnostics.go:84
#	0xbbefd3	golang.org/x/tools/internal/lsp.(*Server).diagnoseDetached+0xd3			/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/lsp/diagnostics.go:36
#	0xbd799e	golang.org/x/tools/internal/lsp.(*Server).addFolders.func3+0x3e			/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/lsp/general.go:224

1 @ 0x43be05 0x44bde5 0xbbf337 0xbbf107 0xbd7f0b 0x470e21
#	0xbbf336	golang.org/x/tools/internal/lsp.(*Server).diagnose+0x1d6		/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/lsp/diagnostics.go:59
#	0xbbf106	golang.org/x/tools/internal/lsp.(*Server).diagnoseSnapshot+0x86		/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/lsp/diagnostics.go:48
#	0xbd7f0a	golang.org/x/tools/internal/lsp.(*Server).didModifyFiles.func2+0x6a	/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/lsp/text_synchronization.go:282

1 @ 0x43be05 0x44bde5 0xbe2b85 0xbe26cd 0x5e0685 0x5e13dd 0x5e187a 0x5e1d2c 0x669278 0x67f2f1 0x665be2 0x470e21
#	0xbe2b84	golang.org/x/tools/internal/fakenet.(*connFeeder).do+0x1e4		/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/fakenet/conn.go:103
#	0xbe26cc	golang.org/x/tools/internal/fakenet.(*fakeConn).Read+0x4c		/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/fakenet/conn.go:67
#	0x5e0684	bufio.(*Reader).fill+0x104						/home/geoff/go/src/bufio/bufio.go:101
#	0x5e13dc	bufio.(*Reader).ReadSlice+0x3c						/home/geoff/go/src/bufio/bufio.go:360
#	0x5e1879	bufio.(*Reader).collectFragments+0x79					/home/geoff/go/src/bufio/bufio.go:435
#	0x5e1d2b	bufio.(*Reader).ReadString+0x4b						/home/geoff/go/src/bufio/bufio.go:483
#	0x669277	golang.org/x/tools/internal/jsonrpc2.(*headerStream).Read+0x97		/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/jsonrpc2/stream.go:110
#	0x67f2f0	golang.org/x/tools/internal/lsp/protocol.(*loggingStream).Read+0x50	/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/lsp/protocol/log.go:26
#	0x665be1	golang.org/x/tools/internal/jsonrpc2.(*conn).run+0xa1			/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/jsonrpc2/conn.go:196

1 @ 0x43be05 0x44bde5 0xbe2cf2 0x470e21
#	0xbe2cf1	golang.org/x/tools/internal/fakenet.(*connFeeder).run+0xd1	/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/fakenet/conn.go:115

1 @ 0x43be05 0x44c7a5 0x44c78e 0x46ce85 0x47c345 0xb60396 0x470e21
#	0x46ce84	sync.runtime_Semacquire+0x44					/home/geoff/go/src/runtime/sema.go:56
#	0x47c344	sync.(*WaitGroup).Wait+0x64					/home/geoff/go/src/sync/waitgroup.go:130
#	0xb60395	golang.org/x/tools/internal/memoize.(*Generation).Destroy+0x55	/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/memoize/memoize.go:74

1 @ 0x43be05 0x44c7a5 0x44c78e 0x46ce85 0x47c345 0xbd7f8b 0x470e21
#	0x46ce84	sync.runtime_Semacquire+0x44						/home/geoff/go/src/runtime/sema.go:56
#	0x47c344	sync.(*WaitGroup).Wait+0x64						/home/geoff/go/src/sync/waitgroup.go:130
#	0xbd7f8a	golang.org/x/tools/internal/lsp.(*Server).didModifyFiles.func3+0x2a	/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/lsp/text_synchronization.go:287

1 @ 0x46b09d 0x8739a2 0x873765 0x870332 0xba9f37 0xbad4f2 0x470e21
#	0x46b09c	runtime/pprof.runtime_goroutineProfileWithLabels+0x5c				/home/geoff/go/src/runtime/mprof.go:716
#	0x8739a1	runtime/pprof.writeRuntimeProfile+0xe1						/home/geoff/go/src/runtime/pprof/pprof.go:724
#	0x873764	runtime/pprof.writeGoroutine+0xa4						/home/geoff/go/src/runtime/pprof/pprof.go:684
#	0x870331	runtime/pprof.(*Profile).WriteTo+0x3f1						/home/geoff/go/src/runtime/pprof/pprof.go:331
#	0xba9f36	golang.org/x/tools/internal/lsp/debug.(*Instance).writeMemoryDebug+0x476	/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/lsp/debug/serve.go:455
#	0xbad4f1	golang.org/x/tools/internal/lsp/debug.(*Instance).MonitorMemory.func1+0xf1	/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/lsp/debug/serve.go:421

1 @ 0x4876c5 0x48519a 0x483909 0x4a7db2 0x4a4fe9 0x4ac651 0x4ac624 0xbe2d36 0x470e21
#	0x4876c4	syscall.Syscall+0x4						/home/geoff/go/src/syscall/asm_linux_amd64.s:18
#	0x485199	syscall.read+0x59						/home/geoff/go/src/syscall/zsyscall_linux_amd64.go:686
#	0x483908	syscall.Read+0x48						/home/geoff/go/src/syscall/syscall_unix.go:187
#	0x4a7db1	internal/poll.ignoringEINTR+0x51				/home/geoff/go/src/internal/poll/fd_unix.go:567
#	0x4a4fe8	internal/poll.(*FD).Read+0x148					/home/geoff/go/src/internal/poll/fd_unix.go:155
#	0x4ac650	os.(*File).read+0x70						/home/geoff/go/src/os/file_posix.go:31
#	0x4ac623	os.(*File).Read+0x43						/home/geoff/go/src/os/file.go:116
#	0xbe2d35	golang.org/x/tools/internal/fakenet.(*connFeeder).run+0x115	/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/fakenet/conn.go:121

1 @ 0x57ab7e 0x5b03ea 0x5ab751 0x5ab03c 0x5bbaa7 0x583ffe 0x583ef0 0xb69b13 0xb69ae9 0xb9b73c 0xb620c8 0x470e21
#	0x57ab7d	go/types.(*Checker).shortVarDecl+0x99d							/home/geoff/go/src/go/types/assignments.go:281
#	0x5b03e9	go/types.(*Checker).stmt+0x36a9								/home/geoff/go/src/go/types/stmt.go:398
#	0x5ab750	go/types.(*Checker).stmtList+0xd0							/home/geoff/go/src/go/types/stmt.go:120
#	0x5ab03b	go/types.(*Checker).funcBody+0x21b							/home/geoff/go/src/go/types/stmt.go:42
#	0x5bbaa6	go/types.(*Checker).funcDecl.func1+0x66							/home/geoff/go/src/go/types/decl.go:662
#	0x583ffd	go/types.(*Checker).processDelayed+0x3d							/home/geoff/go/src/go/types/check.go:290
#	0x583eef	go/types.(*Checker).checkFiles+0xcf							/home/geoff/go/src/go/types/check.go:266
#	0xb69b12	go/types.(*Checker).Files+0x1232							/home/geoff/go/src/go/types/check.go:249
#	0xb69ae8	golang.org/x/tools/internal/lsp/cache.typeCheck+0x1208					/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/lsp/cache/check.go:410
#	0xb9b73b	golang.org/x/tools/internal/lsp/cache.(*snapshot).buildPackageHandle.func1+0x1bb	/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/lsp/cache/check.go:96
#	0xb620c7	golang.org/x/tools/internal/memoize.(*Handle).run.func1+0xa7				/home/geoff/do/cthulhu/docode/pkg/mod/golang.org/x/tools@v0.0.0-20200930165741-f1523d29dbb9/internal/memoize/memoize.go:310

