-
-
Notifications
You must be signed in to change notification settings - Fork 246
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
Errors that don't crash the app shouldn't be logged as fatal #1624
Comments
Thank you for the issue! I don't see any reason why not. What's your take here @denrase |
This conflicts with #456 and #1535 On the flutter side, it can also be changed via beforeSend or event processors. In the end this change would also affect the release health to make it look better than it actually is. Also relates to getsentry/rfcs#10 |
I see, thx for the context! Then I'd also suggest using beforeSend or event processors to change if necessary. |
I thought the Sentry plugin would mark an exception as I don't think this makes the release looks better than it is, since having a crash is way worse than having an error. If you crashed (thus If I use |
I basically agree with your points. However, the nuance here is that the SDK doesn't actually know about On Sentry every Because Flutter typically doesn't crash at all, the next worst exception the
Yes, native crashes will still be marked as fatal if they crash the app, since they don't go through the |
@feinstein Pretty much what @ueman described. There was a larger effort to bring the SDKs in line and we will be marking errors that occurred in However, this is separate from the |
Ok, I checked out the native SDKs, which are responsible for release health session handling. AndroidWhen an uncaught exception occurs, the event is marked as Also, an event is interpreted as crahsed if the mechanism is unhandled in android. The level does not apply. iOSFor the session to be recreated state we check if the the event was unhandled and if the level was higher than ConclusionI don't think changing the I checked out Crashlytics, as @ueman also linked to the documentation in one of the above issues. In their example setup of an application, they let users decide if those captured errors should be captured as fatal or not. |
So if we have a native crash it will appear as |
Yeah pretty much need to look into why we have fatal here. Will discuss with @buenaflor and @kahest |
There is also an inconsistency on what "crash" means on the "Releases" section. Releases overview page show a number of "Crashes": https://imgur.com/a/PRXmJyL But when you click on it, the filter is set to "error.unhandled:true": https://imgur.com/a/kbqc7tg |
@knaeckeKami this might be related to getsentry/sentry-cocoa#3353 |
@buenaflor I assigned you if it's ok, as it seems there's still an internal discussion needed to resolve this. Think the only open question is if the level can be changed: #1624 (comment) |
I'll bring this up internally. |
We decided to provide the abiility to optionally decide whether to report it as fatal or error. By default it will stay the way it is now. |
@feinstein We have merged the PR #1738, it will be part of one of the next releases. Thank you for bringing this up! |
Problem Statement
Fatal usually means your app crashed (fatal == death), but
FlutterErrorIntegration
on line 64 logs allFlutterError
asfatal
instead oferror
, even though they are not crashing the app.I have wrapped my app with
runZonedGuarded
and all errors are directed to Sentry so AFAIK the only way I can have a crash is from the native side.Solution Brainstorm
The
FlutterError
level should be an option we can pass, so we can decide the severity it has.Are you willing to submit a PR?
None
The text was updated successfully, but these errors were encountered: