aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/pprof
diff options
context:
space:
mode:
authormatloob <matloob@golang.org>2025-10-15 12:52:47 -0400
committerMichael Matloob <matloob@golang.org>2025-10-15 11:15:17 -0700
commitbb5eb5171535b9080055fee5996bd55398202124 (patch)
treeeedc5ce80edb8b34cc37c4a5215e8aa203366734 /src/runtime/pprof
parent5c9a26c7f882dba5bfe10036815bcb239dd9b7e8 (diff)
downloadgo-bb5eb5171535b9080055fee5996bd55398202124.tar.xz
runtime/pprof: fix errors in pprof_test
I think the original depth-1 argument to allocDeep was correct. Reverted that, and also the change to maxSkip in mprof.go, which was also incorrect. I think before we were usually passing accidentally in the loop over matched stacks when we really should usually have been passing in the previous loop. Change-Id: I6a6a696463e2baf045b66f418d7afbfcb49258e4 Reviewed-on: https://go-review.googlesource.com/c/go/+/712100 Reviewed-by: Michael Matloob <matloob@google.com> TryBot-Bypass: Michael Matloob <matloob@golang.org> Reviewed-by: Michael Knyszek <mknyszek@google.com>
Diffstat (limited to 'src/runtime/pprof')
-rw-r--r--src/runtime/pprof/pprof_test.go6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/runtime/pprof/pprof_test.go b/src/runtime/pprof/pprof_test.go
index 23d3cf585e..b816833e52 100644
--- a/src/runtime/pprof/pprof_test.go
+++ b/src/runtime/pprof/pprof_test.go
@@ -2549,9 +2549,6 @@ func TestProfilerStackDepth(t *testing.T) {
for _, test := range tests {
t.Run(test.profiler, func(t *testing.T) {
- if test.profiler == "heap" {
- testenv.SkipFlaky(t, 74029)
- }
var buf bytes.Buffer
if err := Lookup(test.profiler).WriteTo(&buf, 0); err != nil {
t.Fatalf("failed to write heap profile: %v", err)
@@ -2586,6 +2583,7 @@ func TestProfilerStackDepth(t *testing.T) {
t.Logf("matched stack=%s", stk)
if len(stk) != depth {
t.Errorf("want stack depth = %d, got %d", depth, len(stk))
+ continue
}
if rootFn, wantFn := stk[depth-1], "runtime/pprof.allocDeep"; rootFn != wantFn {
@@ -2663,7 +2661,7 @@ func goroutineDeep(t *testing.T, n int) {
// guaranteed to have exactly the desired depth with produceProfileEvents as
// their root frame which is expected by TestProfilerStackDepth.
func produceProfileEvents(t *testing.T, depth int) {
- allocDeep(depth + 1) // +1 for produceProfileEvents, **
+ allocDeep(depth - 1) // -1 for produceProfileEvents, **
blockChanDeep(t, depth-2) // -2 for produceProfileEvents, **, chanrecv1
blockMutexDeep(t, depth-2) // -2 for produceProfileEvents, **, Unlock
memSink = nil