Skip to main content

Sentry tips

Sentry is our error and exception handling software of choice. We use the Sentry React Native library to track performance analytics in our apps. You can find the official documentation at the link here.

Guidelines

Issues with < 10 occurrences

Given the size of our user base, when an issue happens to less than 10 users we would be better off not even looking at it until / if it starts happening to more people. The only exception to this rule is if the issue is clearly caused by a mistake we made in our TypeScript code.

Always check the releases affected by an issue

Screen_Shot_2022-01-11_at_3.10.09_pm

Simply put: if an issue is only affecting an older version of the app, then we can safely mark the issue as “Resolved

Ignoring issues

Sentry has a really cool feature that lets us ignore issues until it becomes a bigger problem:

Screen_Shot_2022-01-11_at_3.15.53_pm

Sentry Troubleshooting Tips

Not every issue reported on Sentry needs to be addressed.

In fact, a lot of them are simply impossible to reproduce.

This section shows some of the issues you can safely ignore when browsing through Sentry.

Invalid memory addresses

Screen_Shot_2022-01-11_at_2.12.14_pm

Issues like EXC_BAD_ACCESS are impossible to reproduce as they always point to a different memory address. The only exception to this rule is if an EXC_BAD_ACCESS is consistently happening for many (20+) users. Still, investigating its cause will be mission impossible. Most likely caused by heap corruption.

JSON Parse errors

Screen_Shot_2022-01-11_at_2.14.51_pm

Screen_Shot_2022-01-11_at_2.15.37_pm

JSON Parse errors are easy to fix: they only happen when calling JSON.parse with strings that are not valid “stringified-objects”.

C++ / C errors (EXC_XXXXXX)

Screen_Shot_2022-01-11_at_2.16.37_pm

Issues such as these will also be impossible to reproduce simply because they happen in the C++ or C layer. In other words, this is closed source and we can't change this stuff anyways. Most likely caused by heap corruption.

SIGABRT errors

Screen_Shot_2022-01-11_at_2.35.30_pm

Also impossible to debug. Most likely caused by heap corruption.

SKDrawable errors

Screen_Shot_2022-01-11_at_2.58.27_pm

SkDrawable is a class from SkiaSharp. SkiaSharp is a 2D graphics system for . NET and C# powered by the open-source Skia graphics engine that is used extensively in Google products. This is most likely an issue coming from the Android Webview. Things to try:

→ Disable hardware acceleration for android in all webviews

→ Change the androidLayerType prop of the Webviews ****to hardware