Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ref(unreal): Update unreal parsing #152

Merged
merged 10 commits into from
Jul 10, 2019
Merged

ref(unreal): Update unreal parsing #152

merged 10 commits into from
Jul 10, 2019

Conversation

jan-auer
Copy link
Member

@jan-auer jan-auer commented Jun 17, 2019

This PR refactors the Unreal API and modernizes it a little.

Most important changes

  • AppleCrashReports are now a separate file type that is detected in the unreal code. Previously, they were classified as Minidump.
  • Parsing invalid unreal crash report files no longer panics, by switching from bytes::Buf to scroll.

Other changes

  • Unreal4File now owns a handle to its data. Since the offsets are already verified when parsing the entire crash, one doesn't need to hold on to the entire crash.
  • zlib implementation is now switched to flate2, which is also used in symbolic_debuginfo and in symbolicator. One less dependency.
  • Removed some shortcut-methods that are superfluous. E.g. instead of providing a function Unreal4Crash.process_minidump, one can get the minidump file and then process it using ProcessState.from_minidump_buffer. This creates cleaner separation of concerns.
  • Removed obsolete errors (one was dead before, one became dead by switching to scroll).

When updating symbolic prior to the 6.0 release, this was missed. Since this is a breaking change, we will likely have to bump symbolic to 7.0 after this.

@jan-auer jan-auer mentioned this pull request Jun 18, 2019
@jan-auer jan-auer marked this pull request as ready for review June 18, 2019 18:39
@jan-auer
Copy link
Member Author

This is final now. Going to merge once this has been implemented (and thus tried out) in Sentry.

* master:
  fix(minidump): Do not emit default CFI for the .ra register (#157)
  ref(example): Output debug ids in breakpad format in dump_cfi
  feat(example): Output a breakpad module header in dump_cfi
  build: Switch to crates releases
  fix(symcache): Allow functions with more than 65k lines (#155)
@jan-auer jan-auer merged commit 232d397 into master Jul 10, 2019
@jan-auer jan-auer deleted the ref/unreal4 branch July 10, 2019 09:03
jan-auer added a commit that referenced this pull request Jul 10, 2019
* master:
  ref(unreal): Update unreal parsing (#152)
  fix(minidump): Do not emit default CFI for the .ra register (#157)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants