Closed
Bug 420474
Opened 16 years ago
Closed 15 years ago
upload debug info for Linux and mac builds to symbol server
Categories
(Toolkit :: Crash Reporting, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: ted, Assigned: ted)
References
Details
(Whiteboard: [not needed for 1.9])
Attachments
(1 file, 1 obsolete file)
2.83 KB,
patch
|
benjamin
:
review+
|
Details | Diff | Splinter Review |
binutils has supported an ELF section called ".gnu_debuglink" for a while now that allows debug symbols to be in a separate file. It's just a matter of a few objcopy commands: objcopy --only-keep-debug foo foo.dbg objcopy --add-gnu-debuglink=foo.dbg foo We should do this during the symbol store building phase, and upload the debug files to the symbol server. I have a hack of a Python script that will let you download the debug files for a build from the symbol server, and then you can actually get a stack in gdb, which is pretty awesome. This patch just covers the symbolstore.py changes, we'd still need to pass --copy in the invocation in the top-level Makefile.in. I don't know if we need to test for objdump, does binutils get installed when you install a compiler/linker? Also, no clue if we can make any of this work on Mac, there isn't an objcopy command there (at least not by default). Stan: any idea if this stuff works there?
Attachment #306751 -
Flags: review?(benjamin)
Assignee | ||
Updated•16 years ago
|
Assignee: nobody → ted.mielczarek
Assignee | ||
Comment 1•16 years ago
|
||
I have a build here: http://people.mozilla.com/~tmielczarek/firefox-3.0b4pre.en-US.linux-i686.tar.bz2 (with this patch) and a script here: http://people.mozilla.com/~tmielczarek/fetch-symbols.py which you can use to download the symbols for that build from the symbol server here: http://mavra.perilith.com/~luser/symbols/ and apparently it works in GDB, which is cool.
Comment 2•16 years ago
|
||
The Mac dwarf2 machinery leaves debug info in the .o files by default, so GDB will normally want to have a full objdir laying around. However, it is possible to create so-called "dSYM" files that collect all the dwarf2 info into a single file. It was designed to supply fastloading debug info for frameworks that don't change often (dSYMs are fast to load, but slower to create), but could be used to make symbol files for a mozilla build. Basically all done with compiler/linker flags, so probably not too hard to get going.
Comment 3•16 years ago
|
||
Comment on attachment 306751 [details] [diff] [review] use gnu_debuglink if --copy is specified to symbolstore.py [checked in] Is there any particular reason you kept the commented --strip-debug lines?
Attachment #306751 -
Flags: review?(benjamin) → review+
Assignee | ||
Comment 4•16 years ago
|
||
Comment on attachment 306751 [details] [diff] [review] use gnu_debuglink if --copy is specified to symbolstore.py [checked in] I think I just neglected to take it out. I'll remove that before checkin.
Attachment #306751 -
Flags: approval1.9?
Comment 5•16 years ago
|
||
Comment on attachment 306751 [details] [diff] [review] use gnu_debuglink if --copy is specified to symbolstore.py [checked in] a1.9=beltzner
Attachment #306751 -
Flags: approval1.9? → approval1.9+
Assignee | ||
Comment 6•16 years ago
|
||
Comment on attachment 306751 [details] [diff] [review] use gnu_debuglink if --copy is specified to symbolstore.py [checked in] Still need to enable this in Makefile.in
Attachment #306751 -
Attachment description: use gnu_debuglink if --copy is specified to symbolstore.py → use gnu_debuglink if --copy is specified to symbolstore.py [checked in]
Assignee | ||
Comment 7•16 years ago
|
||
Comment on attachment 306751 [details] [diff] [review] use gnu_debuglink if --copy is specified to symbolstore.py [checked in] This is checked in, not worried about fixing the rest of this for 1.9, so just clearing the approval flag to get it off the list of things that had approval but might not have landed.
Attachment #306751 -
Attachment is obsolete: true
Attachment #306751 -
Flags: approval1.9+
Assignee | ||
Updated•16 years ago
|
Attachment #306751 -
Flags: approval1.9+
Updated•16 years ago
|
Whiteboard: [not needed for 1.9]
Comment 8•16 years ago
|
||
Just to be clear, since I had asked for this in Thunderbird but was invalidated in favor of this one, will I be able to download symbols for Thunderbird -- either Nightlies or Tinderbox??
Assignee | ||
Comment 9•16 years ago
|
||
Yeah, I need to check in one more patch, and then this should work.
Assignee | ||
Updated•15 years ago
|
Summary: upload debug info for Linux builds to symbol server (and use .gnu_debuglink) → upload debug info for Linux and mac builds to symbol server
Assignee | ||
Comment 11•15 years ago
|
||
Oh hey, here's that patch.
Attachment #362972 -
Flags: review?(benjamin)
Updated•15 years ago
|
Attachment #362972 -
Flags: review?(benjamin) → review+
Comment 12•15 years ago
|
||
Comment on attachment 362972 [details] [diff] [review] implement CopyDebug on mac, turn it on by default for linux+mac >diff --git a/toolkit/crashreporter/tools/symbolstore.py b/toolkit/crashreporter/tools/symbolstore.py >+ print >>sys.stderr, "rel_path %s, full_path %s" % (rel_path, full_path) extraneous print?
Assignee | ||
Comment 13•15 years ago
|
||
Pushed to m-c: http://hg.mozilla.org/mozilla-central/rev/dbd5b5c6710c I'll have to dig up my Python script for Mac/Linux symbol-serverness.
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Comment 14•15 years ago
|
||
This might be causing the Linux Z test weirdness (where sometimes .dbg files are being counted as part of Z and sometimes they're not, making the test basically unusable).
Depends on: 483548
Assignee | ||
Updated•15 years ago
|
Attachment #362972 -
Flags: approval1.9.1?
Assignee | ||
Comment 16•15 years ago
|
||
Comment on attachment 362972 [details] [diff] [review] implement CopyDebug on mac, turn it on by default for linux+mac Useful for testing etc, seems to be working fine on trunk, doesn't affect any actual product code. (Strictly build-system bits related to symbol packaging.)
Comment on attachment 362972 [details] [diff] [review] implement CopyDebug on mac, turn it on by default for linux+mac a=shaver
Attachment #362972 -
Flags: approval1.9.1? → approval1.9.1+
Assignee | ||
Comment 18•15 years ago
|
||
Comment on attachment 362972 [details] [diff] [review] implement CopyDebug on mac, turn it on by default for linux+mac Apparently I never landed this on 1.9.1. :-(
Attachment #362972 -
Flags: approval1.9.1+
You need to log in
before you can comment on or make changes to this bug.
Description
•