<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Does this eliminate the need documented at
<a class="moz-txt-link-freetext" href="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Mochitest#stacks">https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Mochitest#stacks</a>
to acquire a `minidump_stackwalk` binary and then expose it via
MINIDUMP_STACKWALK environment variable to get symbolicated
backtraces when local test runs crash? Or is that part of the
future work to "use `fix-stacks` on test outputs"?<br>
</p>
<p>Thanks!<br>
Andrew</p>
<div class="moz-cite-prefix">On 3/5/20 5:52 PM, Nicholas Nethercote
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CAEXw-ABNBjq9EBpiAz0r5O+eezvBnmy27RpQ481eRL4ajS1RPA@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div dir="ltr">Hi all,<br>
<br>
I have written a new stack-fixing tool, called `fix-stacks`,
which symbolizes stack traces produced by Firefox.<br>
<br>
`fix-stacks` is intended to replace our existing stack-fixing
scripts, `fix_{linux,macosx}_stack.py` and
`fix_stack_using_bpsyms.py`, which are used (a) on many test
outputs, both locally and on automation, and (b) by DMD,
Firefox's built-in heap profiler.<br>
<br>
`fix-stacks` is now installed by `mach bootstrap` on Windows,
Mac, and Linux. It is usable from Python code via the
`fix_stacks.py` wrapper script. Its code is at <a
href="https://github.com/mozilla/fix-stacks/"
moz-do-not-send="true">https://github.com/mozilla/fix-stacks/</a>.<br>
<br>
In bug 1604095 I replaced the use of
`fix_{linux,macosx}_stack.py` with `fix_stacks.py` for DMD, with
the following benefits.<br>
<br>
* On Linux, stack-fixing of DMD output files (which occurs when
you run `dmd.py`) is roughly 100x faster. On my Linux box I saw
reductions from 20-something minutes to ~13 seconds.<br>
<br>
* On Mac, stack-fixing of DMD output files on Mac is roughly 10x
faster. On my Mac laptop I saw reductions from ~7 minutes to ~45
seconds.<br>
<br>
* On Windows, stack-fixing of DMD output files now occurs. (It
previously did not because there is no `fix_window_stacks.py`
script.) This means that DMD is now realistically usable on
Windows without jumping through hoops to use breakpad symbols.<br>
<br>
There is more work to be done. Soon, I plan to:<br>
<br>
* use `fix-stacks` on test outputs (in `utils.py` and `<a
href="http://automation.py.in" moz-do-not-send="true">automation.py.in</a>`);<br>
<br>
* re-enable stack fixing on Mac test runs on local builds, which
is currently disabled because it is so slow;<br>
<br>
* add breakpad symbol support to `fix-stacks`;<br>
<br>
* remove the old scripts.<br>
<br>
The tree of relevant bugs can be seen at<br>
<a
href="https://bugzilla.mozilla.org/showdependencytree.cgi?id=1596292&hide_resolved=1"
moz-do-not-send="true">https://bugzilla.mozilla.org/showdependencytree.cgi?id=1596292&hide_resolved=1</a>.<br>
<br>
The stack traces produced by `fix-stacks` are sometimes
different to those produced by the old stack-fixers. In my
experience these differences are minor and you won't notice them
if you aren't looking for them. But let me know if you have any
problems. <br>
<br>
Nick</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
firefox-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:firefox-dev@mozilla.org">firefox-dev@mozilla.org</a>
<a class="moz-txt-link-freetext" href="https://mail.mozilla.org/listinfo/firefox-dev">https://mail.mozilla.org/listinfo/firefox-dev</a>
</pre>
</blockquote>
</body>
</html>