Skip to content
This repository has been archived by the owner on Dec 11, 2019. It is now read-only.

Crashes

Brian R. Bondy edited this page Jan 23, 2018 · 10 revisions

Asking for help with a crash

When a crash occurs it can be viewed in Brave at chrome://crashes. screen shot 2018-01-23 at 11 04 57 am

You'll find a crash ID there for each crash. In this case the crash ID is: b962e0e5-8422-4f84-bd00-e4d3f17e1947.

As of version 4.7.4 of muon or later, these IDs can be sent to the Brave support team to link up your crash report with a symbolized crash report that the Brave team can help debug.

If your crash doesn't appear here, you can send a crash file manually.

Please make sure your crash file is actually sent remotely in chrome://crashes. If it was not, you'll be able to click on Send now. if the link says Provide additional details then the crash has already been uploaded

Sending a crash file manually

If your crash was not uploaded, you can send a crash dump file (.dmp). The location of these files differ for each OS:

  • Windows: %appdata%\brave\CrashPad
  • macOS: ~/Library/Application\ Support/Brave/Crashpad
  • linux: ~/.config/brave/CrashPad/

Please do not post your .dmp files in public because there is a chance they could contain private information. Please work with a member of Brave to send them your .dmp file in private.

Manually symbolizing a crash

These instructions are mainly performed by a Brave team member.

Please be sure you have wget installed. On macOS it is not installed by default but you can install it with brew install wget --with-libressl.

git clone git@github.com:brave/vault-analytics.git
cd vault-analytics

BRAVE_VERSIONS="4.7.2" npm i

node bin/parse-single-crash-dump /Users/bbondy/Library/Application\ Support/Brave/Crashpad/completed/b962e0e5-8422-4f84-bd00-e4d3f17e1947.dmp 

Please adjust the path to the .dmp above accordingly in the last step.

The BRAVE_VERSIONS environment varaible can list multiple version space delimited. One of the versions must be the version of the .dmp file that you're looking at. This is usually the same as the currently released Brave version, you can find out what that is by going to about:brave in Brave.

The npm install command will automatically downloaded and stored inside node_modules/electron-debug-symbols. If you need to get new symbols, please delete node_modules/electron-debug-symbols manually.

You can symbolize different OS .dmp files no matter which OS you are on.

Parsing crash dumps for developers only

You can build a dump parser with:

ninja -C out/Release minidump_stackwalk

and then use that minidump_stackwalk binary to parse minidup with muon symbols.

usage: ./minidump_stackwalk [-m|- s] <minidump-file> [symbol-path ...]
   -m : Output in machine-readable format
   -s : Output stack contents

You need to manually manage the binary and symbols using this method.

Uploading crash symbols after a release

This section is only for Brave release engineers.

In a vault-analytics checkout with heroku setup:

heroku config:set BRAVE_VERSIONS='x.x.x x.x.x'
git commit -m "bump muon version" --allow-empty
git push heroku master

This assumes you have a remote added for heroku git remote add heroku https://git.heroku.com/brave-stats.git