net/http/pprof: malformed delta profiles caused by CL 483137 #64566
Labels
compiler/runtime
Issues related to the Go compiler and/or runtime.
FrozenDueToAge
NeedsFix
The path to resolution is known, but the work has not been done.
release-blocker
Milestone
As of https://go.dev/cl/483137,
internal/profile.(*Profile).postDecode
returns early if the profile is "empty" (i.e., contains no samples).The runtime can generate profiles with no samples. e.g., a mutex profile when there hasn't been any sampled contention.
Such profiles are still valid, despite containing no samples. e.g., they still include the sample types and mapping. As a result of this CL, the parsed
Profile
type of such a profile does not have any of its strings extracted from the string table. If such a profile it rewritten viaProfile.Write
, it will be missing string values.e.g.,
Good (before):
Bad (after):
The only users of
internal/profile.(*Profile).Parse
are PGO andnet/http/pprof
'sserveDeltaProfile
.PGO isn't very interesting with an empty profile, but empty profiles are still interesting when collecting delta profiles.
pprof
chokes when trying to parse one of these malformed profiles:I will send a fix for this.
cc @mvdan @cherrymui @golang/runtime
The text was updated successfully, but these errors were encountered: