Don't collapse generic type for core::ptr::real_drop_in_place
Categories
(Socorro :: Signature, defect, P2)
Tracking
(Not tracked)
People
(Reporter: kats, Assigned: kats)
References
Details
Attachments
(1 file)
(deleted),
text/x-github-pull-request
|
Details |
The real_drop_in_place
function in Rust is parameterized by the type of the thing being dropped which is useful to have in the crash signature as it allows distinguishing between different crashes. However soccorro's signature generation collapses all of these to real_drop_in_place<T>
and so conflates a bunch of different crashes.
For example:
https://crash-stats.mozilla.com/report/index/5e81737c-7486-4c7b-9506-202ff0190403
https://crash-stats.mozilla.com/report/index/bc45a8aa-8a38-46bb-a780-08e200190403
https://crash-stats.mozilla.com/report/index/e643bb3e-fda7-434b-a3fd-e58820190403
are all different crashes but get lumped together.
Assignee | ||
Comment 1•6 years ago
|
||
Adding real_drop_in_place
to the skiplist for signatures might also be good enough, if there's a concern that the fully expanded type would be too long.
Comment 2•6 years ago
|
||
Making this a P2 to look into.
I don't think there's a way to specify functions in which to not convert the type to T. So if we want to go that route, then we'd have to implement that. I have vague memories that this has come up before at least in conversation.
I kind of like the idea of adding real_drop_in_place to the prefix list. real_drop_in_place is a stdlib function. Adding that to the prefix list will keep real_drop_in_place<T> things in the signature, but signature generation will continue to something more helpful and definitely distinguishable in all three of those cases.
If someone wants to throw together a PR for that, I'll look at it as soon as its up. If not, that's cool, I think I can get to this this week.
Assignee | ||
Comment 3•6 years ago
|
||
I tried running the setup steps for a local macOS dev environment which I've done successfully in the past. However this time when I run make setup
it fails:
$ make setup
/usr/local/bin/docker-compose run --rm app shell bash -c /app/docker/run_setup.sh
Could not connect to postgres://postgres:aPassword@postgresql:5432/breakpad
make: *** [setup] Error 1
Do you know what's up with that?
Assignee | ||
Comment 4•6 years ago
|
||
Comment 5•6 years ago
|
||
Per comment #3, I reached out to Kats, wrote up bug #1541890, and fixed that.
Comment 6•6 years ago
|
||
Updated•6 years ago
|
Comment 7•6 years ago
|
||
I pushed this to prod just now.
Kats: Do you want me to reprocess all the real_drop_in_place crash reports?
Assignee | ||
Comment 8•6 years ago
|
||
(In reply to Will Kahn-Greene [:willkg] ET needinfo? me from comment #7)
I pushed this to prod just now.
Kats: Do you want me to reprocess all the real_drop_in_place crash reports?
Yes, that would be great, thanks!
Comment 9•6 years ago
|
||
I reprocessed 413 crash reports. Should be all set now!
Updated•6 years ago
|
Assignee | ||
Comment 10•6 years ago
|
||
Thanks!
Description
•