Skip to content

go/types: interface.Complete panics for interfaces with duplicate methods #61737

@istonegithub

Description

@istonegithub

gopls version: v0.13.1 (go1.20.4)
gopls flags:
update flags: proxy
extension version: 0.39.1
go version: 1.20.4
environment: Visual Studio Code darwin
initialization error: undefined
issue timestamp: Thu, 03 Aug 2023 05:31:10 GMT
restart history:
Wed, 02 Aug 2023 07:06:29 GMT: activation (enabled: true)

ATTENTION: PLEASE PROVIDE THE DETAILS REQUESTED BELOW.

Describe what you observed.

panic: 41710: duplicate method GetByID

goroutine 9767 [running]:
go/types.computeInterfaceTypeSet.func2(0xa2ee, 0x14008235980, 0x1)
	  typeset.go:230  0x570
go/types.computeInterfaceTypeSet(0x0, 0x101123495%3F, 0x140081d3770)
	  typeset.go:257  0x21c
go/types.(*Interface).typeSet(...)
	  interface.go:29
go/types.(*Interface).Complete(...)
	  interface.go:143
golang.org/x/tools/gopls/internal/lsp/cache.typeCheckImpl({0x101576968, 0x140098a8810}, 0x10093fec0%3F, {{0x140015439c8, 0x15}, {0x140015439c8, 0x15}, {0x14001597000, 0x3}, {0x14008de5540, ...}, ...})
	  check.go:1481  0x6f8
golang.org/x/tools/gopls/internal/lsp/cache.(*typeCheckBatch).checkPackage(0x1400d6c6ec8%3F, {0x101576968, 0x140090556b0}, 0x140093dde60)
	  check.go:674  0x190
golang.org/x/tools/gopls/internal/lsp/cache.(*typeCheckBatch).handleSyntaxPackage(0x14007d21da0, {0x101576968, 0x140090556b0}, 0x14000995e00%3F, {0x140015439c8, 0x15})
	  check.go:532  0x3f4
golang.org/x/tools/gopls/internal/lsp/cache.(*snapshot).forEachPackageInternal.func2()
	  check.go:394  0x34
golang.org/x/sync/errgroup.(*Group).Go.func1()
	  errgroup.go:75  0x5c
created by golang.org/x/sync/errgroup.(*Group).Go
	  errgroup.go:72  0xa0
[Error - 12:35:43 PM] 

OPTIONAL: If you would like to share more information, you can attach your complete gopls logs.

NOTE: THESE MAY CONTAIN SENSITIVE INFORMATION ABOUT YOUR CODEBASE.
DO NOT SHARE LOGS IF YOU ARE WORKING IN A PRIVATE REPOSITORY.

<OPTIONAL: ATTACH LOGS HERE>

Metadata

Metadata

Assignees

Labels

FrozenDueToAgeNeedsFixThe path to resolution is known, but the work has not been done.

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions