#!stacks
"runtime.gopanic" && "satisfy.(*Finder).expr:+168"
Issue created by stacks.
This means satisfy was called on ill-typed code. As with https://github.com/golang/go/issues/71538, the long-term remedy here is to get rid of the satisfy package and use https://github.com/golang/go/issues/70638 instead.
This stack _KFIag
was reported by telemetry:
crash/crash
runtime.gopanic:+69
golang.org/x/tools/refactor/satisfy.(*Finder).expr:+168
golang.org/x/tools/refactor/satisfy.(*Finder).expr:+149
golang.org/x/tools/refactor/satisfy.(*Finder).expr:+148
golang.org/x/tools/refactor/satisfy.(*Finder).stmt:+97
golang.org/x/tools/refactor/satisfy.(*Finder).stmt:+100
golang.org/x/tools/refactor/satisfy.(*Finder).stmt:+90
golang.org/x/tools/refactor/satisfy.(*Finder).Find:+19
golang.org/x/tools/gopls/internal/golang.(*renamer).satisfy:+27
golang.org/x/tools/gopls/internal/golang.(*renamer).checkMethod:+178
golang.org/x/tools/gopls/internal/golang.(*renamer).check:+16
golang.org/x/tools/gopls/internal/golang.renameObjects:+24
golang.org/x/tools/gopls/internal/golang.renameExported:+56
golang.org/x/tools/gopls/internal/golang.renameOrdinary:+157
golang.org/x/tools/gopls/internal/golang.Rename:+24
golang.org/x/tools/gopls/internal/server.(*server).Rename:+17
golang.org/x/tools/gopls@v0.17.1 go1.24rc2 darwin/arm64 vscode (2)
Dups: fHpkWA zggtYA 9iXGhQ v64Mdw
Comment From: gabyhelp
Related Issues
- x/tools/gopls: Rename: "unexpected composite literal type %T: %v" panic in satisfy.(*Finder).Find #71538
- x/tools/gopls: Rename: crash due to Info.Defs[id]=nil bug in checkStructField #70968
- x/tools/gopls: crash when renaming in a package using builtins with type parameters #52940 (closed)
- x/tools/gopls: Completion: failed type assertion in completer.item #71044 (closed)
- go/types: panic("t.fromRHS = %s, typ = %s") in setDefType #71029
- x/tools/gopls: gopls fails to rename all uses of instantiated struct field #61640 (closed)
- x/tools/gopls: rename fails on struct method that references bad struct field #32882 (closed)
- x/tools/gopls: "edit does not belong to syntax of package %q" bug in golang.Rename #70049
- x/tools/gopls: crash during renaming #53277 (closed)
- x/tools/gopls: completion: failed type assertion in inferExpectedTypeArg #70889 (closed)
(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)
Comment From: adonovan
This stack fHpkWA
was reported by telemetry:
crash/crash
runtime.gopanic:+69
golang.org/x/tools/refactor/satisfy.(*Finder).expr:+168
golang.org/x/tools/refactor/satisfy.(*Finder).stmt:+97
golang.org/x/tools/refactor/satisfy.(*Finder).stmt:+90
golang.org/x/tools/refactor/satisfy.(*Finder).Find:+19
golang.org/x/tools/gopls/internal/golang.(*renamer).satisfy:+27
golang.org/x/tools/gopls/internal/golang.(*renamer).checkMethod:+178
golang.org/x/tools/gopls/internal/golang.(*renamer).check:+16
golang.org/x/tools/gopls/internal/golang.renameObjects:+24
golang.org/x/tools/gopls/internal/golang.renameExported:+56
golang.org/x/tools/gopls/internal/golang.renameOrdinary:+157
golang.org/x/tools/gopls/internal/golang.Rename:+24
golang.org/x/tools/gopls/internal/server.(*server).Rename:+17
golang.org/x/tools/gopls/internal/protocol.serverDispatch:+489
golang.org/x/tools/gopls/internal/lsprpc.(*streamServer).ServeStream.ServerHandler.func3:+5
golang.org/x/tools/gopls/internal/lsprpc.(*streamServer).ServeStream.handshaker.func4:+52
golang.org/x/tools/gopls@v0.18.1 go1.24.0 darwin/amd64 other,vscode (1)
Comment From: adonovan
This stack zggtYA
was reported by telemetry:
crash/crash
runtime.gopanic:+69
golang.org/x/tools/refactor/satisfy.(*Finder).expr:+168
golang.org/x/tools/refactor/satisfy.(*Finder).stmt:+75
golang.org/x/tools/refactor/satisfy.(*Finder).stmt:+90
golang.org/x/tools/refactor/satisfy.(*Finder).Find:+19
golang.org/x/tools/gopls/internal/golang.(*renamer).satisfy:+27
golang.org/x/tools/gopls/internal/golang.(*renamer).checkMethod:+178
golang.org/x/tools/gopls/internal/golang.(*renamer).check:+16
golang.org/x/tools/gopls/internal/golang.renameObjects:+24
golang.org/x/tools/gopls/internal/golang.renameExported:+56
golang.org/x/tools/gopls/internal/golang.renameOrdinary:+157
golang.org/x/tools/gopls/internal/golang.Rename:+24
golang.org/x/tools/gopls/internal/server.(*server).Rename:+17
golang.org/x/tools/gopls/internal/protocol.serverDispatch:+489
golang.org/x/tools/gopls/internal/lsprpc.(*streamServer).ServeStream.ServerHandler.func3:+5
golang.org/x/tools/gopls/internal/lsprpc.(*streamServer).ServeStream.handshaker.func4:+52
golang.org/x/tools/gopls@v0.18.1 go1.24.1 linux/amd64 vscode (2)
Comment From: adonovan
This stack 9iXGhQ
was reported by telemetry:
crash/crash
runtime.gopanic:+69
golang.org/x/tools/refactor/satisfy.(*Finder).expr:+168
golang.org/x/tools/refactor/satisfy.(*Finder).call:+26
golang.org/x/tools/refactor/satisfy.(*Finder).exprN:+9
golang.org/x/tools/refactor/satisfy.(*Finder).stmt:+35
golang.org/x/tools/refactor/satisfy.(*Finder).stmt:+90
golang.org/x/tools/refactor/satisfy.(*Finder).stmt:+204
golang.org/x/tools/refactor/satisfy.(*Finder).stmt:+90
golang.org/x/tools/refactor/satisfy.(*Finder).Find:+19
golang.org/x/tools/gopls/internal/golang.(*renamer).satisfy:+27
golang.org/x/tools/gopls/internal/golang.(*renamer).checkMethod:+178
golang.org/x/tools/gopls/internal/golang.(*renamer).check:+16
golang.org/x/tools/gopls/internal/golang.renameObjects:+24
golang.org/x/tools/gopls/internal/golang.renameExported:+56
golang.org/x/tools/gopls/internal/golang.renameOrdinary:+157
golang.org/x/tools/gopls/internal/golang.Rename:+24
golang.org/x/tools/gopls@v0.18.1 go1.24.1 darwin/arm64 vscode (2)
Comment From: adonovan
This stack v64Mdw
was reported by telemetry:
crash/crash
runtime.gopanic:+69,+0x167
golang.org/x/tools/refactor/satisfy.(*Finder).expr:+168,+0xa48
golang.org/x/tools/refactor/satisfy.(*Finder).stmt:+97,+0x804
golang.org/x/tools/refactor/satisfy.(*Finder).stmt:+90,+0x985
golang.org/x/tools/refactor/satisfy.(*Finder).Find:+22,+0x206
golang.org/x/tools/gopls/internal/golang.(*renamer).satisfy:+27,+0x31c
golang.org/x/tools/gopls/internal/golang.(*renamer).checkMethod:+178,+0x3e4
golang.org/x/tools/gopls/internal/golang.(*renamer).check:+16,+0x19e
golang.org/x/tools/gopls/internal/golang.renameObjects:+24,+0x2c4
golang.org/x/tools/gopls/internal/golang.renameOrdinary:+106,+0xb2c
golang.org/x/tools/gopls/internal/golang.Rename:+24,+0x1fc
golang.org/x/tools/gopls/internal/server.(*server).Rename:+17,+0x230
golang.org/x/tools/gopls/internal/protocol.serverDispatch:+489,+0x1039
golang.org/x/tools/gopls/internal/lsprpc.(*streamServer).ServeStream.ServerHandler.func4:+5,+0x84
golang.org/x/tools/gopls/internal/lsprpc.(*streamServer).ServeStream.handshaker.func5:+52,+0x908
golang.org/x/tools/gopls/internal/protocol.Handlers.MustReplyHandler.func1:+2,+0xc5
golang.org/x/tools/gopls@v0.19.1 go1.24.4 windows/amd64 vscode (1)