Firefox binaries have Unix paths in codeview_pdb70_debug_info which breaks symbolication in WPA
Categories
(Firefox Build System :: Toolchains, defect)
Tracking
(firefox-esr78 wontfix, firefox82 wontfix, firefox83 wontfix, firefox84 fixed)
People
(Reporter: jrmuizel, Assigned: away)
References
(Regression)
Details
(Keywords: regression)
Attachments
(1 file)
Previously, we'd have a path like: "z:\task_1581500222\build\src\obj-firefox\gfx\angle\targets\libGLESv2\libGLESv2.pdb"
Now we have a path like: /builds/worker/workspace/obj-build/gfx/angle/targets/libGLESv2/libGLESv2.pdb
This seems to break various programs on Windows that try to download the symbols (WPA) because they try to get the symbol using the full path instead of the just the file name.
Reporter | ||
Comment 1•4 years ago
|
||
FWIW, it looks like this change may have happened some time between February and now.
Reporter | ||
Comment 2•4 years ago
|
||
More specifically it looks like the change happened 19th or 20th of March
Updated•4 years ago
|
Reporter | ||
Comment 3•4 years ago
|
||
It looks like this can be fixed using /pdbaltpath which seems to be what Chromium does:
https://source.chromium.org/chromium/chromium/src/+/master:build/config/compiler/BUILD.gn;l=2239;drc=3d2056486ebe2f6d1c5fc24220d2021d1d7cf3ed
Reporter | ||
Comment 4•4 years ago
|
||
In fact it looks like %_PDB%
is magic string to just use the basename of the pdb. So adding /pdbaltpath:%_PDB%
should just work.
Updated•4 years ago
|
Reporter | ||
Comment 5•4 years ago
|
||
Glandium, is adding /pdbaltpath:%_PDB% practical?
Comment 6•4 years ago
|
||
You tell me. Doesn't it break debugging local builds?
Reporter | ||
Comment 7•4 years ago
|
||
Yeah, I guess it would. The alternatives are to pass a Windows like path to /pdbaltpath, move the pdbs so that we can get %_PDB%
to work or fix lld to rewrite the path. What do you think is best?
Reporter | ||
Comment 9•4 years ago
|
||
That seems like it would work too.
Assignee | ||
Comment 11•4 years ago
|
||
Does this build behave as expected? https://treeherder.mozilla.org/#/jobs?repo=try&revision=81779930b3cffb1c1d716050f4cdc3cea70cbfe5
(Need to use https://symbols.mozilla.org/try
for the symbol server)
Assignee | ||
Comment 12•4 years ago
|
||
Jeff, heads up, the try push symbols are going to age out soon.
Reporter | ||
Comment 13•4 years ago
|
||
I'll try today.
Reporter | ||
Comment 14•4 years ago
|
||
Yep, symbols load in Windows Performance Analyzer with that try build
Assignee | ||
Comment 15•4 years ago
|
||
In cross-compiled Windows builds, our binaries embed PDB paths like /builds/worker/... which breaks some Windows tools that expect Windows-style paths. This patch sets -PDBALTPATH:%_PDB%
which instructs the linker to emit only the basename. That's apparently enough that the tools can still find the right symbols.
Updated•4 years ago
|
Comment 16•4 years ago
|
||
Pushed by dmajor@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/82395607203e Use PDB basename in cross-compiled Windows builds r=firefox-build-system-reviewers,mhentges
Comment 17•4 years ago
|
||
bugherder |
Updated•4 years ago
|
Description
•