go/types: SEGV while loading types.Var.name field (lookupScope returns invalid *types.Var) #73261
Labels
gopls/memory-corruption
"can't happen" gopls crashes (races, unsafe, miscompile, runtime bugs, faulty HW)
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.
Issue created by stacks.
We have a non-nil Object interface value (witness dominating control flow), evidently containing a
*types.Var
(see traceback), whose Name() method call crashes. The only instruction in Var.Name is a 2-word load from theobject.name
field, so the*types.Var
pointer is either nil or invalid.This stack
t8TEng
was reported by telemetry:crash/crash
runtime.throw:+9
runtime.sigpanic:+33
go/types.(*Var).Name:+0
go/types.(*Checker).ident:+30
go/types.(*Checker).exprInternal:+11
go/types.(*Checker).rawExpr:+10
go/types.(*Checker).exprOrType:+1
go/types.(*Checker).selector:+97
go/types.(*Checker).exprInternal:+308
go/types.(*Checker).rawExpr:+10
go/types.(*Checker).exprOrType:+1
go/types.(*Checker).selector:+97
go/types.(*Checker).exprInternal:+308
go/types.(*Checker).rawExpr:+10
go/types.(*Checker).exprOrType:+1
go/types.(*Checker).callExpr:+14
@griesemer
The text was updated successfully, but these errors were encountered: