 Hello everyone, my name is Cisco Fauli. I work for the document foundation and Yeah, now I'm going to talk about Yeah, scrapping the cross report website and why I'm recently doing it Yes, so basically when cross occurs and Well in LibreOffice, then the users are prone with this dialogue so basically LibreOffice creates a mini dump of the crash with brake pad and then if the user agrees this dump is sent to the cross Cross the report instance we have which is based on the one that five folks implemented initially So, yeah, it was implemented for LibreOffice by Marcus Morar it was back in 2016 and It started to be implemented in LibreOffice 5.2 so far we have in the Instance we have 166% of LibreOffice already and so far almost well 14 million classes were reported there So basically when you go to the website, which is crashreport.libreoffice.org or document foundation.org This is the main page that you find you have drop-down list on top with the versions and On top you have the versions displayed on this chart so you see the evolution of reports in the in this case in the last seven days and Then when you check every version, this is what you find this is Yeah, there is a list of reports sorted by the number of reports so on Sorry on top so on top we will see the most reported Crashes and then sorted in that way and Then if we click on one of them One of these signatures then we have the list of the reports when they were reported the version and the platform and Finally, if we click in one of these Reports for It's signature Then we have for instance here the information about the versions where this class was reported Information about operating system the total the count of reports CPU and we also have some details about this specific report and Yeah, then we also have the the traces Which is Yeah, the information there the users and So yeah, the problem That I find with the crash report Website is that in order to Get information about for instance the traces of specific crash report you have to click a lot of a lot of Links and go to a lot of pages then The website it's really slow because I Guess because of the number of reports we already have there and it takes a lot of time and yeah it's very very slow and then Like when the traces are reported for Windows platforms, they are they use Back slashes, so then if you want to check it in your local build like in my case I use Linux then I have to check change them to normal slashes, so it's a bit annoying and then Sorry again, as I said The classes are sorted by by date so as we saw before in Here This is for a specific class signature. They are sorted by by day of the report so if we if we want to check the most recent ones we have to go to the last page and for some crash reports we have Hundred of pages so then it's another click that you have to Perform and yeah, it takes time slow and so yeah at some point. I decided Okay, maybe it's better if we well Have it like in one place in one place all the information about a specific version of LibreOffice So then I decided to create a little script that Basically scrubs all this information Into well I decided to put it in the CSV file So basically what it does is it goes to the page of a specific version Gets all the signatures with we have there then for each Signature crash then we go to the last page which normally are well, they are the most recent ones and then for recent crash report we from there we get the information we want to strike and Then finally we just create the CSV file with all this information so This is basically the script. We just call the version and here we also use the the parameter of the local repository and I'm going to explain later why and Yeah, this is basically all the information we Retrieve for a specific Crash report, but I'm gonna show it in a demo. I think it's easier to understand so Yeah, basically this is The Informase Okay, wait, okay yeah, so basically this is the Document that is generated by the script so For instance, we have this crash signature here. We have the number of reports that Are in the in the crash report website then when the when the First crash report for that signature was reported the last one and then We take a specific report which which ID is this one We see the version for this probably when the script tries to get one for the version that we Use as a parameter, but if not then it gets it from previous version and then we get this information from From the website, which is the reason that It gives that they happen that the crash then the platform and here Basically, this is the traces of of the crash the document and and then the the line where where it happens and finally Well Yeah, yeah, finally That's the reason why we use the repository parameter here. We have the specific line Where those traces are so Now it's easier to find for a specific crash so for instance There are some straightforward crashes which are divide by zero Like this one section in divided by zero or maybe not this one, but Look for one that is Yeah, for instance, we have this one here, which is a Crash and the reason it's divided by zero then here we have the traces and we already have Here The code that it's executed. So if we look at the top of the trace, we see that Well, it's divided by and calls. So Yeah, something Fishy there. So we can just go to the code and and check it but Yeah, otherwise It's not from the crash report website. It's really Difficult to pinpoint this kind of crashes. So I Think in this regard it having it in a in a spreadsheet helps helps a bit so Yeah, so Yeah, I started a few weeks ago with this script so yeah, I started with a 7332 and I Sent these reports to the mailing list the development mailing list or other can also check Yeah, so far I've sent four reports for different Versions of liberal office. I think it was three seven three three seven three four seven three five and then seven Four zero them the most recent one and yeah, I collected some of the crashes that were already fixed I think because of Of these documents of these reports. So at least I could identify 13 divide by by zero crashes that were fixed then also Around ten nul the references crashes that were also fixed and two other crashes that fixed and yeah, I really I want to thanks Stefan and Kaolan who? Yeah, took the time to look at these reports. I sent them Yeah, they could identify some of the crashes and fix them and Yeah, this Yeah, a chart of number of reports we have had over time and well when we started We've got a lot of them. I know that at the time Marcus spend and probably others spend Time fixing probably them the most obvious ones But then since a five to three Until seven that one it kind it was kind of flat the number of reports and Surprisingly in seven that two and seven that three there is a drop in the number of reports. I Believe it's because we have fixed them or maybe we have let's Less users, but yeah, it alone said this morning that the number of downloads is increasing I believe we have less Crash reports nowadays, which is great. And I hope to even Reduce it further this This number of crash reports So, yeah, that's that's it. I think that was quick You have any question Yeah, well, that's I didn't add it to the So yeah, the question is if I consider to add it to the crash report website itself and Yeah, that's something that I thought about. I just wanted because for me Writing this script was quite quick. So I just wanted to Play a bit with it to see if there was any benefit in in having it so, yeah, I think yeah, the To do thing would be to integrate it in the Crash report. Yeah, any other question? Yeah Yeah, that's a good question Yeah, I don't know if I don't know to be honest I think on the one hand, it's a Yeah, we just have I mean knowing the for instance knowing the number of reports for an old version I think can be useful, but I don't think Having all the information for specific crash reports from old versions, it's Maybe it's not useful anymore So maybe Part of it can be clean That's something that I mean we are adding more versions and We are having more crashes and Sorry at some point Maybe that's something that we have to decide to whether Get rid of all reports or not because I don't know if We don't have infinite resources to to keep them, I don't know. Do you have any information about? like the current size of the crash reports like how many gigabytes we have for In information, okay. Yeah That could be another solution Yeah, we Yeah, we should also check whether if we get rid of all versions if it's faster I mean, I I believe that's the reason why it's slow, but we should check. Okay. Any other question? It's very useful Great Yeah Okay, yeah, thanks to you for fixing those glasses. Yeah, happy happy to know Yeah, and yeah for the recent column actually There are only four or five categories But at least for this specific one that divide by in zero that's I Found it useful because it's easy to pinpoint those Okay, thank you Question to just go why not using that Directly from the crash report website database. Yeah, that could be another option, but I think you need an API tool for that like like Yeah, I believe it's like Going like Querying the information from from the database directly, but I don't have access to that So unless there is an API for that, I don't know Yeah, I don't know if I was saying I answer your question. Okay. Thanks