Closed
Bug 1287871
Opened 9 years ago
Closed 9 years ago
Talos profiler symbolication is broken
Categories
(Testing :: Talos, defect)
Testing
Talos
Tracking
(firefox51 fixed)
RESOLVED
FIXED
mozilla51
Tracking | Status | |
---|---|---|
firefox51 | --- | fixed |
People
(Reporter: mconley, Assigned: malayaleecoder)
References
Details
(Whiteboard: [talos_wishlist])
Attachments
(3 files, 3 obsolete files)
Symbols are missing from my local talos runs when running with --spsProfile.
It looks like the symbolication is mostly being skipped. It looks like this is fallout from bug 1282398. Backing that out, I get symbolication occurring again (although the XUL symbols still appear to be missing, strangely).
Assignee | ||
Comment 2•9 years ago
|
||
Alright, so I ran |mach talcs-test -a ts_paint --spsProfile| before and after the patch, and kept aside the .zip file related to that.
The .zip file is called profile_ts_paint.sps.zip, which on extraction yields a directory with 20 files named cycle_0.sps upto cycle_19.sps
Attached are the cycle_0.sps file before and after the patch.
:mconley, what can I look for in these files? Also am I going in the right path for this bug?
Flags: needinfo?(malayaleecoder) → needinfo?(mconley)
Assignee | ||
Comment 3•9 years ago
|
||
Assignee | ||
Comment 4•9 years ago
|
||
Reporter | ||
Comment 5•9 years ago
|
||
Hey malayaleecoder,
Thanks for looking at this! I can see the problem in the afterpatch sps file, and not in the beforepatch sps file.
Here's how I'm checking:
1) Visit cleopatra.io
2) In the "Upload your profile here" file input, I browse to the sps file I'm testing
3) Wait for Cleopatra to process the profile
4) In the right-most column of the resulting view, I see this in the working case:
http://i.imgur.com/KAJduZx.png
and in the not-working case:
http://i.imgur.com/rsScKtt.png
The not-working case is showing raw memory addresses, whereas the working case has successfully mapped the raw memory addresses to actual function names that were being called within the profile. This mapping of memory addresses to function names - that's what we call symbolication.
Flags: needinfo?(mconley)
Assignee | ||
Updated•9 years ago
|
Assignee: nobody → malayaleecoder
Status: NEW → ASSIGNED
Whiteboard: [talos_wishlist]
Assignee | ||
Comment 6•9 years ago
|
||
Alright, we have managed to get basestring to work in python3, preserving the symbolication, by defining it as (str, bytes)
The working of the entire code snippet is not known to me. If someone can help me out over here, it would be great.
The possible path we would be traversing will be considering the profiling data to be of bytes[] type ignoring the existing basestring type.
Reporter | ||
Updated•9 years ago
|
Attachment #8776679 -
Flags: feedback?(mconley)
Assignee | ||
Comment 7•9 years ago
|
||
Attachment #8776679 -
Attachment is obsolete: true
Attachment #8776679 -
Flags: feedback?(mconley)
Attachment #8780580 -
Flags: feedback?(mconley)
Comment 8•9 years ago
|
||
Comment on attachment 8780580 [details] [diff] [review]
Bug1287871_v1.diff
Review of attachment 8780580 [details] [diff] [review]:
-----------------------------------------------------------------
the question I have here is will this work for python 2.7 for valid files? I assume so- then the following question is with python 3.0+ will we work fine? If the answer to both is *yes*, then I am fine with this.
::: testing/talos/talos/profiler/symbolication.py
@@ +18,5 @@
>
> +try:
> + basestring
> +except NameError:
> + basestring = str
for this block of code, I would like a comment above it briefly explaining what problem we are solving by doing this.
Reporter | ||
Comment 9•9 years ago
|
||
Comment on attachment 8780580 [details] [diff] [review]
Bug1287871_v1.diff
Review of attachment 8780580 [details] [diff] [review]:
-----------------------------------------------------------------
::: testing/talos/talos/profiler/symbolication.py
@@ +18,5 @@
>
> +try:
> + basestring
> +except NameError:
> + basestring = str
I agree.
Will this break with Python 3 though, since we're essentially keeping the status quo if Python 3 is being used (since basestring is missing)? And won't that still be broken?
Attachment #8780580 -
Flags: feedback?(mconley)
Assignee | ||
Comment 10•9 years ago
|
||
Attachment #8780580 -
Attachment is obsolete: true
Attachment #8781609 -
Flags: review?(jmaher)
Assignee | ||
Comment 11•9 years ago
|
||
Attachment #8781609 -
Attachment is obsolete: true
Attachment #8781609 -
Flags: review?(jmaher)
Attachment #8781625 -
Flags: review?(jmaher)
Comment 12•9 years ago
|
||
Comment on attachment 8781625 [details] [diff] [review]
Bug1287871_v3.diff
Review of attachment 8781625 [details] [diff] [review]:
-----------------------------------------------------------------
thanks, this is easier to understand in the future when we hack on this file for whatever reasons.
Attachment #8781625 -
Flags: review?(jmaher) → review+
Updated•9 years ago
|
Keywords: checkin-needed
Comment 13•9 years ago
|
||
Pushed by ryanvm@gmail.com:
https://hg.mozilla.org/integration/fx-team/rev/40a6c45a56e0
Talos profiler symbolication is broken. r=jmaher
Keywords: checkin-needed
Comment 14•9 years ago
|
||
bugherder |
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
status-firefox51:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla51
You need to log in
before you can comment on or make changes to this bug.
Description
•