From 64519baf3802f96a813f3f35e87aefa30a5f5f73 Mon Sep 17 00:00:00 2001 From: Michael Pratt Date: Mon, 9 Jan 2023 13:59:54 -0500 Subject: [PATCH] cmd/compile/internal/pgo: add hint to missing start_line error Profiles only began adding Function.start_line in 1.20. If it is missing, add a hint to the error message that they may need to profile a build of the application built with a newer version of the toolchain. Technically profiles are not required to come from Go itself (e.g., they could be converted from perf), but in practice they most likely are. Fixes #57674. Change-Id: I87eca126d3fed0cff94bbb8dd748bd4652f88b12 Reviewed-on: https://go-review.googlesource.com/c/go/+/461195 TryBot-Result: Gopher Robot Reviewed-by: Cherry Mui Run-TryBot: Michael Pratt --- src/cmd/compile/internal/pgo/irgraph.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cmd/compile/internal/pgo/irgraph.go b/src/cmd/compile/internal/pgo/irgraph.go index 311f20ed81..bf11e365f1 100644 --- a/src/cmd/compile/internal/pgo/irgraph.go +++ b/src/cmd/compile/internal/pgo/irgraph.go @@ -217,7 +217,7 @@ func (p *Profile) processprofileGraph(g *Graph) bool { // TODO(prattic): If Function.start_line is missing we could // fall back to using absolute line numbers, which is better // than nothing. - log.Fatal("PGO profile missing Function.start_line data") + log.Fatal("PGO profile missing Function.start_line data (Go version of profiled application too old? Go 1.20+ automatically adds this to profiles)") } return true -- 2.48.1