-
-
Notifications
You must be signed in to change notification settings - Fork 164
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
Sentry causes process to quit due to signal SIGPIPE #863
Comments
If it is a data transport issue - is there any way I can pause the transport? Currently I get around this by calling |
Hi, @daniel-falk! Can I ask you which If you want to test whether the transport is the cause, you turn off the transport in the build (pass It is possible that |
Hi @supervacuus, Thanks for quick answer! I will try with We are also building curl from source. We do not use any specific build options related to that, do you have any more information you could point me to for finding out how that works? I was not aware this was an option in curl, but after having a quick look it seems like the default in curl is to install signal handlers for Here's the output from
I will see if I can dig out any more about curls usage of pipes. |
If you use the defaults and have Please also let me know whether you are using |
Sorry for slow reply. When digging into it more I found the issue: we were compiling the Sentry client with a newer version of OpenSSL ( For future reference: Please also let me know whether you are using breakpad or crashpad as a crash backend. Setting For anyone looking for information about
|
Hi, @daniel-falk! Happy to hear you found a solution to the problem. When you sent me the Thanks for the info regarding the sentry backend; although, given you found a solution to the problem, it is no longer relevant. Yes, |
Description
I have a complex program running on a custom Linux distribution (open-embedded). The program involves a lot of gstreamer code. I'm trying to add Sentry logging to this process, but if i call the
sentry_init
method in my program, then the program starts exiting sporadically. The program exits with no log messages and no crash/message being sent to Sentry.When does the problem happen
One failure case causes the application to exit with return code 141 which is typically related to SIGPIPE not being handled. This happens when gstreamer fails to write data to a network socket, which causes a SIGPIPE signal. Gstreamer is automatically adding a signal handler to catch this signal, it does that whenever it is doing any network I/O, i.e. after
sentry_init
is called.For some reason, it seems like this signal is not handled whenever I have called
sentry_init
. Does Sentry remove other signal handlers in some way, even if they are added after the call to the init method? Perhaps Sentry is also adding signal handlers for SIGPIPE to deal with it's own communications?I have also tried to set
sentry_options_set_backend(options, NULL)
since I figured the crash handling might be more aggressive on the signal handlers, but this did not make any difference.How can I solve this, or further debug the issue?
Environment
Sentry native from main / d30e96d
Steps To Reproduce
Log output
No output, only exit code 141 is set.
The text was updated successfully, but these errors were encountered: