Skip to content

cmd/pprof: starting pprof with -call_tree makes it panic on top #19380

@ALTree

Description

@ALTree

go version devel +4775b7feb1 Thu Mar 2 23:49:32 2017 +0000 linux/amd64

GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/adonizetti/gocode"
GORACE=""
GOROOT="/home/adonizetti/go"
GOTOOLDIR="/home/adonizetti/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build965176492=/tmp/go-build -gno-record-gcc-switches"
CXX="g++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"

Open any pprof (big enough) profile with the "call_tree" option activated:

$ gotip tool pprof -call_tree cpu.prof

issue a top command:

(pprof) top
panic: TrimTree only works on trees

goroutine 1 [running]:
cmd/vendor/github.com/google/pprof/internal/graph.(*Graph).TrimTree(0xc420451c40, 0xc4203d5080)
	/home/adonizetti/go/src/cmd/vendor/github.com/google/pprof/internal/graph/graph.go:431 +0x64b
cmd/vendor/github.com/google/pprof/internal/report.(*Report).newTrimmedGraph(0xc420451ac0, 0x184, 0x840ee824000a0600, 0xc42046c500, 0x0)
	/home/adonizetti/go/src/cmd/vendor/github.com/google/pprof/internal/report/report.go:139 +0x134
cmd/vendor/github.com/google/pprof/internal/report.printText(0xaa4c40, 0xc42010c000, 0xc420451ac0, 0xc42004bb08, 0x7a2570)
	/home/adonizetti/go/src/cmd/vendor/github.com/google/pprof/internal/report/report.go:682 +0x43
cmd/vendor/github.com/google/pprof/internal/report.Generate(0xaa4c40, 0xc42010c000, 0xc420451ac0, 0xaa7780, 0xc42012e8c0, 0x0, 0x0)
	/home/adonizetti/go/src/cmd/vendor/github.com/google/pprof/internal/report/report.go:94 +0x2e0
cmd/vendor/github.com/google/pprof/internal/driver.generateReport(0xc420268280, 0xc42037d950, 0x1, 0x1, 0xc4203e6e70, 0xc420071560, 0xc4203e6e70, 0x0)
	/home/adonizetti/go/src/cmd/vendor/github.com/google/pprof/internal/driver/driver.go:99 +0x246
cmd/vendor/github.com/google/pprof/internal/driver.interactive(0xc420154b40, 0xc420071560, 0xc420154b40, 0x0)
	/home/adonizetti/go/src/cmd/vendor/github.com/google/pprof/internal/driver/interactive.go:111 +0x62e
cmd/vendor/github.com/google/pprof/internal/driver.PProf(0xc42004be40, 0x0, 0x0)
	/home/adonizetti/go/src/cmd/vendor/github.com/google/pprof/internal/driver/driver.go:55 +0x154
cmd/vendor/github.com/google/pprof/driver.PProf(0xc42004bf18, 0xc42012e8b0, 0xc420156540)
	/home/adonizetti/go/src/cmd/vendor/github.com/google/pprof/driver/driver.go:32 +0x1c7
main.main()
	/home/adonizetti/go/src/cmd/pprof/pprof.go:34 +0xbe

This does not happen on go1.8

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions