Functions missing argument lists in Breakpad symbol files

NEW
Unassigned

Status

()

Toolkit
Crash Reporting
2 years ago
2 years ago

People

(Reporter: calixte, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Comment 1

2 years ago
A grep on nsDragService::SetDragIcon shows that in [1] args are presents but not in [2].

[1] http://symbols.mozilla.org/libxul.so/065F2208BA0CD931ABEFDF81E99713230/libxul.so.sym
[2] http://symbols.mozilla.org/libxul.so/E17B1A543A454216CBFA732E1D2201B30/libxul.so.sym
Component: General → Breakpad Integration
Product: Socorro → Toolkit
Specifically, the grep output looks like:
```
/tmp/libxul.sym.1:FUNC 21b2614 1ca 0 nsDragService::SetDragIcon(_GdkDragContext*)
/tmp/libxul.sym.2:FUNC 1be6b20 1a7 0 nsDragService::SetDragIcon
```

The symbol files conveniently have the changeset information in them, so the regression range here is:
https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=946ed22cad04431c75ab5093989dfedf1bae5a3e&tochange=afd82f887093

That's a lot of changes, so I built a Mercurial query to look for things that touched the crashreporter, which didn't show me much, so I expanded it to look at browser configs as well:
http://hg.mozilla.org/mozilla-central/log?rev=946ed22cad04431c75ab5093989dfedf1bae5a3e::afd82f887093%20and%20(file(%22glob:toolkit/crashreporter/**%22)%20or%20file(%22glob:browser/config/**%22))

...which turns up bug 1250709, which is a very plausible candiate to have broken this!
Summary: Signatures format are different for two similar crashes → Functions missing argument lists in Breakpad symbol files
The first nightly with that change appears to be https://tools.taskcluster.net/index/artifacts/#gecko.v2.mozilla-central.nightly.2016.03.12.latest.firefox/gecko.v2.mozilla-central.nightly.2016.03.17.latest.firefox.linux64-opt

downloading the symbol file: https://queue.taskcluster.net/v1/task/ZPfR0fZhQgiaEuI0ey0yYg/artifacts/public%2Fbuild%2Ffirefox-48.0a1.en-US.linux-x86_64.crashreporter-symbols.zip

shows that it's missing the parameter list:
```
FUNC 1bc18e2 1a7 0 nsDragService::SetDragIcon
```

This shouldn't affect signature generation, since we already strip parameter lists for that, but it will impact readability of crash reports, since it'll be harder to differentiate function overloads.

I'm assuming this is just something different about gcc 4.9's DWARF generation that's breaking dump_syms.
Except bug 1250709 didn't change the compiler for firefox builds, it changed it for rooting hazard builds.
Oh, hah, yeah. That range also includes https://hg.mozilla.org/mozilla-central/rev/2d59367c985a (bug 1175546) (which wasn't showing up in my hg queries), which is probably it.
You need to log in before you can comment on or make changes to this bug.