New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 694792 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Last visit > 30 days ago
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug
Hotlist-MemoryInfra

Blocking:
issue 698266
issue 686208



Sign in to add a comment

Create addr2line equiv for windows stack traces from memory profiler

Project Member Reported by ajwong@chromium.org, Feb 21 2017

Issue description

To allow for tool convergence across platform, we need something like addr2line woven into catapult:

  https://cs.chromium.org/chromium/src/third_party/catapult/tracing/bin/symbolize_trace?q=symbolize_trace+package:%5Echromium$&l=1

Such that we can symbolize traces that are included in memory dumps.
 

Comment 1 by ajwong@chromium.org, Feb 21 2017

Blocking: 686208
Blocking: 698266
Project Member

Comment 3 by bugdroid1@chromium.org, Mar 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/bf193279edce86f900ae5b222dc93ea427ae1ff0

commit bf193279edce86f900ae5b222dc93ea427ae1ff0
Author: ajwong <ajwong@google.com>
Date: Thu Mar 16 00:00:44 2017

Build addr2line-pdb from tcmalloc for use in memory-infra symbolization

The memory-infra tools were first written on linux where the
symbolization was done using addr2line. Turns out tcmalloc has some old
code (with a few small bugs) that wraps the windows dbghelp.dll
symbolization APIs in an addr2line-like interface called addr2line-pdb.

This CL
  * fixes the small format string bugs
  * makes the windows library configuration #defines more friendly
    for chromium build
  * modifies addr2line to expect addresses relative to DllBase to better
    simulate how addr2line works with modules in linux.

The last point is important. Windows DLL have a concept of "default load
address" which hints to the OS where to load the binary image after
relocation. The dbghelp.dll symbolization library will load the module
at this location in the virtual address space meaning the caller of
these functions would need to be aware of the base address. This makes
things unnecessarily complex in the face of ASLR and also diverges from
the behavior of addr2line when used with linux-style DSOs. This CL
simply adds the module base address to the incoming addresses thereby
making the input relative addresses for the module which both is easier
to use and lines up better with linux's addr2line behavior.

BUG=694792

Review-Url: https://codereview.chromium.org/2730473002
Cr-Commit-Position: refs/heads/master@{#457271}

[modify] https://crrev.com/bf193279edce86f900ae5b222dc93ea427ae1ff0/BUILD.gn
[add] https://crrev.com/bf193279edce86f900ae5b222dc93ea427ae1ff0/third_party/tcmalloc/BUILD.gn
[modify] https://crrev.com/bf193279edce86f900ae5b222dc93ea427ae1ff0/third_party/tcmalloc/README.chromium
[modify] https://crrev.com/bf193279edce86f900ae5b222dc93ea427ae1ff0/third_party/tcmalloc/chromium/src/windows/addr2line-pdb.c

Project Member

Comment 4 by bugdroid1@chromium.org, Mar 20 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/63cc3baf66c95477bdf95ebe75a322db342e60e7

commit 63cc3baf66c95477bdf95ebe75a322db342e60e7
Author: catapult-deps-roller <catapult-deps-roller@chromium.org>
Date: Mon Mar 20 23:05:30 2017

Roll src/third_party/catapult/ c1f712961..4a1c8851a (1 commit)

https://chromium.googlesource.com/external/github.com/catapult-project/catapult.git/+log/c1f712961a5c..4a1c8851a20d

$ git log c1f712961..4a1c8851a --date=short --no-merges --format='%ad %ae %s'
2017-03-20 ajwong Add support for windows addr2line variant

Created with:
  roll-dep src/third_party/catapult
BUG=694792

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, see:
http://www.chromium.org/developers/tree-sheriffs/sheriff-details-chromium#TOC-Failures-due-to-DEPS-rolls

CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_optional_gpu_tests_rel
TBR=catapult-sheriff@chromium.org

Review-Url: https://codereview.chromium.org/2757323003
Cr-Commit-Position: refs/heads/master@{#458221}

[modify] https://crrev.com/63cc3baf66c95477bdf95ebe75a322db342e60e7/DEPS

Sign in to add a comment