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
fix(ios): synchronize RNSentryTimeToDisplay across main and bridge th… (#5887)
* fix(ios): synchronize RNSentryTimeToDisplay across main and bridge threads
putTimeToInitialDisplayForActiveSpan runs on the main thread from
SentryFramesTracker/CADisplayLink while setActiveSpanId and pop run from the
RN bridge (often off the main thread). Guard static activeSpanId and TTD
caches with @synchronized, copy span ids on set, and factor put logic into
putTimeToDisplayForLocked to avoid nested @synchronized on the same object.
Fixes crashes (EXC_BAD_ACCESS in stringByAppendingString:) from torn reads /
use-after-free and unsafe concurrent NSMutableDictionary access.
* chore: clang format
---------
Co-authored-by: Antonis Lilis <antonis.lilis@sentry.io>
Copy file name to clipboardExpand all lines: CHANGELOG.md
+6Lines changed: 6 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,12 @@
6
6
> make sure you follow our [migration guide](https://docs.sentry.io/platforms/react-native/migration/) first.
7
7
<!-- prettier-ignore-end -->
8
8
9
+
## Unreleased
10
+
11
+
### Fixes
12
+
13
+
- Fix iOS crash (EXC_BAD_ACCESS) in time-to-initial-display when navigating between screens ([#5887](https://github.com/getsentry/sentry-react-native/pull/5887))
0 commit comments