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

runtime: current heapdump format is undocumented #15169

mdempsky opened this issue Apr 7, 2016 · 5 comments

runtime: current heapdump format is undocumented #15169

mdempsky opened this issue Apr 7, 2016 · 5 comments


Copy link

@mdempsky mdempsky commented Apr 7, 2016

runtime/debug.WriteHeapDump's godocs link to, but that describes a file format that starts with "go1.5 heap dump\n".

Currently, runtime.dumphdr is "go1.7 heap dump\n". Before 30f93f0, it was "go1.6 heap dump\n". So that's at least two revisions to the heap dump file format that are undocumented.

Relevant because might change the heap dump format again.

/cc @crawshaw

Copy link

@bradfitz bradfitz commented Apr 7, 2016

We need to stop documenting the heap dump in a wiki and document it in the main go repo in the same commit where the format changes.

Ideally with, say, tests. And ideally end-to-end tests writing then reading the heap dump that would break if the heapdump format changes. (which empirically it does, regularly)

/cc @randall77

@bradfitz bradfitz modified the milestones: Unplanned, Go1.7 Apr 7, 2016
Copy link

@randall77 randall77 commented Apr 7, 2016

Copy link

@gopherbot gopherbot commented Apr 11, 2016

CL mentions this issue.

gopherbot pushed a commit that referenced this issue Apr 11, 2016
After mdempsky's recent changes, these are the only references to
"TheChar" left in the Go tree. Without the context, and without
knowing the history, this is confusing.

Also rename sys.TheGoos and sys.TheGoarch to sys.GOOS
and sys.GOARCH.

Also change the heap dump format to include sys.GOARCH
rather than TheChar, which is no longer a concept.

Updates #15169 (changes heapdump format)

Change-Id: I3e99eeeae00ed55d7d01e6ed503d958c6e931dca
Reviewed-by: Matthew Dempsky <>
@rsc rsc modified the milestones: Go1.8, Go1.7 May 18, 2016
Copy link

@rsc rsc commented Nov 11, 2016

Undocumented but also nearly unusable. Leave both for Go 1.9.

@rsc rsc modified the milestones: Go1.9, Go1.8 Nov 11, 2016
Copy link

@aclements aclements commented Jun 7, 2017

Bumping to 1.10. Most likely we're going to rip out the heap dump format and replace it with @randall77's core dump reader, at which point this will become obsolete, but that's not going to happen until 1.10.

@aclements aclements modified the milestones: Go1.10, Go1.9 Jun 7, 2017
@rsc rsc modified the milestones: Go1.10, Go1.11 Nov 22, 2017
@gopherbot gopherbot modified the milestones: Go1.11, Unplanned May 23, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
7 participants