Closed Bug 1525968 Opened 5 years ago Closed 5 years ago

Make local development artifact builds on Android download full build symbols

Categories

(Firefox Build System :: General, enhancement)

enhancement
Not set
normal

Tracking

(firefox68 fixed)

RESOLVED FIXED
mozilla68
Tracking Status
firefox68 --- fixed

People

(Reporter: nalexander, Assigned: nalexander)

References

(Blocks 2 open bugs)

Details

Attachments

(4 files)

We produce two types of build symbol archives in automation:

  • "crashreporter-symbols.zip" contains Breakpad-format .sym files
  • "crashreporter-symbols-full.zip" contains Breakpad-format .sym files and compressed ELF debug symbol .dbg.gz files

The --enable-artifact-build-symbols flag from Bug 1305502 downloads only "crashreporter-symbols.zip".

The Android Studio version of lldb, currently 7.0.0, doesn't support Breakpad-format .sym files. It does support (uncompressed) ELF debug symbols. (Note that gdb isn't supported on Android and hasn't been for some time.)

This ticket tracks making --enable-artifact-build-symbols download the full symbols locally, to be useful for debugging Android builds with lldb locally. The existing behaviour will remain in automation, 'cuz it's sufficient for symbolicating minidumps.

n.b., in bug 1466537 we disabled uploading of the "crashreporter-symbols-full.zip" artifact from many builds because they're huge and weren't actually being used most of the time. (We don't upload symbols to the symbol server for anything but Nightly builds, and we don't use the full.zip in automation at all.)

See Also: → 1466537

It's not helpful to have a DEBUG log level, 'cuz the -v flag to
./mach artifact install doesn't turn on DEBUG logging.

We produce two types of build symbol archives in automation:

  • "crashreporter-symbols.zip" contains Breakpad-format .sym files
  • "crashreporter-symbols-full.zip" contains Breakpad-format .sym files
    and compressed ELF debug symbol .dbg.gz files

Right now, --enable-artifact-build-symbols from Bug 1305502
downloads only "crashreporter-symbols.zip".

The Android Studio version of lldb, currently 7.0.0, doesn't support
Breakpad-format .sym files. It does support (uncompressed) ELF debug
symbols. (Note that gdb isn't supported on Android and hasn't been for
some time.)

This makes --enable-artifact-build-symbols download the full
symbols locally, to be useful for debugging Android builds with lldb
locally. It retains The existing behaviour in automation, 'cuz it's
sufficient for symbolicating minidumps.

Depends on D19090

(In reply to Ted Mielczarek [:ted] [:ted.mielczarek] from comment #1)

n.b., in bug 1466537 we disabled uploading of the "crashreporter-symbols-full.zip" artifact from many builds because they're huge and weren't actually being used most of the time. (We don't upload symbols to the symbol server for anything but Nightly builds, and we don't use the full.zip in automation at all.)

ted: perhaps take this and see if you're concerned about it?

Looks like we have lots of Android builds with full crashreporter symbols: https://searchfox.org/mozilla-central/source/taskcluster/ci/build/android.yml

Artifact builds do pull from mozilla-inbound, so it's possible this won't work... but that's fine, I'd be happy to make this "soft require" a mozilla-central base.

Flags: needinfo?(ted)
Assignee: nobody → nalexander

With this patch and a little Android Studio configuration, I get symbolicated native debugging of artifact builds locally. Unfortunately, the artifact bits are very slow ('cuz the uncompressed ELF debug symbols are 1.2G). But it's transparent and really pleasant to work with when you need it!

(In reply to Nick Alexander :nalexander [he/him] from comment #5)

ted: perhaps take this and see if you're concerned about it?

Looks like we have lots of Android builds with full crashreporter symbols: https://searchfox.org/mozilla-central/source/taskcluster/ci/build/android.yml

Artifact builds do pull from mozilla-inbound, so it's possible this won't work... but that's fine, I'd be happy to make this "soft require" a mozilla-central base.

If this works for you that's fine. I just wanted you to be aware of the possible complications there.

Flags: needinfo?(ted)

There are some r+ patches which didn't land and no activity in this bug for 2 weeks.
:nalexander, could you have a look please?

Flags: needinfo?(nalexander)
Attachment #9042335 - Attachment description: Bug 1525968 - Make local development artifact builds on Android download full build symbols. r?#firefox-build-system-reviewers → Bug 1525968 - Make local development artifact builds on Android download full build symbols. r?froydnj,glandium
Status: NEW → ASSIGNED
Flags: needinfo?(nalexander)
Pushed by nalexander@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/e44091ef8d3f
Pre: Log more with `./mach artifact install -v`. r=froydnj
https://hg.mozilla.org/integration/autoland/rev/bcc2aef70db3
Make local development artifact builds on Android download full build symbols. r=froydnj
https://hg.mozilla.org/integration/autoland/rev/4ebb324c0d95
Post: Make $topobjdir/.lldbinit reference full build symbols on Android. r=froydnj
https://hg.mozilla.org/integration/autoland/rev/360e565d9175
Post: Only package artifact symbols in automation. r=glandium
Blocks: 1637388
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: