Skip to content
This repository has been archived by the owner on Feb 15, 2022. It is now read-only.

Document JSON output (#31) #32

Merged
merged 2 commits into from
May 18, 2021
Merged

Document JSON output (#31) #32

merged 2 commits into from
May 18, 2021

Conversation

willkg
Copy link
Collaborator

@willkg willkg commented May 17, 2021

Couple of thoughts:

  1. this is probably missing things
  2. this doesn't differentiate between what Socorro uses vs. what's vestigial
  3. this doesn't take into account changes we're going to make for left-pad "address" so they're sortable #30--I figure we can update the README accordingly with that PR

@willkg
Copy link
Collaborator Author

willkg commented May 17, 2021

@Gankra I figure while it's nice to have the schema in the rust-minidump repository issues, it'd be best if we "officially" documented it in this repo.

I went through a bunch of crash reports and the stackwalker.cc code and some other things and fleshed out the schema you threw together. My gut feeling is that it's probably missing things, still, but we can hone it in this PR and then land it and iterate on that.

What do you think?

Copy link
Contributor

@Gankra Gankra left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is great, thanks!

README.rst Outdated
"threads_index": <int>, // index in threads for the crashing thread
"total_frames": <int>, // total frames listed here -- max 10
"frames": [
// for i in range(min(10, frame_count))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought we removed this truncation because it was confusing?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I forgot about that! Good catch!

5896847

@willkg
Copy link
Collaborator Author

willkg commented May 18, 2021

I fixed the thing @Gankra noticed and also added a bunch of other stuff I saw while reading through stackwalker.cc including the new mac_crash_info bits, the lsb_release bits, and a bunch of other bits.

README.rst Outdated
"symbols_fetch_time": <float>, // optional, time in ms it took to fetch symbol file from url; omitted
// if the symbol file was in disk cache
"symbol_url": <string>, // optional, url of symbol file
"cert_subject": ? // optional
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I couldn't figure out what this was and I haven't seen examples in crash reports processed by Socorro.

@gabrielesvelto , @Gankra : Any ideas what this is?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The cert_subject field contains the entity that signed a given module using Microsoft's Authenticode system. For our modules for example this is going to be "Mozilla Corporation", Microsoft own modules will be signed by "Microsoft Windows" or "Microsoft Corporation" and so on. The minidump-analyzer retrieves this information when it processes a crash and stuffs it in an annotation called ModuleSignatureInfo.

Socorro's stackwalker uses this info to populate that field.

@Gankra
Copy link
Contributor

Gankra commented May 18, 2021

Note gabriel found several errors here (I copy-pasted your schema): rust-minidump/rust-minidump#170 (comment)

@gabrielesvelto
Copy link
Collaborator

FYI I compared the output directly with what we get in Socorro. So mine was one of those "the implementation is the spec" kind of things.

@willkg
Copy link
Collaborator Author

willkg commented May 18, 2021

I double-checked and those are all errors. I'll fix and then land this. Thank you both!

@willkg willkg merged commit d13f89f into mozilla-services:main May 18, 2021
@willkg willkg deleted the 31-output-schema branch May 19, 2021 01:15
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants