GSOC 2017 - Crash Reporting - Report 7

Posted 6 years ago

What I did last Week

This week I made a pull request for my branch add-breakpad. After the pull, I had some issues on compiling it on Linux. I worked on this issue and now the code successfully passed the compiling tests for all three operating systems, linux, windows and OSX. Next I got many comments from my mentor and from other people in the community regarding cmake and appveyor. Following the comments and suggestions for cmake, breakpads is now available for windows.

For appveyor the biggest change that I had was that I passed the Qt from 5.4 to 5.8 . Currently Appveyor is capable of compiling a release version musescore with debug symbols, converts the symbols into pdb and sym, after that it uploads the symbols into backtrace.io . There was a comment for encypting the variables on appveyor from my mentor and I finally found it how they implementing it by using this tools https://ci.appveyor.com/tools/encrypt and the variable appears as:

myvarname:
secure: the_result_from_appveyor_tool

I am passing as secure variables the token for backtrace.io and the upload api key for my bintray. When the compile is done then the binary files are uploaded here (I am using curl for this procedure):

https://musescoregsoc.bintray.com/myrepo/

I also run an example from the executable that result from the appveyor build and it looks that it uploads and shows the line of code where the error came from:

https://musescore.sp.backtrace.io/dashboard/musescore/project/MuseScore…

Question that are still unanswered or uncertain

a) Which exact location are we going to store the minidump, currently I am storing them under c:\Users\username.
b) Will my code work for all cases? Currently the code is working it uploads parameters and the minidump information to backtrace though I will try to revise my code and see how chrome browser implements it and try to adapt a similar implementation.
c) Metadata, currently I am passing some dummy information into parameters and these parameters are uploaded into backtrace.io . I will try to pass more parameters regarding to musescore usefully debugging information.

Future implementations needed

a) Linux
b) OSX

Like I said before we try to make breakpad work for windows the best way we can before I will run into the implementation of linux and OSX.


Comments