Skip to content

runtime/pprof: debug=1 output includes 0x0 line in each block #16349

@rhysh

Description

@rhysh

In go1.7rc1, there's an extra line of output in each block of comments in debug=1 profiles. It has address 0x0, and does not include a function name. It seems to correspond to the runtime.goexit frame. I don't know that this is hurting anything (the data lines seem to be valid and unchanged, it's just a difference in the comments), though I also don't know the extent to which tools in the wild make use of those comment lines.


  1. What version of Go are you using (go version)?

I see this behavior in go1.7rc1, and not in go1.6.2.

  1. What operating system and processor architecture are you using (go env)?

linux/amd64

  1. What did you do?

I visually scanned a /debug/pprof/goroutine?debug=1 profile.

  1. What did you expect to see?

I'd expect each non-comment profile line to end with an address in runtime.goexit. I'd expect to not see an associated line in the following comments.

  1. What did you see instead?

The goroutine profile has each stack starting at an address in runtime.goexit. In go1.6.2, this stack frame doesn't get an associated comment in debug=1 profiles. In go1.7rc1, it gets a comment for the frame, showing address 0x0 and no associated symbol name.

go1.6.2:

6 @ 0x439737 0x4490c9 0x4485fc 0x5e1c6b 0x46d681
#   0x5e1c6b    net/http.(*persistConn).writeLoop+0x49b /usr/local/go/src/net/http/transport.go:1277

and from go tool objdump:

TEXT runtime.goexit(SB) /usr/local/go/src/runtime/asm_amd64.s
    asm_amd64.s:1998    0x46d680    90      NOPL
    asm_amd64.s:1999    0x46d681    e8fa1efdff  CALL runtime.goexit1(SB)
    asm_amd64.s:2001    0x46d686    90      NOPL

go1.7rc1:

4 @ 0x43316a 0x442685 0x44148c 0x59211d 0x463b81
#   0x59211c    net/http.(*persistConn).writeLoop+0x3bc /usr/local/go/src/net/http/transport.go:1594
#   0x0

and from go tool objdump:

TEXT runtime.goexit(SB) /usr/local/go/src/runtime/asm_amd64.s
    asm_amd64.s:2086    0x463b80    90      NOPL
    asm_amd64.s:2087    0x463b81    e8ca4dfdff  CALL runtime.goexit1(SB)
    asm_amd64.s:2089    0x463b86    90      NOPL

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions