x/tools/gopls: types.IsInterface "Named.check == nil but type is incomplete" panic in methodsets.EnsurePointer #69537
Labels
gopls/telemetry-wins
gopls
Issues related to the Go language server, gopls.
NeedsInvestigation
Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Tools
This label describes issues relating to any tools in the x/tools repository.
Milestone
Issue created by stacks.
The Named type passed to IsInterface has an Underlying type that is also a Named (indicating type checking is incomplete) yet the original Named (which may or may not be the same) has Named.check==nil (indicating type checking should be complete). This seems like a go/types bug.
This stack
pY1Q7g
was reported by telemetry:crash/crash
runtime.gopanic:+69
go/types.(*Named).under:+21
go/types.under:+2
go/types.IsInterface:=111
golang.org/x/tools/gopls/internal/cache/methodsets.EnsurePointer:+1
golang.org/x/tools/gopls/internal/cache/methodsets.methodSetInfo:+4
golang.org/x/tools/gopls/internal/cache/methodsets.(*indexBuilder).build:+35
golang.org/x/tools/gopls/internal/cache/methodsets.NewIndex:=82
golang.org/x/tools/gopls/internal/cache.(*syntaxPackage).methodsets.func1:+1
sync.(*Once).doSlow:+5
sync.(*Once).Do:=67
golang.org/x/tools/gopls/internal/cache.(*syntaxPackage).methodsets:+1
golang.org/x/tools/gopls/internal/cache.storePackageResults:+3
golang.org/x/tools/gopls/internal/cache.(*typeCheckBatch).handleSyntaxPackage.gowrap1:+0
runtime.goexit:+0
The text was updated successfully, but these errors were encountered: