Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cmd/pprof: svg profiles are broken for rpc services #14014

Open
dvyukov opened this issue Jan 19, 2016 · 0 comments

Comments

@dvyukov
Copy link
Member

commented Jan 19, 2016

go version devel +c7754c8 Tue Jan 19 06:20:36 2016 +0000 linux/amd64

SVG profile for my program shows:

svg

You can see that as if reflect.Value.call directly allocates a lot. This does not make sense.

In text profile I see records that are probably these reflect.Value.call allocations. But in SVG they are trimmed at reflect.Value.call. RPC servers can allocate most of its memory during request serving, so this is pretty unfortunate.

944: 3866624 [15104: 61865984] @ 0x452e65 0x56df40 0x56d0b5 0x40b72d 0x40bf66 0x46d5ae 0x8a17ed 0x8a04b1 0x832e52 0x46fbc1
#   0x56df40    github.com/google/syzkaller/prog.calcDynamicPrio+0xb0       gopath/src/github.com/google/syzkaller/prog/prio.go:153
#   0x56d0b5    github.com/google/syzkaller/prog.CalculatePriorities+0x75   gopath/src/github.com/google/syzkaller/prog/prio.go:31
#   0x40b72d    main.(*Manager).minimizeCorpus+0x9ed                gopath/src/github.com/google/syzkaller/syz-manager/manager.go:341
#   0x40bf66    main.(*Manager).Connect+0x216                   gopath/src/github.com/google/syzkaller/syz-manager/manager.go:363
#   0x46d5ae    runtime.call64+0x3e                     go/src/runtime/asm_amd64.s:473
#   0x8a17ed    reflect.Value.call+0x120d                   go/src/reflect/value.go:435
#   0x8a04b1    reflect.Value.Call+0xb1                     go/src/reflect/value.go:303
#   0x832e52    net/rpc.(*service).call+0x1c2                   go/src/net/rpc/server.go:383

1: 1761280 [1: 1761280] @ 0x453261 0x40c701 0x46d5ae 0x8a17ed 0x8a04b1 0x832e52 0x46fbc1
#   0x40c701    main.(*Manager).NewInput+0x611  gopath/src/github.com/google/syzkaller/syz-manager/manager.go:383
#   0x46d5ae    runtime.call64+0x3e     go/src/runtime/asm_amd64.s:473
#   0x8a17ed    reflect.Value.call+0x120d   go/src/reflect/value.go:435
#   0x8a04b1    reflect.Value.Call+0xb1     go/src/reflect/value.go:303
#   0x832e52    net/rpc.(*service).call+0x1c2   go/src/net/rpc/server.go:383

1: 1515520 [1: 1515520] @ 0x453261 0x40d8fb 0x40c6b9 0x46d5ae 0x8a17ed 0x8a04b1 0x832e52 0x46fbc1
#   0x40d8fb    main.(*PersistentSet).add+0x49b gopath/src/github.com/google/syzkaller/syz-manager/persistent.go:100
#   0x40c6b9    main.(*Manager).NewInput+0x5c9  gopath/src/github.com/google/syzkaller/syz-manager/manager.go:385
#   0x46d5ae    runtime.call64+0x3e     go/src/runtime/asm_amd64.s:473
#   0x8a17ed    reflect.Value.call+0x120d   go/src/reflect/value.go:435
#   0x8a04b1    reflect.Value.Call+0xb1     go/src/reflect/value.go:303
#   0x832e52    net/rpc.(*service).call+0x1c2   go/src/net/rpc/server.go:383

@bradfitz bradfitz added this to the Unplanned milestone Jan 21, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.