We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
Debugging a Non Reproducible Crash - Alexandre Moureaux, React Advanced 2021
Debugging a non-reproducible crash with React Native, involving a Java error, race condition, and Android v4 support library, and learn how to collaborate and use the debugger effectively to find the solution.
- Debugging is harder when the crash can’t be reproduced, but understanding the bug is crucial.
- In this case, crashes were happening at startup, and the app was crashing instantly.
- The app is using React Native, and the crash is related to a Java error.
-
The bug is caused by a race condition in the
SimplePool
class. - The crash is triggered by a specific combination of events, making it hard to reproduce.
- The Android v4 support library is also involved in the crash.
- Sentry is used for crash reporting, but it’s being overwhelmed by the number of crashes.
- The problem is related to native navigation, and using native modules (MQT) is problematic.
- The fix is to downgrade the SVG library and use a different version of React Native.
- Debugging requires understanding the bug, using the debugger, and collaborating with others to find the fix.
- Implementing crash reporting tools and configuring them to track the issue is important.
- React Native developers need to understand the underlying issues and use the debugger effectively to find bugs like this.
- Debugging a non-reproducible crash is challenging, but using the debugger and collaborating with others can help find the solution.