gopls/internal/analysis: noresultvalues diagnostic triggers "end > end of file + 1" bug (via telemetry)
#!stacks
"bug.Reportf" && "cache.(*action).exec.func2:+78"
if end > fileEnd+1 {
if !fixed {
bug.Reportf("end > end of file + 1")
}
end = fileEnd
}
This stack lMZltw was reported by telemetry:
noresultvalues reports a diagnostic with an End position well beyond EOF:
pass.Report(analysis.Diagnostic{
Pos: err.Pos,
End: analysisinternal.TypeErrorEndPos(pass.Fset, buf.Bytes(), err.Pos),
Message: err.Msg,
SuggestedFixes: []analysis.SuggestedFix{{
Message: "Delete return values",
TextEdits: []analysis.TextEdit{{
Pos: retStmt.Pos(),
End: retStmt.End(),
NewText: []byte("return"),
}},
}},
})
The file was not "fixed", i.e. it is unmodified parser output.
gopls/bug
golang.org/x/tools/gopls/internal/util/bug.report:+35
golang.org/x/tools/gopls/internal/util/bug.Reportf:+1
golang.org/x/tools/gopls/internal/cache.(*action).exec.func2:+78
golang.org/x/tools/gopls/internal/cache.toGobDiagnostic:+32
golang.org/x/tools/gopls/internal/cache.(*action).exec.func3:+1
golang.org/x/tools/gopls/internal/analysis/noresultvalues.run.func1:+25
golang.org/x/tools/go/ast/inspector.(*Inspector).Preorder:+11
golang.org/x/tools/gopls/internal/analysis/noresultvalues.run:+7
golang.org/x/tools/gopls/internal/cache.(*action).exec.func7:+31
golang.org/x/tools/gopls/internal/cache.(*action).exec:+277
golang.org/x/tools/gopls/internal/cache.execActions.func1.1:+2
sync.(*Once).doSlow:+5
sync.(*Once).Do:=65
golang.org/x/tools/gopls/internal/cache.execActions.func1:+2
runtime.goexit:+0
golang.org/x/tools/[email protected] go1.22.4 darwin/arm64 vscode (1)
Issue created by golang.org/x/tools/gopls/internal/telemetry/cmd/stacks. Dups: PFz3wQ
Similar Issues
- x/tools/gopls: "internal error converting diagnostic" (bug reported by telemetry) #64547
- x/tools/gopls: off-by-one in diagnostic results? #35116
- x/tools/gopls: toGobDiagnostic bug reported by telemetry #65695
- x/tools/gopls: Analyze bug reported by telemetry #64238
- x/tools/gopls: out-of-bounds index in "stub methods" code action #64087
- x/tools/gopls: "could not compute pos to range for %v: %v" bug (reported by telemetry) #65960
- x/tools/gopls: span.FromUTF16Column should handle positions beyond end of line #31883
- x/tools/gopls: "internal error reading (shared cache|typerefs data)" bug report (via telemetry) #67433
- x/tools/gopls: diagnostic doesn't go away #54777
- x/tools/gopls: initial diagnostic run "overwrites" subsequent file-open diagnostics #36452
(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)
This stack PFz3wQ was reported by telemetry:
gopls/buggolang.org/x/tools/gopls/internal/util/bug.report:+35golang.org/x/tools/gopls/internal/util/bug.Reportf:+1golang.org/x/tools/gopls/internal/cache.(*action).exec.func2:+78golang.org/x/tools/gopls/internal/cache.toGobDiagnostic:+32golang.org/x/tools/gopls/internal/cache.(*action).exec.func3:+1golang.org/x/tools/gopls/internal/analysis/noresultvalues.run.func1:+25golang.org/x/tools/go/ast/inspector.(*Inspector).Preorder:+11golang.org/x/tools/gopls/internal/analysis/noresultvalues.run:+7golang.org/x/tools/gopls/internal/cache.(*action).exec.func7:+31golang.org/x/tools/gopls/internal/cache.(*action).exec:+277golang.org/x/tools/gopls/internal/cache.execActions.func1.1:+2sync.(*Once).doSlow:+5sync.(*Once).Do:=67golang.org/x/tools/gopls/internal/cache.execActions.func1:+2runtime.goexit:+0
golang.org/x/tools/[email protected] go1.23.2 linux/amd64 other,vscode (1)
golang.org/x/tools/[email protected] go1.23.1 linux/amd64 vscode (1)
This stack uU3LXw was reported by telemetry:
gopls/buggolang.org/x/tools/gopls/internal/util/bug.report:+35golang.org/x/tools/gopls/internal/util/bug.Reportf:+1golang.org/x/tools/gopls/internal/cache.(*action).exec.func2:+78golang.org/x/tools/gopls/internal/cache.toGobDiagnostic:+32golang.org/x/tools/gopls/internal/cache.(*action).exec.func3:+1golang.org/x/tools/gopls/internal/analysis/nonewvars.run.func1:+29golang.org/x/tools/go/ast/inspector.(*Inspector).Preorder:+11golang.org/x/tools/gopls/internal/analysis/nonewvars.run:+7golang.org/x/tools/gopls/internal/cache.(*action).exec.func7:+31golang.org/x/tools/gopls/internal/cache.(*action).exec:+277golang.org/x/tools/gopls/internal/cache.execActions.func1.1:+2sync.(*Once).doSlow:+5sync.(*Once).Do:=67golang.org/x/tools/gopls/internal/cache.execActions.func1:+2runtime.goexit:+0
golang.org/x/tools/[email protected] go1.23.0 linux/amd64 vscode (1)
This is probably a bit gnarly to track down, though surely it's a go/parser bug. Bumping to v0.18, when hopefully we can fix go/parser.
This stack s5dvOQ was reported by telemetry:
gopls/buggolang.org/x/tools/gopls/internal/util/bug.report:+35golang.org/x/tools/gopls/internal/util/bug.Reportf:+1golang.org/x/tools/gopls/internal/cache.(*action).exec.func2:+78golang.org/x/tools/gopls/internal/cache.toGobDiagnostic:+32golang.org/x/tools/gopls/internal/cache.(*action).exec.func3:+1golang.org/x/tools/gopls/internal/analysis/noresultvalues.run.func1:+25golang.org/x/tools/go/ast/inspector.(*Inspector).Preorder:+20golang.org/x/tools/gopls/internal/analysis/noresultvalues.run:+7golang.org/x/tools/gopls/internal/cache.(*action).exec.func7:+31golang.org/x/tools/gopls/internal/cache.(*action).exec:+277golang.org/x/tools/gopls/internal/cache.execActions.func1.1:+2sync.(*Once).doSlow:+5sync.(*Once).Do:=67golang.org/x/tools/gopls/internal/cache.execActions.func1:+2runtime.goexit:+0
golang.org/x/tools/[email protected] go1.23.3 windows/amd64 vscode (1)
This stack v7eTGw was reported by telemetry:
gopls/buggolang.org/x/tools/gopls/internal/util/bug.report:+35golang.org/x/tools/gopls/internal/util/bug.Reportf:+1golang.org/x/tools/gopls/internal/cache.(*action).exec.func2:+78golang.org/x/tools/gopls/internal/cache.toGobDiagnostic:+32golang.org/x/tools/gopls/internal/cache.(*action).exec.func3:+1golang.org/x/tools/gopls/internal/analysis/nonewvars.run.func1:+29golang.org/x/tools/go/ast/inspector.(*Inspector).Preorder:+20golang.org/x/tools/gopls/internal/analysis/nonewvars.run:+7golang.org/x/tools/gopls/internal/cache.(*action).exec.func7:+31golang.org/x/tools/gopls/internal/cache.(*action).exec:+277golang.org/x/tools/gopls/internal/cache.execActions.func1.1:+2sync.(*Once).doSlow:+5sync.(*Once).Do:=67golang.org/x/tools/gopls/internal/cache.execActions.func1:+2runtime.goexit:+0
golang.org/x/tools/[email protected] go1.23.4 windows/amd64 vscode (1)
This stack euXauA was reported by telemetry:
gopls/buggolang.org/x/tools/gopls/internal/util/bug.report:+35golang.org/x/tools/gopls/internal/util/bug.Reportf:+1golang.org/x/tools/gopls/internal/cache.(*action).exec.func2:+78golang.org/x/tools/gopls/internal/cache.toGobDiagnostic:+32golang.org/x/tools/gopls/internal/cache.(*action).exec.func3:+6golang.org/x/tools/gopls/internal/analysis/noresultvalues.run.func1:+25golang.org/x/tools/go/ast/inspector.(*Inspector).Preorder:+20golang.org/x/tools/gopls/internal/analysis/noresultvalues.run:+7golang.org/x/tools/gopls/internal/cache.(*action).exec.func7:+31golang.org/x/tools/gopls/internal/cache.(*action).exec:+282golang.org/x/tools/gopls/internal/cache.execActions.func1.1:+2sync.(*Once).doSlow:+5sync.(*Once).Do:=67golang.org/x/tools/gopls/internal/cache.execActions.func1:+2runtime.goexit:+0
golang.org/x/tools/[email protected] go1.23.6 darwin/arm64 vscode (1)
This stack jAlTmg was reported by telemetry:
gopls/buggolang.org/x/tools/gopls/internal/util/bug.report:+35golang.org/x/tools/gopls/internal/util/bug.Reportf:+1golang.org/x/tools/gopls/internal/cache.(*action).exec.func2:+78golang.org/x/tools/gopls/internal/cache.toGobDiagnostic:+32golang.org/x/tools/gopls/internal/cache.(*action).exec.func3:+6golang.org/x/tools/gopls/internal/analysis/nonewvars.run.func1:+29golang.org/x/tools/go/ast/inspector.(*Inspector).Preorder:+20golang.org/x/tools/gopls/internal/analysis/nonewvars.run:+7golang.org/x/tools/gopls/internal/cache.(*action).exec.func7:+31golang.org/x/tools/gopls/internal/cache.(*action).exec:+282golang.org/x/tools/gopls/internal/cache.execActions.func1.1:+2sync.(*Once).doSlow:+5sync.(*Once).Do:=67golang.org/x/tools/gopls/internal/cache.execActions.func1:+2runtime.goexit:+0
golang.org/x/tools/[email protected] go1.23.4 linux/amd64 vscode (1)
This stack Ube-fg was reported by telemetry:
gopls/buggolang.org/x/tools/gopls/internal/util/bug.report:+35golang.org/x/tools/gopls/internal/util/bug.Reportf:+1golang.org/x/tools/gopls/internal/cache.(*action).exec.func2:+78golang.org/x/tools/gopls/internal/cache.toGobDiagnostic:+32golang.org/x/tools/gopls/internal/cache.(*action).exec.func3:+6golang.org/x/tools/gopls/internal/analysis/noresultvalues.run.func1:+25golang.org/x/tools/go/ast/inspector.(*Inspector).Preorder:+20golang.org/x/tools/gopls/internal/analysis/noresultvalues.run:+7golang.org/x/tools/gopls/internal/cache.(*action).exec.func7:+31golang.org/x/tools/gopls/internal/cache.(*action).exec:+282golang.org/x/tools/gopls/internal/cache.execActions.func1.1:+2sync.(*Once).doSlow:+5sync.(*Once).Do:=69golang.org/x/tools/gopls/internal/cache.execActions.func1:+2runtime.goexit:+0
golang.org/x/tools/[email protected] go1.24.0 linux/amd64 other,vscode (1)
Related to:
- https://github.com/golang/go/issues/71659
- https://github.com/golang/go/issues/71812
CL https://go.dev/cl/666675 should have effectively mitigated this.
This stack 20eLzA was reported by telemetry:
gopls/buggolang.org/x/tools/gopls/internal/util/bug.report:+35golang.org/x/tools/gopls/internal/util/bug.Reportf:+1golang.org/x/tools/gopls/internal/cache.(*action).exec.func2:+78golang.org/x/tools/gopls/internal/cache.toGobDiagnostic:+32golang.org/x/tools/gopls/internal/cache.(*action).exec.func3:+6golang.org/x/tools/gopls/internal/analysis/nonewvars.run.func1:+29golang.org/x/tools/go/ast/inspector.(*Inspector).Preorder:+20golang.org/x/tools/gopls/internal/analysis/nonewvars.run:+7golang.org/x/tools/gopls/internal/cache.(*action).exec.func7:+31golang.org/x/tools/gopls/internal/cache.(*action).exec:+282golang.org/x/tools/gopls/internal/cache.execActions.func1.1:+2sync.(*Once).doSlow:+5sync.(*Once).Do:=69golang.org/x/tools/gopls/internal/cache.execActions.func1:+2runtime.goexit:+0
golang.org/x/tools/[email protected] go1.24.3 linux/amd64 vscode (1)