Closed Bug 1149364 Opened 9 years ago Closed 9 years ago

Support symbolication of Linux system libraries in collected profiles

Categories

(Testing :: Talos, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
mozilla40

People

(Reporter: mstange, Assigned: mstange)

References

Details

Attachments

(2 files)

In bug 1121571 I only took care of the Mac part, here I'm going to fix the Linux part. Windows doesn't need fixing because the Windows symbols are already on the official Mozilla symbol server.

Contrary to Mac, where we use a dump_syms binary that I put into talos/talos/profiler/dump_syms_mac, on Linux we can just use the built-in "nm" command line tool.

These patches call "nm library.so" and "nm -D library.so", concatenate the output and put it into an .nmsym file. Then symFileManager is hacked to not only look for .sym files (which is what dump_syms produces) but also for .nmsym files.
Together with bug 1141712 (which fixes Linux stackwalking), this will make Linux profiles finally useful.
Comment on attachment 8585828 [details] [diff] [review]
1-Bug_1149364___Add_a_Linux_symbol_dumper_that_uses_nm__and_produces__nmsym_files__which_just_contain_the_raw_nm_output___r_jmaher.diff

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

nice

::: talos/profiler/symbolication.py
@@ +98,5 @@
> +        return OSXSymbolDumper()
> +    except:
> +      pass
> +    try:
> +      if platform.system() in ["Linux", "Darwin"]:

why do you have darwin here?  shouldn't it just be == "Linux" ?
Attachment #8585828 - Flags: review?(jmaher) → review+
Comment on attachment 8585829 [details] [diff] [review]
2-Bug_1149364___Support__nmsym_files_in_the_SymFileManager__r_jmaher.diff

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

looking forward to it!
Attachment #8585829 - Flags: review?(jmaher) → review+
(In reply to Joel Maher (:jmaher) from comment #4)
> why do you have darwin here?  shouldn't it just be == "Linux" ?

You're right. I was testing on Mac, but XCode's nm supports neither --demangle nor -D, so it won't work anyway. I'll change it to == "Linux".
I also tweaked some comments: https://hg.mozilla.org/build/talos/rev/493a1806ce52
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla40
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: