Skip to content
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

Adapt the breakpad backend to send crash events immediately #786

Open
1 of 3 tasks
n08i40k opened this issue Jan 3, 2023 · 4 comments
Open
1 of 3 tasks

Adapt the breakpad backend to send crash events immediately #786

n08i40k opened this issue Jan 3, 2023 · 4 comments

Comments

@n08i40k
Copy link

n08i40k commented Jan 3, 2023

I use sentry-native with breakpad as a backend. Upon departure, the crash log is not sent immediately to the server, but is saved to disk and only the next time the application is launched, the crash log will be sent to the server.

Moreover, if you do not use sentry-native, but only breakpad, then you can immediately send a minidump to the server.

  • During build
  • During run-time
  • When capturing a hard crash

Environment

  • OS: Windows 10.0.19044 x64
  • Compiler: MSVC 19.34.31937
  • CMake version and config: 3.23.2, SENTRY_BACKEND=breakpad

Steps To Reproduce

Build a test application and cause a crash.

@supervacuus supervacuus added enhancement New feature or request and removed Status: Untriaged labels Jan 5, 2023
@supervacuus
Copy link
Collaborator

@n08i40k, the decision to persist breakpad crash-dumps to disk and not send them immediately is primarily historic. There are currently some organizational changes in progress regarding the Native SDK. At this point, I cannot tell you how this change will be prioritized down the road, especially since breakpad is mostly there as a fallback to support use cases that cannot use crashpad (for whatever reason).

Can I ask why you are not using crashpad on Windows?

@supervacuus supervacuus changed the title Add crash log submission without restarting the app Adapt the breakpad backend to send crash events immediately Jan 5, 2023
@past-due
Copy link
Contributor

past-due commented Feb 7, 2023

@supervacuus: I can provide some context regarding situations in which crashpad currently isn't used (on projects I'm involved with):

  • ARM64 Windows builds (especially ARM64 builds with mingw, which need extra additional fixes - I have not yet had a chance to dig into the best way to fix these compilation issues)
    • x64 builds, of course, work fine now 🥳
  • When packaging a single-binary Windows .EXE is needed (for example, self-contained "portable" builds)
  • In Linux builds packaged as Flatpaks / Snaps:
    • The Flatpak sandbox blocks ptrace completely, and hence neither crashpad nor breakpad currently work. Mozilla supposedly helped implement a workaround for the Snap sandbox (but this is only available for trusted web browsers - not every package), and may be suggesting something similar to Flatpak - but that isn’t available right now.
    • Reference: https://bugzilla.mozilla.org/show_bug.cgi?id=1653852
  • In macOS builds (due to an unrelated packaging issue), but we hope to have this switched over to crashpad properly soon

@supervacuus
Copy link
Collaborator

Thanks for your input, @past-due!

@past-due
Copy link
Contributor

past-due commented Oct 12, 2023

To follow-up on my last comment:

  • crashpad also doesn't work with sandboxed macOS apps (but breakpad does work)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: No status
Status: Needs Discussion
Development

No branches or pull requests

4 participants