GSOC 2017 - Crash Reporting - Report 6

Posted 6 years ago

On my previous post we have three components: The building procedure where we have the creation of the symbol file, the generation of the minidump files on the client side and the webserver where it will integrate both symbol and minidumps to show the errors. For this week I got mostly involved into building Musescore and uploading the symbols to the webserver. For the webserver at this stage we are going to use backtrace.io .

For the building procedure I spend most of the week on trying to generate the symbol file, the problem was while it was producing the symbol files with the DEBUG option it was not producing them if it was compiled with the RELEASE option. I finally found out that in the last compile command when it was linking all the static libraries (*.a) it was having the: -Wl,-S option which actually removes all the symbols. Therefore I created a compile option RELWITHDEBINFO where it compiles a release version with the symbols. This option I made it available for both cmake and Makefile.mingw

For building Musescore we used an automatic web application that builds windows applications from source called appveyor. My new appveyor script was based on a previous written script from another Musescore contributer. At this stage it compiles, it produces the symbol file and it pushes the symbol file to backtrace.io, and I have the binary musescore in a 7z file. Also the musescore client is capable of uploading the minidumps to backtrace.io . Noted, for this process I am using the wininet.lib from windows sdk.

Things I need to do for the upcoming week:
- Send the musescore 7z to the ftp site that hosts the musescore binaries
- Specify the metadata and see how to work with them on the server (currently I am uploading some dummy parameters but I have no idea how to see them on backtrace.io)
- The implementation is only for windows, therefore I need to add some directives on the code to compile only for windows
- My target for next week is to push the code to the master

source code and changes of this project can be found here:
https://github.com/musescore/MuseScore/compare/master...gsocnikos:add-b…