Last Comment Bug 1238305 - cppunittests do not look up breakpad symbols for logged stack traces
: cppunittests do not look up breakpad symbols for logged stack traces
Status: ASSIGNED
:
Product: Testing
Classification: Components
Component: General (show other bugs)
: Trunk
: Unspecified Windows
-- normal (vote)
: ---
Assigned To: Aaron Klotz [:aklotz]
:
:
Mentors:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2016-01-09 13:57 PST by Aaron Klotz [:aklotz]
Modified: 2016-11-02 12:21 PDT (History)
5 users (show)
wkocher: needinfo? (aklotz)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---


Attachments
Patch (10.01 KB, patch)
2016-01-18 11:10 PST, Aaron Klotz [:aklotz]
ted: review+
Details | Diff | Splinter Review

Description User image Aaron Klotz [:aklotz] 2016-01-09 13:57:05 PST
I'm seeing situations like this:
https://treeherder.mozilla.org/logviewer.html#?job_id=3036257&repo=mozilla-central#L5518

We've hit an assertion but the logged call stack is of limited utility (without a lot of tedious manual intervention) due to lack of symbolication. We have the breakpad symbols for the build, but MozDescribeCodeAddress uses debughlp which groks pdb. If pdbs aren't around, we're not going to get much out of it.

I'm not sure what the best way forward is. Does breakpad have some kind of facility to act as a MS symbol server? Or do we need to add breakpad .sym parsing to MozDescribeCodeAddress?
Comment 1 User image Aaron Klotz [:aklotz] 2016-01-09 13:57:58 PST
(In reply to Aaron Klotz [:aklotz] (please use needinfo) from comment #0)
> I'm not sure what the best way forward is. Does breakpad have some kind of
> facility to act as a MS symbol server? Or do we need to add breakpad .sym
> parsing to MozDescribeCodeAddress?
Comment 2 User image Aaron Klotz [:aklotz] 2016-01-09 14:34:36 PST
(This also makes debugging in mozharness test environments more difficult, so I'd suggest that a symbol server option is probably more preferable than just modifying MozDescribeCodeAddress).
Comment 3 User image Ted Mielczarek [:ted.mielczarek] 2016-01-11 02:53:13 PST
Our other harnesses just post-process assertion stacks using https://dxr.mozilla.org/mozilla-central/source/tools/rb/fix_stack_using_bpsyms.py, like:
https://dxr.mozilla.org/mozilla-central/rev/6020a4cb41a77a09484c24a5875bb221714c0e6a/testing/mochitest/runtests.py#2525

We should just add that same code to the C++ unittest harness:
https://dxr.mozilla.org/mozilla-central/source/testing/runcppunittests.py
Comment 4 User image Aaron Klotz [:aklotz] 2016-01-18 11:10:30 PST
Created attachment 8709133 [details] [diff] [review]
Patch

Locally on mach and on try by looking at the stacks in the assertions on this try push:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=75bf5d41f88e
Comment 5 User image Ted Mielczarek [:ted.mielczarek] 2016-01-29 12:19:25 PST
Comment on attachment 8709133 [details] [diff] [review]
Patch

Review of attachment 8709133 [details] [diff] [review]:
-----------------------------------------------------------------

Thanks for fixing this!
Comment 10 User image Aaron Klotz [:aklotz] 2016-11-01 15:56:26 PDT
https://hg.mozilla.org/integration/mozilla-inbound/rev/6c32452df00e86d86e65b5097ea253f488816067
Bug 1238305: Modify cppunittests to look up breakpad symbols for logged stack traces; r=ted

Note You need to log in before you can comment on or make changes to this bug.