Closed Bug 1440233 Opened 7 years ago Closed 7 years ago

Remove rust fingerprints in stacktrace

Categories

(Socorro :: General, task, P2)

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
After thinking about that, maybe the fingerprint is useful in the stack trace (to help developers) but definitely it isn't in the signature.
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)
:willkg, yes.
Flags: needinfo?(cdenizet)
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
Priority: -- → P2
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.
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!
Assigning it to Kartikaya who just did the work. I'll review the PR today. Thank you!
Assignee: nobody → bugmail
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
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
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.