Closed
Bug 1440233
Opened 7 years ago
Closed 7 years ago
Remove rust fingerprints in stacktrace
Categories
(Socorro :: General, task, P2)
Socorro
General
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: calixte, Assigned: kats)
References
Details
Some crashes signatures contain a rust fingerprint at the end (see [1]).
I think they're useless and confusing because finally we've different signatures for same crashes.
These fingerprints appear in the backtrace too, I think they're useless and we should remove them.
[1] https://crash-stats.mozilla.com/search/?signature=%40.%2A%22%3A%3Ah%22%5Ba-f0-9%5D%2B&product=Firefox&date=%3E%3D2017-08-22T10%3A41%3A29.000Z&date=%3C2018-02-22T09%3A41%3A29.000Z&_sort=-date&_facets=signature&_facets=platform_pretty_version&_columns=date&_columns=signature&_columns=product&_columns=version&_columns=build_id&_columns=platform#facet-signature
Reporter | ||
Comment 1•7 years ago
|
||
After thinking about that, maybe the fingerprint is useful in the stack trace (to help developers) but definitely it isn't in the signature.
Comment 2•7 years ago
|
||
As an example, if we fix this bug, then a signature like this:
mozalloc_abort | abort | webrender::resource_cache::ResourceCache::block_until_all_resources_added::h37f200fba556c4c6
should be this:
mozalloc_abort | abort | webrender::resource_cache::ResourceCache::block_until_all_resources_added
Is that what you want?
Flags: needinfo?(cdenizet)
Comment 4•7 years ago
|
||
I'm not sure when I'm going to get time to work on this unless someone says this is super important to do right now. However, I'm not the only person who can work on this, so here's a brain dump.
Signature generation code in Socorro is here:
https://github.com/mozilla-services/socorro/tree/master/socorro/signature
There's some documentation here:
https://socorro.readthedocs.io/en/latest/architecture/signaturegeneration.html
I think we're going to want to add something to this method:
https://github.com/mozilla-services/socorro/blob/fe07ceb4f975a5f62d97760771bbf0ba31daff90/socorro/signature/rules.py#L167
That removes similar things from frames before they're added to a signature.
We'll need to write tests, too. Those should probably go here:
https://github.com/mozilla-services/socorro/blob/fe07ceb4f975a5f62d97760771bbf0ba31daff90/socorro/unittest/signature/test_rules.py#L68
Updated•7 years ago
|
Priority: -- → P2
Comment 6•7 years ago
|
||
I never got around to fixing bug 1311498, which would make dump_syms stop emitting these in function names, but we already have plenty of them in existing symbol files so fixing this is totally sensible. It should be fine to always strip a trailing `::h[:xdigit:]+` from the end of function names during signature generation.
Assignee | ||
Comment 7•7 years ago
|
||
I submitted https://github.com/mozilla-services/socorro/pull/4466 for this. Kudos on the great documentation, it was really easy to get the dev environment set up locally and test out the change!
Comment 8•7 years ago
|
||
Assigning it to Kartikaya who just did the work. I'll review the PR today. Thank you!
Assignee: nobody → bugmail
Comment 9•7 years ago
|
||
Commits pushed to master at https://github.com/mozilla-services/socorro
https://github.com/mozilla-services/socorro/commit/d163f9c5842fc275d6b19cb342d0a191312916f0
fix bug 1440233 - ignore rust hashes in signature generation
The rust compiler generates a hash/fingerprint at the end of the
function names in order to distinguish between different versions of a
crate built together into the final product. This hash also changes
frequently between builds of Firefox, so it's better to strip it out
when generating signatures.
https://github.com/mozilla-services/socorro/commit/e0fde4d244172a4b6ab00876564cfaaa898a2717
Merge pull request #4467 from willkg/1440233-rust-hashes
fix bug 1440233 - ignore rust hashes in signature generation
Updated•7 years ago
|
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Comment 10•7 years ago
|
||
That should go to prod this week.
Thank you!
You need to log in
before you can comment on or make changes to this bug.
Description
•