Closed Bug 1541474 Opened 6 years ago Closed 6 years ago

Don't collapse generic type for core::ptr::real_drop_in_place

Categories

(Socorro :: Signature, defect, P2)

defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: kats, Assigned: kats)

References

Details

Attachments

(1 file)

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.

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.

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.

Type: task → defect
Priority: -- → P2

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?

Attached file GitHub Pull Request (deleted) —
Assignee: nobody → kats

Per comment #3, I reached out to Kats, wrote up bug #1541890, and fixed that.

I pushed this to prod just now.

Kats: Do you want me to reprocess all the real_drop_in_place crash reports?

Status: NEW → RESOLVED
Closed: 6 years ago
Flags: needinfo?(kats)
Resolution: --- → FIXED

(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!

Flags: needinfo?(kats)

I reprocessed 413 crash reports. Should be all set now!

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: