Skip to content

runtime/pprof: bad stack split during tests #10450

@davecheney

Description

@davecheney

089d363 caused the runtime/pprof tests to fail on linux/arm64

runtime: newstack sp=0x4208025ed0 stack=[0x4208025800, 0x4208026000]
    morebuf={pc:0x436994 sp:0x4208025ed0 lr:0x0}
    sched={pc:0x42b8ac sp:0x4208025ed0 lr:0x436994 ctxt:0x0}
runtime.exitsyscall(0x0)
    /home/dfc/workspace/linux-arm64-canonical-2f98bac3107d/go/src/runtime/proc1.go:1862 +0x244
runtime.notetsleepg(0x791bb8, 0x1a654cbae9, 0x0)
    /home/dfc/workspace/linux-arm64-canonical-2f98bac3107d/go/src/runtime/lock_futex.go:200 +0x98
runtime.timerproc()
    /home/dfc/workspace/linux-arm64-canonical-2f98bac3107d/go/src/runtime/time.go:209 +0x118
runtime.goexit()
    /home/dfc/workspace/linux-arm64-canonical-2f98bac3107d/go/src/runtime/asm_arm64.s:971 +0x4
fatal error: runtime: stack split at bad time

runtime stack:
runtime.throw(0x69f530, 0x20)
    /home/dfc/workspace/linux-arm64-canonical-2f98bac3107d/go/src/runtime/panic.go:543 +0x80
runtime.newstack()
    /home/dfc/workspace/linux-arm64-canonical-2f98bac3107d/go/src/runtime/stack1.go:654 +0x4c8
runtime.morestack()
    /home/dfc/workspace/linux-arm64-canonical-2f98bac3107d/go/src/runtime/asm_arm64.s:297 +0x5c

goroutine 5 [syscall]:
runtime.exitsyscall(0x0)
    /home/dfc/workspace/linux-arm64-canonical-2f98bac3107d/go/src/runtime/proc1.go:1862 +0x244 fp=0x4208025f10 sp=0x4208025ed0
runtime.notetsleepg(0x791bb8, 0x1a654cbae9, 0x0)
    /home/dfc/workspace/linux-arm64-canonical-2f98bac3107d/go/src/runtime/lock_futex.go:200 +0x98 fp=0x4208025f40 sp=0x4208025f10
runtime.timerproc()
    /home/dfc/workspace/linux-arm64-canonical-2f98bac3107d/go/src/runtime/time.go:209 +0x118 fp=0x4208025fd0 sp=0x4208025f40
runtime.goexit()
    /home/dfc/workspace/linux-arm64-canonical-2f98bac3107d/go/src/runtime/asm_arm64.s:971 +0x4 fp=0x4208025fd0 sp=0x4208025fd0
created by runtime.addtimerLocked
    /home/dfc/workspace/linux-arm64-canonical-2f98bac3107d/go/src/runtime/time.go:116 +0x248

goroutine 1 [chan receive]:
testing.RunTests(0x6c8380, 0x77ff00, 0xe, 0xe, 0x4208086001)
    /home/dfc/workspace/linux-arm64-canonical-2f98bac3107d/go/src/testing/testing.go:561 +0x808
testing.(*M).Run(0x42080141e0, 0x7b2f60)
    /home/dfc/workspace/linux-arm64-canonical-2f98bac3107d/go/src/testing/testing.go:490 +0x94
main.main()
    /tmp/go-build084722531/runtime/pprof/_test/_testmain.go:82 +0x1f8

goroutine 17 [syscall, locked to thread]:
runtime.goexit()
    /home/dfc/workspace/linux-arm64-canonical-2f98bac3107d/go/src/runtime/asm_arm64.s:971 +0x4

goroutine 39 [running]:
    goroutine running on other thread; stack unavailable
created by testing.RunTests
    /home/dfc/workspace/linux-arm64-canonical-2f98bac3107d/go/src/testing/testing.go:560 +0x7d8

goroutine 40 [runnable]:
runtime/pprof.StartTrace.func1(0x7f86ea1230, 0x42081c0380)
    /home/dfc/workspace/linux-arm64-canonical-2f98bac3107d/go/src/runtime/pprof/pprof.go:627
created by runtime/pprof.StartTrace
    /home/dfc/workspace/linux-arm64-canonical-2f98bac3107d/go/src/runtime/pprof/pprof.go:635 +0x84

goroutine 41 [runnable]:
runtime/pprof_test.TestTraceSymbolize.func1()
    /home/dfc/workspace/linux-arm64-canonical-2f98bac3107d/go/src/runtime/pprof/trace_stack_test.go:37
created by runtime/pprof_test.TestTraceSymbolize
    /home/dfc/workspace/linux-arm64-canonical-2f98bac3107d/go/src/runtime/pprof/trace_stack_test.go:39 +0x184

goroutine 42 [runnable]:
runtime/pprof_test.TestTraceSymbolize.func2()
    /home/dfc/workspace/linux-arm64-canonical-2f98bac3107d/go/src/runtime/pprof/trace_stack_test.go:40
created by runtime/pprof_test.TestTraceSymbolize
    /home/dfc/workspace/linux-arm64-canonical-2f98bac3107d/go/src/runtime/pprof/trace_stack_test.go:43 +0x19c

goroutine 43 [runnable]:
runtime/pprof_test.TestTraceSymbolize.func3()
    /home/dfc/workspace/linux-arm64-canonical-2f98bac3107d/go/src/runtime/pprof/trace_stack_test.go:44
created by runtime/pprof_test.TestTraceSymbolize
    /home/dfc/workspace/linux-arm64-canonical-2f98bac3107d/go/src/runtime/pprof/trace_stack_test.go:47 +0x1b4

goroutine 44 [runnable]:
runtime/pprof_test.TestTraceSymbolize.func4(0x4208017260)
    /home/dfc/workspace/linux-arm64-canonical-2f98bac3107d/go/src/runtime/pprof/trace_stack_test.go:49
created by runtime/pprof_test.TestTraceSymbolize
    /home/dfc/workspace/linux-arm64-canonical-2f98bac3107d/go/src/runtime/pprof/trace_stack_test.go:51 +0x1f0

goroutine 45 [runnable]:
runtime/pprof_test.TestTraceSymbolize.func5(0x42080172c0)
    /home/dfc/workspace/linux-arm64-canonical-2f98bac3107d/go/src/runtime/pprof/trace_stack_test.go:53
created by runtime/pprof_test.TestTraceSymbolize
    /home/dfc/workspace/linux-arm64-canonical-2f98bac3107d/go/src/runtime/pprof/trace_stack_test.go:55 +0x22c

goroutine 46 [runnable]:
runtime/pprof_test.TestTraceSymbolize.func6(0x4208017320, 0x4208017380)
    /home/dfc/workspace/linux-arm64-canonical-2f98bac3107d/go/src/runtime/pprof/trace_stack_test.go:58
created by runtime/pprof_test.TestTraceSymbolize
    /home/dfc/workspace/linux-arm64-canonical-2f98bac3107d/go/src/runtime/pprof/trace_stack_test.go:63 +0x290

goroutine 47 [runnable]:
runtime/pprof_test.TestTraceSymbolize.func7(0x42080abdc0)
    /home/dfc/workspace/linux-arm64-canonical-2f98bac3107d/go/src/runtime/pprof/trace_stack_test.go:66
created by runtime/pprof_test.TestTraceSymbolize
    /home/dfc/workspace/linux-arm64-canonical-2f98bac3107d/go/src/runtime/pprof/trace_stack_test.go:69 +0x2d0

goroutine 48 [runnable]:
runtime/pprof_test.TestTraceSymbolize.func8(0x420e6a4180)
    /home/dfc/workspace/linux-arm64-canonical-2f98bac3107d/go/src/runtime/pprof/trace_stack_test.go:72
created by runtime/pprof_test.TestTraceSymbolize
    /home/dfc/workspace/linux-arm64-canonical-2f98bac3107d/go/src/runtime/pprof/trace_stack_test.go:74 +0x318

goroutine 49 [runnable]:
runtime/pprof_test.TestTraceSymbolize.func9(0x4208011940)
    /home/dfc/workspace/linux-arm64-canonical-2f98bac3107d/go/src/runtime/pprof/trace_stack_test.go:76
created by runtime/pprof_test.TestTraceSymbolize
    /home/dfc/workspace/linux-arm64-canonical-2f98bac3107d/go/src/runtime/pprof/trace_stack_test.go:80 +0x420

goroutine 50 [runnable]:
runtime/pprof_test.TestTraceSymbolize.func10(0x7f86eb7ad8, 0x4208028108, 0x4208072090)
    /home/dfc/workspace/linux-arm64-canonical-2f98bac3107d/go/src/runtime/pprof/trace_stack_test.go:85
created by runtime/pprof_test.TestTraceSymbolize
    /home/dfc/workspace/linux-arm64-canonical-2f98bac3107d/go/src/runtime/pprof/trace_stack_test.go:91 +0x54c

goroutine 51 [runnable]:
runtime/pprof_test.TestTraceSymbolize.func11(0x4208028110, 0x4208017440)
    /home/dfc/workspace/linux-arm64-canonical-2f98bac3107d/go/src/runtime/pprof/trace_stack_test.go:99
created by runtime/pprof_test.TestTraceSymbolize
    /home/dfc/workspace/linux-arm64-canonical-2f98bac3107d/go/src/runtime/pprof/trace_stack_test.go:103 +0x6dc
FAIL    runtime/pprof   6.783s

/cc @minux @dvyukov

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions