You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The method -[FIRCrashlytics recordCustomExceptionName:reason:frameArray:] is not exposed in the public header file, while it is exposed in the old Crashlytics SDK. We currently use this method in our apps to report when the main thread hangs.
We've realized that when one of the iOS watchdogs kills our app, we have no way of knowing why exactly it happened. Moreover, we don't know how often our apps are killed by the iOS watchdogs, as these are not reported by Crashlytics or Apple. We were mostly concerned with the main thread watchdog, i.e. if the main thread is not responsive for more than x seconds, the app is killed. So if you have a deadlock somewhere in the main thread, you might never know about it, these crashes are probably counted as OOM sessions.
Our solution was to run our own internal watchdog that periodically checks if the main thread ran since the last check, and if not, a stack trace of the main thread is generated. The stack trace is then given to the above mentioned method to be uploaded to Crashlytics.
This has worked very good for us in the last few months, and fixes showed an increase in OOM-free sessions, although these fixes had nothing to do with memory.
We ask to consider making the above mentioned method public again.
Note that we only send the main thread stack. It would be nice to get and report the stack traces of all the threads.
The text was updated successfully, but these errors were encountered:
This is a very interesting feature request and one we've thought about before. I suspect we will try to improve the ability to report custom stack traces over time, stay tuned! I appreciate the request and will raise it with the team here :)
[REQUIRED] Step 2: Describe your environment
[REQUIRED] Step 3: Describe the problem
The method
-[FIRCrashlytics recordCustomExceptionName:reason:frameArray:]
is not exposed in the public header file, while it is exposed in the old Crashlytics SDK. We currently use this method in our apps to report when the main thread hangs.We've realized that when one of the iOS watchdogs kills our app, we have no way of knowing why exactly it happened. Moreover, we don't know how often our apps are killed by the iOS watchdogs, as these are not reported by Crashlytics or Apple. We were mostly concerned with the main thread watchdog, i.e. if the main thread is not responsive for more than x seconds, the app is killed. So if you have a deadlock somewhere in the main thread, you might never know about it, these crashes are probably counted as OOM sessions.
Our solution was to run our own internal watchdog that periodically checks if the main thread ran since the last check, and if not, a stack trace of the main thread is generated. The stack trace is then given to the above mentioned method to be uploaded to Crashlytics.
This has worked very good for us in the last few months, and fixes showed an increase in OOM-free sessions, although these fixes had nothing to do with memory.
We ask to consider making the above mentioned method public again.
Note that we only send the main thread stack. It would be nice to get and report the stack traces of all the threads.
The text was updated successfully, but these errors were encountered: