-
-
Notifications
You must be signed in to change notification settings - Fork 510
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
Create Breakpad receiving server #661
Comments
This needs some more work. |
This is basically working but logging in for developers is not implemented so I'm ATM the only one who can upload debug symbols and thus make releases. |
Probably the only thing really missing is some functionality to make other accounts admins and generate API tokens for your own account. |
I'm going to consider this done enough to close this issue. |
Curious: Why didn't you guys use Sentry? Since you can self host and it supports minidumps already? |
How is it free? From what I could tell when I looked at it, that service was only paid. Also in the end we need to use both a breakpad normal stackwalk executable and one forked to work with mingw (as Godot is built with mingw for Windows). And from what I saw Sentry uses just breakpad as it is the only C++ crash reporting option that is maintained. So we might not even be able to use Sentry at all unless they were open to adding a mingw variant of the crash dump processing tool. |
Sentry builds docker images to make it easier for you to self host: https://github.com/getsentry/self-hosted/ It's free. I'd imagine folks would be open to supporting more platforms. It's pretty much in the company's DNA. The only issue referring mingw I found was this but refers to building on Windows. I suggest opening an issue to discuss it with the team. Specially if you're willing to open PRs to contribute, I imagine folks would be thrilled. The server-side symbolication stuff is also open source: |
Oh it's right on the README:
|
Ah I see it's one of those cases where you hide the self hosted option so well on your pricing page / main website that people can't find it. Sadly I see that often, it takes a lot of conviction to put the "free if you run on your server" on the page where you are trying to convert visitors to paid customers. I can kind of understand it but then you constantly need to always correct people and say the self hosted option technically exists, but is so hard to find that you can't find it unless you are told about it specifically.
Yeah, that's not how the Godot build process works (at least for 3.x), it uses gcc. And like I said the only way I got that working was by using that special fork of breakpad that supports mingw that way I can extract symbols from the Windows build of Godot export templates and by using the special stackwalk executable I can decode crash dumps correctly. |
Sentry has been available on GitHub since 2008, it only became a company a lot later. There's a lot about Sentry and open source out there: Including staffing people whose sole purpose is to make Sentry easy for folks to run them for free. So if it doesn't seem easy to find out, perhaps something they might be interested in looking in. Now if you end up on SaaS pricing, I wouldn't even expect call outs to Self Hosted. Most people dont' want to run servers themselves and are happy with Sentry's free tier, or the 29 USD paid version. So I don't believe it's "malice" that there's no banner there pointing people to docker images. But granted, this software being available for folks to run for free is funded by the SaaS, so IMHO it wouldn't be all that weird to focus on pricing details for SaaS instead of trying to convince people to run servers themselves |
So I had a look at tools for processing Breakpad minidumps (and the debug symbols) and it unfortunately looks like we can't use any of them...
So we need to write our own software to receive minidumps and debug info (we need also a script for creating the debug info, this is a bit difficult on windows as locating the pdb files is not simple).
We can do some of these tasks manually so this isn't critical for 0.4.0.1
The text was updated successfully, but these errors were encountered: