Profiles captured from mach mochitest --profiler have mangled symbol names on artifact builds without --enable-artifact-build-symbols
Categories
(Core :: Gecko Profiler, defect, P3)
Tracking
()
People
(Reporter: florian, Unassigned)
References
Details
Here is the profile that opened when I ran ./mach mochitest --profiler browser/base/content/test/webrtc/browser_devices_get_user_media_anim.js
.
Here is the same profile that I symbolicated by dropping it onto profiler.firefox.com. (I had previously captured a profile from my local build. I made a copy of the shutdown profile on disk while "Symbolicating the performance profile... This could take a couple of minutes." was the last line displayed in the terminal, so it's really the same profile).
In the first profile, symbol names look like __Z8XRE_mainiPPcRKN7mozilla15BootstrapConfigE
, but in the second one they look like XRE_main(int, char**, mozilla::BootstrapConfig const&)
for the same function.
I only tested this on Mac, I don't know if we have the same issue on other platforms.
Comment 1•5 years ago
|
||
I'm not reproducing this locally on my Mac. I have a few follow-up questions if you have time:
- Was this an artifact build, or a full build?
- If it was an artifact build did you have:
ac_add_options --enable-artifact-build-symbols
set up? - Does this symbolication error reproduce with
./mach talos-test --activeTests damp --subtests custom.webconsole --cycles 1 --tppagecycles 1 --geckoProfile --geckoProfileEntries 100000000
? - If that reproduces, does it reproduce on talos-test before Bug 1628073?
Reporter | ||
Comment 2•5 years ago
|
||
(In reply to Greg Tatum [:gregtatum] from comment #1)
I'm not reproducing this locally on my Mac.
Thanks for looking at this!
I have a few follow-up questions if you have time:
- Was this an artifact build, or a full build?
Artifact build.
- If it was an artifact build did you have:
ac_add_options --enable-artifact-build-symbols
set up?
No, I didn't. After adding this to my mozconfig and running mach build
again, running mach mochitest --profiler
produces profiles with correct symbols.
- Does this symbolication error reproduce with
./mach talos-test --activeTests damp --subtests custom.webconsole --cycles 1 --tppagecycles 1 --geckoProfile --geckoProfileEntries 100000000
?- If that reproduces, does it reproduce on talos-test before Bug 1628073?
mach talos-test
fails for me for another reason.
Do we know why capturing a profile from Firefox itself results in correct symbols? Is it only because my artifact build happens to be from a revision that's on mozilla-central (not autoland) where symbols are automatically uploaded to the symbol server?
Should our local symbolication also ask the symbol server when symbols aren't available locally? If not, should we print a warning in the terminal that symbolication of libxul failed because symbols were missing, and suggest adding --enable-artifact-build-symbols
?
Reporter | ||
Comment 3•5 years ago
|
||
I tried capturing a profile on a linux artifact build without --enable-artifact-build-symbols
in the mozconfig, and the symbols were fine.
Comment 4•5 years ago
|
||
There is some logic there to contact the symbol server, but it's been hard for me to reason with the code. I'm not 100% confident that this is --enable-artifact-build-symbols
. The symbolication code should contact the symbol server, but that could fail for some reason.
Comment 5•4 years ago
|
||
The severity field is not set for this bug.
:gerald, could you have a look please?
For more information, please visit auto_nag documentation.
Updated•4 years ago
|
Reporter | ||
Comment 6•4 years ago
|
||
The patch in bug 1671126 fixes mac-specific symbolication code that doesn't run for my artifact build with --enable-artifact-build-symbols
so that might be the explanation of this bug too.
Description
•