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: infinite recursion, crash when presented with a recursively defined type #36637

Closed
cespare opened this issue Jan 19, 2020 · 2 comments
Labels
Milestone

Comments

@cespare
Copy link
Contributor

@cespare cespare commented Jan 19, 2020

I'm using govim with x/tools/gopls at 0cba7a3a.

This crash seems easy to reproduce. For instance, I created a new file in an empty package and then typed this in:

package main

type stateFunc func() stateFunc

type dd struct {}

func (d d

and then, at the end (where the receiver type goes, after I'd already typed d), I triggered completion and gopls crashed.

Here's an excerpt from the govim log:

2020-01-18T16:05:12.369606_#1: vim start =======================
2020-01-18T16:05:12.369606_#1: recvJSONMsg: [192] ["function","function:GOVIM_internal_BufChanged",[1,7,8,0,[{"lnum":7,"col":9,"added":0,"end":8,"lines":["func (d d"]}]]]
2020-01-18T16:05:12.369606_#1: vim end =======================
2020-01-18T16:05:12.369704_#1: run: waiting to read a JSON message
2020-01-18T16:05:12.370382_#1: info only: failed to parse buffer /home/caleb/p/misc/gopls/bug.go: /home/caleb/p/misc/gopls/bug.go:7:10: missing ',' before newline in parameter list (and 6 more errors)
2020-01-18T16:05:12.370639_#1: gopls server start =======================
2020-01-18T16:05:12.370639_#1: gopls.DidChange() call; params:
2020-01-18T16:05:12.370639_#1: &protocol.DidChangeTextDocumentParams{
2020-01-18T16:05:12.370639_#1:     TextDocument: protocol.VersionedTextDocumentIdentifier{
2020-01-18T16:05:12.370639_#1:         Version:                126,
2020-01-18T16:05:12.370639_#1:         TextDocumentIdentifier: protocol.TextDocumentIdentifier{URI:"file:///home/caleb/p/misc/gopls/bug.go"},
2020-01-18T16:05:12.370639_#1:     },
2020-01-18T16:05:12.370639_#1:     ContentChanges: {
2020-01-18T16:05:12.370639_#1:         {
2020-01-18T16:05:12.370639_#1:             Range: &protocol.Range{
2020-01-18T16:05:12.370639_#1:                 Start: protocol.Position{Line:6, Character:0},
2020-01-18T16:05:12.370639_#1:                 End:   protocol.Position{Line:7, Character:0},
2020-01-18T16:05:12.370639_#1:             },
2020-01-18T16:05:12.370639_#1:             RangeLength: 0,
2020-01-18T16:05:12.370639_#1:             Text:        "func (d d\n",
2020-01-18T16:05:12.370639_#1:         },
2020-01-18T16:05:12.370639_#1:     },
2020-01-18T16:05:12.370639_#1: }
2020-01-18T16:05:12.370639_#1: gopls server end =======================
2020-01-18T16:05:12.370785_#1: gopls server start =======================
2020-01-18T16:05:12.370785_#1: gopls.DidChange() return; err: <nil>
2020-01-18T16:05:12.370785_#1: gopls server end =======================
2020-01-18T16:05:12.370829_#1: vim start =======================
2020-01-18T16:05:12.370829_#1: sendJSONMsg: [192,["",null]]
2020-01-18T16:05:12.370829_#1: vim end =======================
2020-01-18T16:05:12.372263_#1: vim start =======================
2020-01-18T16:05:12.372263_#1: recvJSONMsg: [193] ["function","function:GOVIM_internal_SetUserBusy",[1]]
2020-01-18T16:05:12.372263_#1: vim end =======================
2020-01-18T16:05:12.372351_#1: run: waiting to read a JSON message
2020-01-18T16:05:12.372490_#1: vim start =======================
2020-01-18T16:05:12.372490_#1: sendJSONMsg: [193,["",null]]
2020-01-18T16:05:12.372490_#1: vim end =======================
2020-01-18T16:05:12.647353_#1: vim start =======================
2020-01-18T16:05:12.647353_#1: recvJSONMsg: [194] ["function","function:GOVIM_internal_Complete",[1,""]]
2020-01-18T16:05:12.647353_#1: vim end =======================
2020-01-18T16:05:12.647443_#1: run: waiting to read a JSON message
2020-01-18T16:05:12.647632_#1: vim start =======================
2020-01-18T16:05:12.647632_#1: sendJSONMsg: [0,[42,"expr","{\"bufnum\": bufnr(\"\"), \"line\": line(\".\"), \"col\": col(\".\")}"]]
2020-01-18T16:05:12.647632_#1: vim end =======================
2020-01-18T16:05:12.648302_#1: vim start =======================
2020-01-18T16:05:12.648302_#1: recvJSONMsg: [195] ["callback",42,["",{"bufnum":1,"col":10,"line":7}]]
2020-01-18T16:05:12.648302_#1: vim end =======================
2020-01-18T16:05:12.648394_#1: run: waiting to read a JSON message
2020-01-18T16:05:12.649160_#1: gopls server start =======================
2020-01-18T16:05:12.649160_#1: gopls.Completion() call; params:
2020-01-18T16:05:12.649160_#1: &protocol.CompletionParams{
2020-01-18T16:05:12.649160_#1:     Context:                    protocol.CompletionContext{},
2020-01-18T16:05:12.649160_#1:     TextDocumentPositionParams: protocol.TextDocumentPositionParams{
2020-01-18T16:05:12.649160_#1:         TextDocument: protocol.TextDocumentIdentifier{URI:"file:///home/caleb/p/misc/gopls/bug.go"},
2020-01-18T16:05:12.649160_#1:         Position:     protocol.Position{Line:6, Character:9},
2020-01-18T16:05:12.649160_#1:     },
2020-01-18T16:05:12.649160_#1:     WorkDoneProgressParams: protocol.WorkDoneProgressParams{},
2020-01-18T16:05:12.649160_#1:     PartialResultParams:    protocol.PartialResultParams{},
2020-01-18T16:05:12.649160_#1: }
2020-01-18T16:05:12.649160_#1: gopls server end =======================
2020-01-18T16:05:12.664684_#1: gopls client start =======================
2020-01-18T16:05:12.664684_#1: LogMessage callback: &protocol.LogMessageParams{Type:3, Message:"2020/01/18 16:05:12 go/packages.Load\n\tsnapshot = 126\n\tquery = [file=/home/caleb/p/misc/gopls/bug.go]\n\tpackages = 1"}
2020-01-18T16:05:12.664684_#1: gopls client end =======================
2020-01-18T16:05:12.664719_#1: gopls client start =======================
2020-01-18T16:05:12.664719_#1: LogMessage callback: &protocol.LogMessageParams{Type:3, Message:"2020/01/18 16:05:12 go/packages.Load\n\tpackage = github.com/cespare/misc/gopls\n\tfiles = [/home/caleb/p/misc/gopls/bug.go]"}
2020-01-18T16:05:12.664719_#1: gopls client end =======================
2020-01-18T16:05:13.207619_#1: gopls stderr: runtime: goroutine stack exceeds 1000000000-byte limit
2020-01-18T16:05:13.207633_#1: gopls stderr: fatal error: stack overflow
2020-01-18T16:05:13.209872_#1: gopls stderr: 
2020-01-18T16:05:13.209936_#1: gopls stderr: runtime stack:
2020-01-18T16:05:13.209939_#1: gopls stderr: runtime.throw(0xcb6f3c, 0xe)
2020-01-18T16:05:13.209941_#1: gopls stderr: 	/home/caleb/apps/go/src/runtime/panic.go:774 +0x72
2020-01-18T16:05:13.209943_#1: gopls stderr: runtime.newstack()
2020-01-18T16:05:13.209945_#1: gopls stderr: 	/home/caleb/apps/go/src/runtime/stack.go:1046 +0x6e9
2020-01-18T16:05:13.209947_#1: gopls stderr: runtime.morestack()
2020-01-18T16:05:13.209949_#1: gopls stderr: 	/home/caleb/apps/go/src/runtime/asm_amd64.s:449 +0x8f
2020-01-18T16:05:13.209951_#1: gopls stderr: 
2020-01-18T16:05:13.209953_#1: gopls stderr: goroutine 716 [running]:
2020-01-18T16:05:13.209956_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.209959_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:315 +0x43e fp=0xc0206bc348 sp=0xc0206bc340 pc=0x785c6e
2020-01-18T16:05:13.209961_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.209963_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bc390 sp=0xc0206bc348 pc=0x78590f
2020-01-18T16:05:13.209965_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.209968_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bc3d8 sp=0xc0206bc390 pc=0x785b9b
2020-01-18T16:05:13.209970_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.209973_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bc420 sp=0xc0206bc3d8 pc=0x78590f
2020-01-18T16:05:13.209975_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.209983_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bc468 sp=0xc0206bc420 pc=0x785b9b
2020-01-18T16:05:13.209988_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.209996_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bc4b0 sp=0xc0206bc468 pc=0x78590f
2020-01-18T16:05:13.210002_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.210011_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bc4f8 sp=0xc0206bc4b0 pc=0x785b9b
2020-01-18T16:05:13.210016_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.210025_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bc540 sp=0xc0206bc4f8 pc=0x78590f
2020-01-18T16:05:13.210030_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.210038_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bc588 sp=0xc0206bc540 pc=0x785b9b
2020-01-18T16:05:13.210056_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.210065_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bc5d0 sp=0xc0206bc588 pc=0x78590f
2020-01-18T16:05:13.210069_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.210078_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bc618 sp=0xc0206bc5d0 pc=0x785b9b
2020-01-18T16:05:13.210082_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.210090_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bc660 sp=0xc0206bc618 pc=0x78590f
2020-01-18T16:05:13.210096_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.210105_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bc6a8 sp=0xc0206bc660 pc=0x785b9b
2020-01-18T16:05:13.210110_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.210118_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bc6f0 sp=0xc0206bc6a8 pc=0x78590f
2020-01-18T16:05:13.210123_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.210132_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bc738 sp=0xc0206bc6f0 pc=0x785b9b
2020-01-18T16:05:13.210148_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.210151_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bc780 sp=0xc0206bc738 pc=0x78590f
2020-01-18T16:05:13.210153_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.210156_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bc7c8 sp=0xc0206bc780 pc=0x785b9b
2020-01-18T16:05:13.210160_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.210168_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bc810 sp=0xc0206bc7c8 pc=0x78590f
2020-01-18T16:05:13.210174_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.210182_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bc858 sp=0xc0206bc810 pc=0x785b9b
2020-01-18T16:05:13.210187_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.210195_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bc8a0 sp=0xc0206bc858 pc=0x78590f
2020-01-18T16:05:13.210201_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.210212_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bc8e8 sp=0xc0206bc8a0 pc=0x785b9b
2020-01-18T16:05:13.210215_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.210221_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bc930 sp=0xc0206bc8e8 pc=0x78590f
2020-01-18T16:05:13.210226_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.210234_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bc978 sp=0xc0206bc930 pc=0x785b9b
2020-01-18T16:05:13.210240_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.210248_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bc9c0 sp=0xc0206bc978 pc=0x78590f
2020-01-18T16:05:13.210253_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.210261_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bca08 sp=0xc0206bc9c0 pc=0x785b9b
2020-01-18T16:05:13.210267_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.210274_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bca50 sp=0xc0206bca08 pc=0x78590f
2020-01-18T16:05:13.210280_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.210288_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bca98 sp=0xc0206bca50 pc=0x785b9b
2020-01-18T16:05:13.210293_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.210301_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bcae0 sp=0xc0206bca98 pc=0x78590f
2020-01-18T16:05:13.210307_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.210315_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bcb28 sp=0xc0206bcae0 pc=0x785b9b
2020-01-18T16:05:13.210320_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.210327_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bcb70 sp=0xc0206bcb28 pc=0x78590f
2020-01-18T16:05:13.210333_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.210341_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bcbb8 sp=0xc0206bcb70 pc=0x785b9b
2020-01-18T16:05:13.210346_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.210355_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bcc00 sp=0xc0206bcbb8 pc=0x78590f
2020-01-18T16:05:13.210361_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.210368_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bcc48 sp=0xc0206bcc00 pc=0x785b9b
2020-01-18T16:05:13.210374_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.210381_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bcc90 sp=0xc0206bcc48 pc=0x78590f
2020-01-18T16:05:13.210386_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.210394_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bccd8 sp=0xc0206bcc90 pc=0x785b9b
2020-01-18T16:05:13.210399_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.210407_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bcd20 sp=0xc0206bccd8 pc=0x78590f
2020-01-18T16:05:13.210412_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.210436_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bcd68 sp=0xc0206bcd20 pc=0x785b9b
2020-01-18T16:05:13.210440_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.210449_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bcdb0 sp=0xc0206bcd68 pc=0x78590f
2020-01-18T16:05:13.210454_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.210475_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bcdf8 sp=0xc0206bcdb0 pc=0x785b9b
2020-01-18T16:05:13.210480_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.210489_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bce40 sp=0xc0206bcdf8 pc=0x78590f
2020-01-18T16:05:13.210494_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.210501_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bce88 sp=0xc0206bce40 pc=0x785b9b
2020-01-18T16:05:13.210507_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.210515_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bced0 sp=0xc0206bce88 pc=0x78590f
2020-01-18T16:05:13.210520_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.210528_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bcf18 sp=0xc0206bced0 pc=0x785b9b
2020-01-18T16:05:13.210533_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.210541_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bcf60 sp=0xc0206bcf18 pc=0x78590f
2020-01-18T16:05:13.210547_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.210554_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bcfa8 sp=0xc0206bcf60 pc=0x785b9b
2020-01-18T16:05:13.210559_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.210568_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bcff0 sp=0xc0206bcfa8 pc=0x78590f
2020-01-18T16:05:13.210573_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.210581_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bd038 sp=0xc0206bcff0 pc=0x785b9b
2020-01-18T16:05:13.210586_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.210594_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bd080 sp=0xc0206bd038 pc=0x78590f
2020-01-18T16:05:13.210599_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.210608_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bd0c8 sp=0xc0206bd080 pc=0x785b9b
2020-01-18T16:05:13.210613_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.210620_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bd110 sp=0xc0206bd0c8 pc=0x78590f
2020-01-18T16:05:13.210625_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.210634_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bd158 sp=0xc0206bd110 pc=0x785b9b
2020-01-18T16:05:13.210639_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.210646_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bd1a0 sp=0xc0206bd158 pc=0x78590f
2020-01-18T16:05:13.210652_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.210660_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bd1e8 sp=0xc0206bd1a0 pc=0x785b9b
2020-01-18T16:05:13.210665_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.210673_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bd230 sp=0xc0206bd1e8 pc=0x78590f
2020-01-18T16:05:13.210679_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.210686_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bd278 sp=0xc0206bd230 pc=0x785b9b
2020-01-18T16:05:13.210691_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.210700_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bd2c0 sp=0xc0206bd278 pc=0x78590f
2020-01-18T16:05:13.210705_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.210713_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bd308 sp=0xc0206bd2c0 pc=0x785b9b
2020-01-18T16:05:13.210718_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.210726_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bd350 sp=0xc0206bd308 pc=0x78590f
2020-01-18T16:05:13.210732_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.210739_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bd398 sp=0xc0206bd350 pc=0x785b9b
2020-01-18T16:05:13.210744_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.210753_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bd3e0 sp=0xc0206bd398 pc=0x78590f
2020-01-18T16:05:13.210758_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.210767_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bd428 sp=0xc0206bd3e0 pc=0x785b9b
2020-01-18T16:05:13.210772_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.210779_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bd470 sp=0xc0206bd428 pc=0x78590f
2020-01-18T16:05:13.210785_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.210793_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bd4b8 sp=0xc0206bd470 pc=0x785b9b
2020-01-18T16:05:13.210798_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.210806_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bd500 sp=0xc0206bd4b8 pc=0x78590f
2020-01-18T16:05:13.210812_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.210820_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bd548 sp=0xc0206bd500 pc=0x785b9b
2020-01-18T16:05:13.210825_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.210832_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bd590 sp=0xc0206bd548 pc=0x78590f
2020-01-18T16:05:13.210838_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.210846_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bd5d8 sp=0xc0206bd590 pc=0x785b9b
2020-01-18T16:05:13.210851_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.210859_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bd620 sp=0xc0206bd5d8 pc=0x78590f
2020-01-18T16:05:13.210864_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.210872_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bd668 sp=0xc0206bd620 pc=0x785b9b
2020-01-18T16:05:13.210878_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.210887_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bd6b0 sp=0xc0206bd668 pc=0x78590f
2020-01-18T16:05:13.210892_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.210900_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bd6f8 sp=0xc0206bd6b0 pc=0x785b9b
2020-01-18T16:05:13.210905_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.210914_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bd740 sp=0xc0206bd6f8 pc=0x78590f
2020-01-18T16:05:13.210920_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.210928_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bd788 sp=0xc0206bd740 pc=0x785b9b
2020-01-18T16:05:13.210933_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.210941_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bd7d0 sp=0xc0206bd788 pc=0x78590f
2020-01-18T16:05:13.210946_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.210954_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bd818 sp=0xc0206bd7d0 pc=0x785b9b
2020-01-18T16:05:13.210960_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.210968_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bd860 sp=0xc0206bd818 pc=0x78590f
2020-01-18T16:05:13.210974_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.210981_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bd8a8 sp=0xc0206bd860 pc=0x785b9b
2020-01-18T16:05:13.210988_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.210995_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bd8f0 sp=0xc0206bd8a8 pc=0x78590f
2020-01-18T16:05:13.211001_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.211009_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bd938 sp=0xc0206bd8f0 pc=0x785b9b
2020-01-18T16:05:13.211014_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.211022_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bd980 sp=0xc0206bd938 pc=0x78590f
2020-01-18T16:05:13.211028_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.211035_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bd9c8 sp=0xc0206bd980 pc=0x785b9b
2020-01-18T16:05:13.211041_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.211050_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bda10 sp=0xc0206bd9c8 pc=0x78590f
2020-01-18T16:05:13.211055_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.211062_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bda58 sp=0xc0206bda10 pc=0x785b9b
2020-01-18T16:05:13.211067_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.211075_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bdaa0 sp=0xc0206bda58 pc=0x78590f
2020-01-18T16:05:13.211082_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.211089_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bdae8 sp=0xc0206bdaa0 pc=0x785b9b
2020-01-18T16:05:13.211095_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.211104_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bdb30 sp=0xc0206bdae8 pc=0x78590f
2020-01-18T16:05:13.211109_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.211116_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bdb78 sp=0xc0206bdb30 pc=0x785b9b
2020-01-18T16:05:13.211123_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.211131_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bdbc0 sp=0xc0206bdb78 pc=0x78590f
2020-01-18T16:05:13.211137_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.211144_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bdc08 sp=0xc0206bdbc0 pc=0x785b9b
2020-01-18T16:05:13.211150_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.211159_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bdc50 sp=0xc0206bdc08 pc=0x78590f
2020-01-18T16:05:13.211164_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.211172_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bdc98 sp=0xc0206bdc50 pc=0x785b9b
2020-01-18T16:05:13.211178_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.211185_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bdce0 sp=0xc0206bdc98 pc=0x78590f
2020-01-18T16:05:13.211190_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.211198_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bdd28 sp=0xc0206bdce0 pc=0x785b9b
2020-01-18T16:05:13.211204_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.211212_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bdd70 sp=0xc0206bdd28 pc=0x78590f
2020-01-18T16:05:13.211217_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.211225_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bddb8 sp=0xc0206bdd70 pc=0x785b9b
2020-01-18T16:05:13.211230_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.211239_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bde00 sp=0xc0206bddb8 pc=0x78590f
2020-01-18T16:05:13.211244_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.211251_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bde48 sp=0xc0206bde00 pc=0x785b9b
2020-01-18T16:05:13.211256_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.211264_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bde90 sp=0xc0206bde48 pc=0x78590f
2020-01-18T16:05:13.211270_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7b60, 0xc000579020, 0xc00062b880)
2020-01-18T16:05:13.211278_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:330 +0x36b fp=0xc0206bded8 sp=0xc0206bde90 pc=0x785b9b
2020-01-18T16:05:13.211283_#1: gopls stderr: golang.org/x/tools/internal/lsp/source.typeIsValid(0xde7ca0, 0xc00062b880, 0xc000579001)
2020-01-18T16:05:13.211290_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/source/util.go:333 +0xdf fp=0xc0206bdf20 sp=0xc0206bded8 pc=0x78590f
2020-01-18T16:05:13.211293_#1: gopls stderr: ...additional frames elided...
2020-01-18T16:05:13.211295_#1: gopls stderr: created by golang.org/x/tools/internal/jsonrpc2.(*Conn).Run
2020-01-18T16:05:13.211299_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/jsonrpc2/jsonrpc2.go:354 +0x877
2020-01-18T16:05:13.211301_#1: gopls stderr: 
2020-01-18T16:05:13.211304_#1: gopls stderr: goroutine 1 [syscall]:
2020-01-18T16:05:13.211313_#1: gopls stderr: syscall.Syscall(0x0, 0x0, 0xc0002d0000, 0x1000, 0x7f77cf2af208, 0x800000, 0x42fa4a)
2020-01-18T16:05:13.211318_#1: gopls stderr: 	/home/caleb/apps/go/src/syscall/asm_linux_amd64.s:18 +0x5
2020-01-18T16:05:13.211329_#1: gopls stderr: syscall.read(0x0, 0xc0002d0000, 0x1000, 0x1000, 0x0, 0x12ffe58, 0x203000)
2020-01-18T16:05:13.211333_#1: gopls stderr: 	/home/caleb/apps/go/src/syscall/zsyscall_linux_amd64.go:732 +0x5a
2020-01-18T16:05:13.211336_#1: gopls stderr: syscall.Read(...)
2020-01-18T16:05:13.211339_#1: gopls stderr: 	/home/caleb/apps/go/src/syscall/syscall_unix.go:183
2020-01-18T16:05:13.211349_#1: gopls stderr: internal/poll.(*FD).Read(0xc0000460c0, 0xc0002d0000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
2020-01-18T16:05:13.211353_#1: gopls stderr: 	/home/caleb/apps/go/src/internal/poll/fd_unix.go:165 +0x164
2020-01-18T16:05:13.211356_#1: gopls stderr: os.(*File).read(...)
2020-01-18T16:05:13.211359_#1: gopls stderr: 	/home/caleb/apps/go/src/os/file_unix.go:259
2020-01-18T16:05:13.211370_#1: gopls stderr: os.(*File).Read(0xc000010010, 0xc0002d0000, 0x1000, 0x1000, 0x0, 0x0, 0xc00023b638)
2020-01-18T16:05:13.211373_#1: gopls stderr: 	/home/caleb/apps/go/src/os/file.go:116 +0x71
2020-01-18T16:05:13.211376_#1: gopls stderr: bufio.(*Reader).fill(0xc0002ce060)
2020-01-18T16:05:13.211380_#1: gopls stderr: 	/home/caleb/apps/go/src/bufio/bufio.go:100 +0x103
2020-01-18T16:05:13.211391_#1: gopls stderr: bufio.(*Reader).ReadSlice(0xc0002ce060, 0xa, 0x4, 0x2, 0x6, 0x0, 0xc0004525a0)
2020-01-18T16:05:13.211396_#1: gopls stderr: 	/home/caleb/apps/go/src/bufio/bufio.go:359 +0x3d
2020-01-18T16:05:13.211405_#1: gopls stderr: bufio.(*Reader).ReadBytes(0xc0002ce060, 0xa, 0x415600, 0xc0000c1328, 0xc000452640, 0x18, 0x8)
2020-01-18T16:05:13.211410_#1: gopls stderr: 	/home/caleb/apps/go/src/bufio/bufio.go:437 +0x73
2020-01-18T16:05:13.211412_#1: gopls stderr: bufio.(*Reader).ReadString(...)
2020-01-18T16:05:13.211415_#1: gopls stderr: 	/home/caleb/apps/go/src/bufio/bufio.go:477
2020-01-18T16:05:13.211428_#1: gopls stderr: golang.org/x/tools/internal/jsonrpc2.(*headerStream).Read(0xc00000f500, 0xdf3d00, 0xc0002c2c60, 0x693346, 0xc0002ce110, 0xc0002c2c30, 0xc000452640, 0x43a14e, 0xc00023b688)
2020-01-18T16:05:13.211432_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/jsonrpc2/stream.go:97 +0x92
2020-01-18T16:05:13.211446_#1: gopls stderr: golang.org/x/tools/internal/lsp/protocol.(*loggingStream).Read(0xc00000f520, 0xdf3d00, 0xc0002c2c60, 0xc00057df40, 0xc0002ce0c0, 0xdf3d00, 0xc00038ffb0, 0x0, 0x0)
2020-01-18T16:05:13.211450_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/protocol/log.go:26 +0x54
2020-01-18T16:05:13.211458_#1: gopls stderr: golang.org/x/tools/internal/jsonrpc2.(*Conn).Run(0xc0002ce0c0, 0xdf3d00, 0xc0002c2c60, 0x2, 0xc00000f540)
2020-01-18T16:05:13.211461_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/jsonrpc2/jsonrpc2.go:316 +0xa5
2020-01-18T16:05:13.211464_#1: gopls stderr: golang.org/x/tools/internal/lsp.(*Server).Run(...)
2020-01-18T16:05:13.211467_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/server.go:64
2020-01-18T16:05:13.211481_#1: gopls stderr: golang.org/x/tools/internal/lsp/cmd.(*Serve).Run(0xc0000dfd30, 0xdf3c80, 0xc00003c1b8, 0xc0000320f0, 0x0, 0x0, 0x0, 0x0)
2020-01-18T16:05:13.211485_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/cmd/serve.go:101 +0x6ce
2020-01-18T16:05:13.211501_#1: gopls stderr: golang.org/x/tools/internal/tool.Run(0xdf3c80, 0xc00003c1b8, 0xdf7140, 0xc0000dfd30, 0xc0000320f0, 0x0, 0x0, 0x0, 0x0)
2020-01-18T16:05:13.211505_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/tool/tool.go:152 +0x29d
2020-01-18T16:05:13.211517_#1: gopls stderr: golang.org/x/tools/internal/lsp/cmd.(*Application).Run(0xc0000dfd00, 0xdf3c80, 0xc00003c1b8, 0xc0000320f0, 0x0, 0x0, 0x0, 0x0)
2020-01-18T16:05:13.211522_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/lsp/cmd/cmd.go:139 +0x3c0
2020-01-18T16:05:13.211536_#1: gopls stderr: golang.org/x/tools/internal/tool.Run(0xdf3c80, 0xc00003c1b8, 0xdf7100, 0xc0000dfd00, 0xc0000320d0, 0x3, 0x3, 0x0, 0x0)
2020-01-18T16:05:13.211541_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/tool/tool.go:152 +0x29d
2020-01-18T16:05:13.211553_#1: gopls stderr: golang.org/x/tools/internal/tool.Main(0xdf3c80, 0xc00003c1b8, 0xdf7100, 0xc0000dfd00, 0xc0000320d0, 0x3, 0x3)
2020-01-18T16:05:13.211557_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools@v0.0.0-20200117220505-0cba7a3a9ee9/internal/tool/tool.go:91 +0x12f
2020-01-18T16:05:13.211560_#1: gopls stderr: main.main()
2020-01-18T16:05:13.211564_#1: gopls stderr: 	/home/caleb/p/go/pkg/mod/golang.org/x/tools/gopls@v0.1.8-0.20200117220505-0cba7a3a9ee9/main.go:22 +0xdb
2020-01-18T16:05:13.211566_#1: gopls stderr: 
2020-01-18T16:05:13.211569_#1: gopls stderr: goroutine 34 [syscall]:
2020-01-18T16:05:13.211572_#1: gopls stderr: os/signal.signal_recv(0x0)
2020-01-18T16:05:13.211577_#1: gopls stderr: 	/home/caleb/apps/go/src/runtime/sigqueue.go:147 +0x9c
2020-01-18T16:05:13.211579_#1: gopls stderr: os/signal.loop()
2020-01-18T16:05:13.211582_#1: gopls stderr: 	/home/caleb/apps/go/src/os/signal/signal_unix.go:23 +0x22
2020-01-18T16:05:13.211584_#1: gopls stderr: created by os/signal.init.0
2020-01-18T16:05:13.211589_#1: gopls stderr: 	/home/caleb/apps/go/src/os/signal/signal_unix.go:29 +0x41

The code is bouncing between the first and last line in the highlighted range in the typeIsValid function here:

https://github.com/golang/tools/blob/0cba7a3a9ee9d9a5917ed56b9668e7ad35eaa571/internal/lsp/source/util.go#L330-L333

That function was added in CL 210357, though I don't know if the underlying issue existed before.

/cc @quasilyte @stamblerre

@quasilyte

This comment has been minimized.

Copy link
Contributor

@quasilyte quasilyte commented Jan 19, 2020

I'll try fixing that today.

@gopherbot

This comment has been minimized.

Copy link

@gopherbot gopherbot commented Jan 19, 2020

Change https://golang.org/cl/215238 mentions this issue: internal/lsp/source: fix typeIsValid() inf recursion

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
4 participants
You can’t perform that action at this time.