expo/google-fonts

Inter_600SemiBold from @expo-google-fonts/inter crashing my react-native app on ios

Abayomzee opened this issue Β· 59 comments

My app crashes on ios whenever I navigate to a route that makes use of Inter_600SemiBold.

Having the same issue

This was a life saver. I also have this problem. Came when updating to expo 51

Able to reproduce here. I should note that I believe this is some kind of fault with RN, iOS or the font file itself as:

  • Replacing the TTF with the latest from fonts.google.com doesn't fix it
  • Replacing the TTF with a different one entirely DOES fix it, but of course, with the wrong font

Curious if the crashes I'm seeing is related to this. As above not using Inter_600SemiBold prevents these crashes from occurring.

Screenshot 2024-06-02 at 22 23 49

@Gnative GNative Thanks for that post. I had the font issue, which I resolved by removing that 1 font, but I'm still getting the EXEC_BAD_ACCESS errors and have no idea why. I now understand it is part of the font issue. Thank you.

I might experience a similar problem (same stack trace). However, I don't use Inter_600SemiBold or any Google Fonts at all – instead, I use custom TTF fonts via expo-fonts useFont hook (specifically Cute Dino and Reddit Mono Regular):

const [fontsLoaded] = useFonts({
  'Cute-Dino': require('./assets/fonts/Cute-Dino.ttf'),
  'RedditMono-Regular': require('./assets/fonts/RedditMono-Regular.ttf'),
});

I can't sustainably reproduce the crash, unfortunately. It sometimes occurs when navigating to some screen that includes one of the fonts. I'm still unsure which one is the exact culprit – somehow the stack trace includes "[H]elvetica Oblique", even though I don't make use of that font at all:

Stack Trace
OS Version: iOS 17.5.1 (21F90)
Report Version: 104

Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: SEGV_NOOP
Crashed Thread: 4

Application Specific Information:
elvetica Oblique >
Attempted to dereference null pointer.

Thread 4 Crashed:
0   CoreFoundation                  0x326e8d878         CF_IS_OBJC
1   CoreFoundation                  0x326e8d5c0         [inlined] CFStringGetLength
2   CoreFoundation                  0x326e8d5c0         CFStringGetLength
3   CoreFoundation                  0x326eeea0c         CFStringFind
4   redacted                        0x204c244f0         weightOfFont (RCTFont.mm:60)
5   redacted                        0x204c23fe4         +[RCTFont updateFont:withFamily:size:weight:style:variant:scaleMultiplier:] (RCTFont.mm:477)
6   redacted                        0x204dbfacc         -[RCTTextAttributes effectiveFont] (RCTTextAttributes.mm:220)
7   redacted                        0x204dbf6ac         -[RCTTextAttributes effectiveTextAttributes] (RCTTextAttributes.mm:150)
8   redacted                        0x204dbb8fc         -[RCTBaseTextShadowView attributedTextWithBaseTextAttributes:] (RCTBaseTextShadowView.mm:101)
9   redacted                        0x204dc14dc         -[RCTTextShadowView attributedTextWithMeasuredAttachmentsThatFitSize:] (RCTTextShadowView.mm:179)
10  redacted                        0x204dc185c         -[RCTTextShadowView textStorageAndLayoutManagerThatFitsSize:exclusiveOwnership:] (RCTTextShadowView.mm:227)
11  redacted                        0x204dc08d0         RCTTextShadowViewMeasure (RCTTextShadowView.mm:385)
12  redacted                        0x2050b4060         [inlined] facebook::yoga::measureNodeWithMeasureFunc (CalculateLayout.cpp:311)
13  redacted                        0x2050b4060         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1273)
14  redacted                        0x2050b4060         facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
15  redacted                        0x2050b54f0         [inlined] facebook::yoga::computeFlexBasisForChild (CalculateLayout.cpp:232)
16  redacted                        0x2050b54f0         [inlined] facebook::yoga::computeFlexBasisForChildren (CalculateLayout.cpp:543)
17  redacted                        0x2050b54f0         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1371)
18  redacted                        0x2050b54f0         facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
19  redacted                        0x2050b5e84         [inlined] facebook::yoga::distributeFreeSpaceSecondPass (CalculateLayout.cpp:734)
20  redacted                        0x2050b5e84         [inlined] facebook::yoga::resolveFlexibleLength (CalculateLayout.cpp:889)
21  redacted                        0x2050b5e84         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1497)
22  redacted                        0x2050b5e84         facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
23  redacted                        0x2050b54f0         [inlined] facebook::yoga::computeFlexBasisForChild (CalculateLayout.cpp:232)
24  redacted                        0x2050b54f0         [inlined] facebook::yoga::computeFlexBasisForChildren (CalculateLayout.cpp:543)
25  redacted                        0x2050b54f0         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1371)
26  redacted                        0x2050b54f0         [inlined] facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
27  redacted                        0x2050b54f0         [inlined] facebook::yoga::computeFlexBasisForChild (CalculateLayout.cpp:232)
28  redacted                        0x2050b54f0         [inlined] facebook::yoga::computeFlexBasisForChildren (CalculateLayout.cpp:543)
29  redacted                        0x2050b54f0         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1371)
30  redacted                        0x2050b54f0         [inlined] facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
31  redacted                        0x2050b54f0         [inlined] facebook::yoga::computeFlexBasisForChild (CalculateLayout.cpp:232)
32  redacted                        0x2050b54f0         [inlined] facebook::yoga::computeFlexBasisForChildren (CalculateLayout.cpp:543)
33  redacted                        0x2050b54f0         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1371)
34  redacted                        0x2050b54f0         [inlined] facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
35  redacted                        0x2050b54f0         [inlined] facebook::yoga::computeFlexBasisForChild (CalculateLayout.cpp:232)
36  redacted                        0x2050b54f0         [inlined] facebook::yoga::computeFlexBasisForChildren (CalculateLayout.cpp:543)
37  redacted                        0x2050b54f0         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1371)
38  redacted                        0x2050b54f0         [inlined] facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
39  redacted                        0x2050b54f0         [inlined] facebook::yoga::computeFlexBasisForChild (CalculateLayout.cpp:232)
40  redacted                        0x2050b54f0         [inlined] facebook::yoga::computeFlexBasisForChildren (CalculateLayout.cpp:543)
41  redacted                        0x2050b54f0         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1371)
42  redacted                        0x2050b54f0         [inlined] facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
43  redacted                        0x2050b54f0         [inlined] facebook::yoga::computeFlexBasisForChild (CalculateLayout.cpp:232)
44  redacted                        0x2050b54f0         [inlined] facebook::yoga::computeFlexBasisForChildren (CalculateLayout.cpp:543)
45  redacted                        0x2050b54f0         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1371)
46  redacted                        0x2050b54f0         [inlined] facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
47  redacted                        0x2050b54f0         [inlined] facebook::yoga::computeFlexBasisForChild (CalculateLayout.cpp:232)
48  redacted                        0x2050b54f0         [inlined] facebook::yoga::computeFlexBasisForChildren (CalculateLayout.cpp:543)
49  redacted                        0x2050b54f0         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1371)
50  redacted                        0x2050b54f0         facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
51  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1679)
52  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
53  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1679)
54  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
55  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1679)
56  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
57  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1679)
58  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
59  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1679)
60  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
61  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1679)
62  redacted                        0x2050b6e48         facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
63  redacted                        0x2050b16e4         facebook::yoga::layoutAbsoluteChild (AbsoluteLayout.cpp:440)
64  redacted                        0x2050b2444         facebook::yoga::layoutAbsoluteDescendants (AbsoluteLayout.cpp:503)
65  redacted                        0x2050b7f84         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:2076)
66  redacted                        0x2050b7f84         facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
67  redacted                        0x2050b16e4         facebook::yoga::layoutAbsoluteChild (AbsoluteLayout.cpp:440)
68  redacted                        0x2050b2444         facebook::yoga::layoutAbsoluteDescendants (AbsoluteLayout.cpp:503)
69  redacted                        0x2050b7f84         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:2076)
70  redacted                        0x2050b7f84         facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
71  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1679)
72  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
73  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1679)
74  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
75  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1679)
76  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
77  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1679)
78  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
79  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1679)
80  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
81  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1679)
82  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
83  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1679)
84  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
85  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1679)
86  redacted                        0x2050b6e48         facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
87  redacted                        0x2050b85b0         facebook::yoga::calculateLayout (CalculateLayout.cpp:2350)
88  redacted                        0x204c437d8         -[RCTShadowView layoutWithMinimumSize:maximumSize:layoutDirection:layoutContext:] (RCTShadowView.m:272)
89  redacted                        0x204c39ae4         -[RCTRootShadowView layoutWithAffectedShadowViews:] (RCTRootShadowView.m:35)
90  redacted                        0x204c4d1a8         -[RCTUIManager uiBlockWithLayoutUpdateForRootView:] (RCTUIManager.m:549)
91  redacted                        0x204bbcbd8         -[REASwizzledUIManager reanimated_uiBlockWithLayoutUpdateForRootView:] (REASwizzledUIManager.mm:158)
92  redacted                        0x204c5080c         -[RCTUIManager _layoutAndMount] (RCTUIManager.m:1126)
93  redacted                        0x204c19e74         __32-[RCTCxxBridge batchDidComplete]_block_invoke (RCTCxxBridge.mm:1514)
94  libdispatch.dylib               0x336cca138         _dispatch_call_block_and_release
95  libdispatch.dylib               0x336ccbdd0         _dispatch_client_callout
96  libdispatch.dylib               0x336cd33fc         _dispatch_lane_serial_drain
97  libdispatch.dylib               0x336cd3f2c         _dispatch_lane_invoke
98  libdispatch.dylib               0x336cdecb0         _dispatch_root_queue_drain_deferred_wlh
99  libdispatch.dylib               0x336cde524         _dispatch_workloop_worker_thread
100 libsystem_pthread.dylib         0x3e0c2e930         _pthread_wqthread

Thread 0
0   libsystem_kernel.dylib          0x3b90e3808         mach_msg2_trap
1   libsystem_kernel.dylib          0x3b90e7004         mach_msg2_internal
2   libsystem_kernel.dylib          0x3b90e6f1c         mach_msg_overwrite
3   libsystem_kernel.dylib          0x3b90e6d5c         mach_msg
4   CoreFoundation                  0x326ed1f58         __CFRunLoopServiceMachPort
5   CoreFoundation                  0x326ed15fc         __CFRunLoopRun
6   CoreFoundation                  0x326ed0cd4         CFRunLoopRunSpecific
7   GraphicsServices                0x3b0c831a4         GSEventRunModal
8   UIKitCore                       0x32b78a908         -[UIApplication _run]
9   UIKitCore                       0x32b83e9cc         UIApplicationMain
10  redacted                        0x204a6c408         main (main.m:7)
11  <unknown>                       0x1c238de4c         <redacted>

Thread 1
0   libsystem_kernel.dylib          0x3b90e3590         __workq_kernreturn
1   libsystem_pthread.dylib         0x3e0c2e97c         _pthread_wqthread

Thread 2
0   libsystem_kernel.dylib          0x3b90e3590         __workq_kernreturn
1   libsystem_pthread.dylib         0x3e0c2e97c         _pthread_wqthread

Thread 3 name: com.apple.uikit.eventfetch-thread
0   libsystem_kernel.dylib          0x3b90e3808         mach_msg2_trap
1   libsystem_kernel.dylib          0x3b90e7004         mach_msg2_internal
2   libsystem_kernel.dylib          0x3b90e6f1c         mach_msg_overwrite
3   libsystem_kernel.dylib          0x3b90e6d5c         mach_msg
4   CoreFoundation                  0x326ed1f58         __CFRunLoopServiceMachPort
5   CoreFoundation                  0x326ed15fc         __CFRunLoopRun
6   CoreFoundation                  0x326ed0cd4         CFRunLoopRunSpecific
7   Foundation                      0x324c9de48         -[NSRunLoop(NSRunLoop) runMode:beforeDate:]
8   Foundation                      0x324c9dc98         -[NSRunLoop(NSRunLoop) runUntilDate:]
9   UIKitCore                       0x32b79e63c         -[UIEventFetcher threadMain]
10  Foundation                      0x324cb4714         __NSThread__start__
11  libsystem_pthread.dylib         0x3e0c30068         _pthread_start

Thread 4 Crashed:
0   CoreFoundation                  0x326e8d878         CF_IS_OBJC
1   CoreFoundation                  0x326e8d5c0         [inlined] CFStringGetLength
2   CoreFoundation                  0x326e8d5c0         CFStringGetLength
3   CoreFoundation                  0x326eeea0c         CFStringFind
4   redacted                        0x204c244f0         weightOfFont (RCTFont.mm:60)
5   redacted                        0x204c23fe4         +[RCTFont updateFont:withFamily:size:weight:style:variant:scaleMultiplier:] (RCTFont.mm:477)
6   redacted                        0x204dbfacc         -[RCTTextAttributes effectiveFont] (RCTTextAttributes.mm:220)
7   redacted                        0x204dbf6ac         -[RCTTextAttributes effectiveTextAttributes] (RCTTextAttributes.mm:150)
8   redacted                        0x204dbb8fc         -[RCTBaseTextShadowView attributedTextWithBaseTextAttributes:] (RCTBaseTextShadowView.mm:101)
9   redacted                        0x204dc14dc         -[RCTTextShadowView attributedTextWithMeasuredAttachmentsThatFitSize:] (RCTTextShadowView.mm:179)
10  redacted                        0x204dc185c         -[RCTTextShadowView textStorageAndLayoutManagerThatFitsSize:exclusiveOwnership:] (RCTTextShadowView.mm:227)
11  redacted                        0x204dc08d0         RCTTextShadowViewMeasure (RCTTextShadowView.mm:385)
12  redacted                        0x2050b4060         [inlined] facebook::yoga::measureNodeWithMeasureFunc (CalculateLayout.cpp:311)
13  redacted                        0x2050b4060         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1273)
14  redacted                        0x2050b4060         facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
15  redacted                        0x2050b54f0         [inlined] facebook::yoga::computeFlexBasisForChild (CalculateLayout.cpp:232)
16  redacted                        0x2050b54f0         [inlined] facebook::yoga::computeFlexBasisForChildren (CalculateLayout.cpp:543)
17  redacted                        0x2050b54f0         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1371)
18  redacted                        0x2050b54f0         facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
19  redacted                        0x2050b5e84         [inlined] facebook::yoga::distributeFreeSpaceSecondPass (CalculateLayout.cpp:734)
20  redacted                        0x2050b5e84         [inlined] facebook::yoga::resolveFlexibleLength (CalculateLayout.cpp:889)
21  redacted                        0x2050b5e84         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1497)
22  redacted                        0x2050b5e84         facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
23  redacted                        0x2050b54f0         [inlined] facebook::yoga::computeFlexBasisForChild (CalculateLayout.cpp:232)
24  redacted                        0x2050b54f0         [inlined] facebook::yoga::computeFlexBasisForChildren (CalculateLayout.cpp:543)
25  redacted                        0x2050b54f0         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1371)
26  redacted                        0x2050b54f0         [inlined] facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
27  redacted                        0x2050b54f0         [inlined] facebook::yoga::computeFlexBasisForChild (CalculateLayout.cpp:232)
28  redacted                        0x2050b54f0         [inlined] facebook::yoga::computeFlexBasisForChildren (CalculateLayout.cpp:543)
29  redacted                        0x2050b54f0         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1371)
30  redacted                        0x2050b54f0         [inlined] facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
31  redacted                        0x2050b54f0         [inlined] facebook::yoga::computeFlexBasisForChild (CalculateLayout.cpp:232)
32  redacted                        0x2050b54f0         [inlined] facebook::yoga::computeFlexBasisForChildren (CalculateLayout.cpp:543)
33  redacted                        0x2050b54f0         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1371)
34  redacted                        0x2050b54f0         [inlined] facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
35  redacted                        0x2050b54f0         [inlined] facebook::yoga::computeFlexBasisForChild (CalculateLayout.cpp:232)
36  redacted                        0x2050b54f0         [inlined] facebook::yoga::computeFlexBasisForChildren (CalculateLayout.cpp:543)
37  redacted                        0x2050b54f0         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1371)
38  redacted                        0x2050b54f0         [inlined] facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
39  redacted                        0x2050b54f0         [inlined] facebook::yoga::computeFlexBasisForChild (CalculateLayout.cpp:232)
40  redacted                        0x2050b54f0         [inlined] facebook::yoga::computeFlexBasisForChildren (CalculateLayout.cpp:543)
41  redacted                        0x2050b54f0         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1371)
42  redacted                        0x2050b54f0         [inlined] facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
43  redacted                        0x2050b54f0         [inlined] facebook::yoga::computeFlexBasisForChild (CalculateLayout.cpp:232)
44  redacted                        0x2050b54f0         [inlined] facebook::yoga::computeFlexBasisForChildren (CalculateLayout.cpp:543)
45  redacted                        0x2050b54f0         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1371)
46  redacted                        0x2050b54f0         [inlined] facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
47  redacted                        0x2050b54f0         [inlined] facebook::yoga::computeFlexBasisForChild (CalculateLayout.cpp:232)
48  redacted                        0x2050b54f0         [inlined] facebook::yoga::computeFlexBasisForChildren (CalculateLayout.cpp:543)
49  redacted                        0x2050b54f0         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1371)
50  redacted                        0x2050b54f0         facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
51  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1679)
52  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
53  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1679)
54  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
55  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1679)
56  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
57  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1679)
58  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
59  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1679)
60  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
61  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1679)
62  redacted                        0x2050b6e48         facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
63  redacted                        0x2050b16e4         facebook::yoga::layoutAbsoluteChild (AbsoluteLayout.cpp:440)
64  redacted                        0x2050b2444         facebook::yoga::layoutAbsoluteDescendants (AbsoluteLayout.cpp:503)
65  redacted                        0x2050b7f84         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:2076)
66  redacted                        0x2050b7f84         facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
67  redacted                        0x2050b16e4         facebook::yoga::layoutAbsoluteChild (AbsoluteLayout.cpp:440)
68  redacted                        0x2050b2444         facebook::yoga::layoutAbsoluteDescendants (AbsoluteLayout.cpp:503)
69  redacted                        0x2050b7f84         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:2076)
70  redacted                        0x2050b7f84         facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
71  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1679)
72  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
73  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1679)
74  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
75  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1679)
76  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
77  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1679)
78  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
79  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1679)
80  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
81  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1679)
82  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
83  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1679)
84  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
85  redacted                        0x2050b6e48         [inlined] facebook::yoga::calculateLayoutImpl (CalculateLayout.cpp:1679)
86  redacted                        0x2050b6e48         facebook::yoga::calculateLayoutInternal (CalculateLayout.cpp:2219)
87  redacted                        0x2050b85b0         facebook::yoga::calculateLayout (CalculateLayout.cpp:2350)
88  redacted                        0x204c437d8         -[RCTShadowView layoutWithMinimumSize:maximumSize:layoutDirection:layoutContext:] (RCTShadowView.m:272)
89  redacted                        0x204c39ae4         -[RCTRootShadowView layoutWithAffectedShadowViews:] (RCTRootShadowView.m:35)
90  redacted                        0x204c4d1a8         -[RCTUIManager uiBlockWithLayoutUpdateForRootView:] (RCTUIManager.m:549)
91  redacted                        0x204bbcbd8         -[REASwizzledUIManager reanimated_uiBlockWithLayoutUpdateForRootView:] (REASwizzledUIManager.mm:158)
92  redacted                        0x204c5080c         -[RCTUIManager _layoutAndMount] (RCTUIManager.m:1126)
93  redacted                        0x204c19e74         __32-[RCTCxxBridge batchDidComplete]_block_invoke (RCTCxxBridge.mm:1514)
94  libdispatch.dylib               0x336cca138         _dispatch_call_block_and_release
95  libdispatch.dylib               0x336ccbdd0         _dispatch_client_callout
96  libdispatch.dylib               0x336cd33fc         _dispatch_lane_serial_drain
97  libdispatch.dylib               0x336cd3f2c         _dispatch_lane_invoke
98  libdispatch.dylib               0x336cdecb0         _dispatch_root_queue_drain_deferred_wlh
99  libdispatch.dylib               0x336cde524         _dispatch_workloop_worker_thread
100 libsystem_pthread.dylib         0x3e0c2e930         _pthread_wqthread

Thread 5 name: com.facebook.react.JavaScript
0   libsystem_kernel.dylib          0x3b90e3808         mach_msg2_trap
1   libsystem_kernel.dylib          0x3b90e7004         mach_msg2_internal
2   libsystem_kernel.dylib          0x3b90e6f1c         mach_msg_overwrite
3   libsystem_kernel.dylib          0x3b90e6d5c         mach_msg
4   CoreFoundation                  0x326ed1f58         __CFRunLoopServiceMachPort
5   CoreFoundation                  0x326ed15fc         __CFRunLoopRun
6   CoreFoundation                  0x326ed0cd4         CFRunLoopRunSpecific
7   redacted                        0x204c13bd0         +[RCTCxxBridge runRunLoop] (RCTCxxBridge.mm:326)
8   Foundation                      0x324cb4714         __NSThread__start__
9   libsystem_pthread.dylib         0x3e0c30068         _pthread_start

Thread 6 name: hades
0   libsystem_kernel.dylib          0x3b90e91cc         __psynch_cvwait
1   libsystem_pthread.dylib         0x3e0c2d6e0         _pthread_cond_wait
2   libc++.1.dylib                  0x3476e3500         std::__1::condition_variable::wait
3   hermes                          0x105d79284         hermes::vm::HadesGC::Executor::worker
4   hermes                          0x105d791ec         std::__1::__thread_proxy[abi:v160006]<T>
5   libsystem_pthread.dylib         0x3e0c30068         _pthread_start

Thread 7 name: hades
0   libsystem_kernel.dylib          0x3b90e91cc         __psynch_cvwait
1   libsystem_pthread.dylib         0x3e0c2d6e0         _pthread_cond_wait
2   libc++.1.dylib                  0x3476e3500         std::__1::condition_variable::wait
3   hermes                          0x105d79284         hermes::vm::HadesGC::Executor::worker
4   hermes                          0x105d791ec         std::__1::__thread_proxy[abi:v160006]<T>
5   libsystem_pthread.dylib         0x3e0c30068         _pthread_start

Thread 8
0   libsystem_kernel.dylib          0x3b90e93ec         __semwait_signal
1   libsystem_c.dylib               0x336d6c5ec         nanosleep
2   libsystem_c.dylib               0x336dc9728         sleep
3   redacted                        0x205013ec8         monitorCachedData (SentryCrashCachedData.c:147)
4   libsystem_pthread.dylib         0x3e0c30068         _pthread_start

Thread 9 name: SentryCrash Exception Handler (Secondary)
0   libsystem_kernel.dylib          0x3b90e3808         mach_msg2_trap
1   libsystem_kernel.dylib          0x3b90e7004         mach_msg2_internal
2   libsystem_kernel.dylib          0x3b90e6f1c         mach_msg_overwrite
3   libsystem_kernel.dylib          0x3b90e6d5c         mach_msg
4   redacted                        0x20501f428         handleExceptions (SentryCrashMonitor_MachException.c:315)
5   libsystem_pthread.dylib         0x3e0c30068         _pthread_start

Thread 11 name: io.sentry.app-hang-tracker
0   libsystem_kernel.dylib          0x3b90e93ec         __semwait_signal
1   libsystem_c.dylib               0x336d6c5ec         nanosleep
2   Foundation                      0x324df0710         +[NSThread sleepForTimeInterval:]
3   redacted                        0x205002248         -[SentryANRTracker detectANRs] (SentryANRTracker.m:105)
4   Foundation                      0x324cb4714         __NSThread__start__
5   libsystem_pthread.dylib         0x3e0c30068         _pthread_start

Thread 12 name: com.apple.NSURLConnectionLoader
0   libsystem_kernel.dylib          0x3b90e3808         mach_msg2_trap
1   libsystem_kernel.dylib          0x3b90e7004         mach_msg2_internal
2   libsystem_kernel.dylib          0x3b90e6f1c         mach_msg_overwrite
3   libsystem_kernel.dylib          0x3b90e6d5c         mach_msg
4   CoreFoundation                  0x326ed1f58         __CFRunLoopServiceMachPort
5   CoreFoundation                  0x326ed15fc         __CFRunLoopRun
6   CoreFoundation                  0x326ed0cd4         CFRunLoopRunSpecific
7   CFNetwork                       0x3291e7c8c         _CFHostIsDomainTopLevel
8   Foundation                      0x324cb4714         __NSThread__start__
9   libsystem_pthread.dylib         0x3e0c30068         _pthread_start

Thread 13
0   libsystem_kernel.dylib          0x3b90e3590         __workq_kernreturn
1   libsystem_pthread.dylib         0x3e0c2e97c         _pthread_wqthread

Thread 14
0   libsystem_pthread.dylib         0x3e0c2b0c4         start_wqthread

Thread 15
0   libsystem_kernel.dylib          0x3b90e3590         __workq_kernreturn
1   libsystem_pthread.dylib         0x3e0c2e97c         _pthread_wqthread

Thread 4 crashed with ARM Thread State (64-bit):
    x0: 0x0000000000000007   x1: 0x0000000000000000   x2: 0x000000000000000d   x3: 0x000000016b6d5cf8
    x4: 0x0000000000000010   x5: 0x00000001a0815a61   x6: 0x0000000000000000   x7: 0x0000000000000000
    x8: 0xded46431517e00e0   x9: 0xded46431517e00e0  x10: 0x000000020e0540c0  x11: 0x000000000000000f
   x12: 0x00000000008e4000  x13: 0x00000000000007fd  x14: 0x02000001ffa0fe19  x15: 0x00000001ffa0fe18
   x16: 0x000000019ecf99d4  x17: 0x000000019ecb7ea8  x18: 0x0000000000000000  x19: 0x0000000000000000
   x20: 0x00000001053dcac8  x21: 0x0000000000000000  x22: 0x000000000000000d  x23: 0x0000000000000001
   x24: 0x0000000000000000  x25: 0x000000000000000d  x26: 0x0000000000000000  x27: 0x0000000000000000
   x28: 0x0000000300f136c0   fp: 0x000000016b6d5c30   lr: 0x8c5780019ec985c4   sp: 0x000000016b6d5c30
    pc: 0x000000019ec98878 cpsr: 0x0000000060001000

@alanjhughes I'm still receiving a crash along with a similar stack trace above. I know you merged this fix and have shared my input on this thread, but I am still seeing this with the fix on Expo 51. Downgrading to Expo 50 seems to resolve the issue. This issue is keeping me from upgrading. Do you have any ideas?

@iM-GeeKy I'll need a minimal example that demonstrates the crash so I can debug it. I've tested against the font mentioned in this issue and I'm not seeing any problems.

I might experience a similar problem (same stack trace). However, I don't use Inter_600SemiBold or any Google Fonts at all – instead, I use custom TTF fonts via expo-fonts useFont hook (specifically Cute Dino and Reddit Mono Regular):

const [fontsLoaded] = useFonts({
  'Cute-Dino': require('./assets/fonts/Cute-Dino.ttf'),
  'RedditMono-Regular': require('./assets/fonts/RedditMono-Regular.ttf'),
});

I can't sustainably reproduce the crash, unfortunately. It sometimes occurs when navigating to some screen that includes one of the fonts. I'm still unsure which one is the exact culprit – somehow the stack trace includes "[H]elvetica Oblique", even though I don't make use of that font at all:

Stack Trace

Did you ever resolve this? I'm having the exact same issue!

I have the same issue, but unfortunately can't reliably reproduce the problem. It is intermittent.

I might experience a similar problem (same stack trace). However, I don't use Inter_600SemiBold or any Google Fonts at all – instead, I use custom TTF fonts via expo-fonts useFont hook (specifically Cute Dino and Reddit Mono Regular):

const [fontsLoaded] = useFonts({
  'Cute-Dino': require('./assets/fonts/Cute-Dino.ttf'),
  'RedditMono-Regular': require('./assets/fonts/RedditMono-Regular.ttf'),
});

I can't sustainably reproduce the crash, unfortunately. It sometimes occurs when navigating to some screen that includes one of the fonts. I'm still unsure which one is the exact culprit – somehow the stack trace includes "[H]elvetica Oblique", even though I don't make use of that font at all:
Stack Trace

Did you ever resolve this? I'm having the exact same issue!

Shortly after posting my comment above, I noticed that in the issue in the expo main repo it was discussed that expo-font 12.0.7 fixes this issue. For my specific problem, this seems to be the case: I've upgraded to expo-font@12.0.7 and expo@51.0.12 and the crash hasn't occurred again since then.

I was on expo-font@12.0.5 before.

I might experience a similar problem (same stack trace). However, I don't use Inter_600SemiBold or any Google Fonts at all – instead, I use custom TTF fonts via expo-fonts useFont hook (specifically Cute Dino and Reddit Mono Regular):

const [fontsLoaded] = useFonts({
  'Cute-Dino': require('./assets/fonts/Cute-Dino.ttf'),
  'RedditMono-Regular': require('./assets/fonts/RedditMono-Regular.ttf'),
});

I can't sustainably reproduce the crash, unfortunately. It sometimes occurs when navigating to some screen that includes one of the fonts. I'm still unsure which one is the exact culprit – somehow the stack trace includes "[H]elvetica Oblique", even though I don't make use of that font at all:
Stack Trace

Did you ever resolve this? I'm having the exact same issue!

Shortly after posting my comment above, I noticed that in the issue in the expo main repo it was discussed that expo-font 12.0.7 fixes this issue. For my specific problem, this seems to be the case: I've upgraded to expo-font@12.0.7 and expo@51.0.12 and the crash hasn't occurred again since then.

I was on expo-font@12.0.5 before.

I'm currently on

"expo": "^51.0.12",
"expo-font": "~12.0.7"

did a new build and have confirmed it has the fix code along, but am still seeing the issue.

gm90 commented

I actually removed all custom fonts in our project including the expo-font + expo-google-font dependencies and still hit this in Expo Go + the simulator. Annoyingly I don't think I can share our codebase but will try and spin up another project + recreate. Like others ours is intermittent so difficult to pin down but does seem to be specific to iOS.

Prior to removing those deps I also updated to expo-font 12.0.7 and it made no difference.

I'm now convinced its something to do with moving to Expo 51. Our first crash in Prod directly correlates to the day we updated to Expo 51

image

image

@gm90 to clarify, you're saying you have removed expo-font and are still seeing the crash?

gm90 commented

Yes exactly that. I tried a few other things first:

  1. Stopped downloading the fonts using expo-google-fonts (pruning the dependency in the process) and embedded them in the assets directory with the necessary app.json config
  2. Tried updating to expo-font 12.0.7 as others mentioned they'd had success. Didn't seem to do anything for us
  3. Tried a different font all together
  4. Tried updating our font-family to 'unset'/'generic font' so it wouldn't attempt to use any of our fonts
  5. Decided to remove all references to fonts + typography from the project (ran npm prune so would expect it to be gone)

I also tried to downgrade to Expo 50 but on iOS its a bit of a problem because of:
image
So that sort of blocks device testing. Then when I looked at the dates we moved to 51 it seemed pretty coincidental.

At that point I assumed maybe Expo has something internally that maybe causing it. I.e. within the dev tools etc?

@gm90 none of your changes will effect expo go. If you want to remove some of the included dependencies ie expo-font you'll need to use a dev build. Same thing when loading the fonts through the plugin. That won't work in expo go.

@gm90 none of your changes will effect expo go. If you want to remove some of the included dependencies ie expo-font you'll need to use a dev build. Same thing when loading the fonts through the plugin. That won't work in expo go.

I'm seeing similar behavior, but I'm using development builds. Expo 50 seems to work, but upgrading to 51 seems to bring about the issues. I'd be happy to hop on discord or something and show you the crash if that makes it easier (I haven't managed to reproduce it locally yet, but I can consistently get it to crash in my main project).

gm90 commented

@gm90 none of your changes will effect expo go. If you want to remove some of the included dependencies ie expo-font you'll need to use a dev build. Same thing when loading the fonts through the plugin. That won't work in expo go.

I'm not quite sure what you mean by none of the changes would affect Expo Go? As I was making these changes I was definitely noticing the changes of fonts from one to another etc in Expo Go, and ultimately the removal of the font, effectively causing the app to use what I thought to be the OS default.

Are you saying by removing them from package.json + npm pruning those dependencies aren't removed? That seems a bit weird, that suggests they are automatically included regardless of whether they are in the package.json or not. I'm not trying to argue otherwise, I'm just genuinely curious as to how that all works + appreciate the assistance.

In the end I was also doing development builds in an effort to try and Symbolicate the crash reports but I can't honestly say I then ran one of those (it had been a long few days).

Are you saying by removing them from package.json + npm pruning those dependencies aren't removed?

@gm90 Yes, you cannot remove the native code from expo go. Also config plugins will not have an effect on it. You can remove the JavaScript but that's all. expo-font will still be part of expo go regardless of what you do to your package.json. Expo go is a prebuilt sandbox. Meant for getting started quickly and learning. It's not meant for developing any real project in.

@gm90 to clarify, you're saying you have removed expo-font and are still seeing the crash?

@alanjhughes I also removed "expo-font": "~12.0.7" as well as any references to the custom font I was using, which in this case was "@expo-google-fonts/nunito": "^0.2.3" and still get the crash. I still see the same error

Thread 10 Crashed::  Dispatch queue: com.facebook.react.ShadowQueue
0   CoreFoundation                	       0x18040fa60 CF_IS_OBJC + 20
1   CoreFoundation                	       0x180437a90 CFStringGetLength + 128
2   CoreFoundation                	       0x180440db4 CFStringFind + 56
3   Bluebirding                   	       0x101e48f14 weightOfFont(UIFont*) + 400
4   Bluebirding                   	       0x101e48790 +[RCTFont updateFont:withFamily:size:weight:style:variant:scaleMultiplier:] + 2740
5   Bluebirding                   	       0x101bda504 -[RCTTextAttributes effectiveFont] + 228
6   Bluebirding                   	       0x101bd9d1c -[RCTTextAttributes effectiveTextAttributes] + 68
7   Bluebirding                   	       0x101bd3520 -[RCTBaseTextShadowView attributedTextWithBaseTextAttributes:] + 924
8   Bluebirding                   	       0x101bddfa4 -[RCTTextShadowView attributedTextWithMeasuredAttachmentsThatFitSize:] + 156
9   Bluebirding                   	       0x101bde620 -[RCTTextShadowView textStorageAndLayoutManagerThatFitsSize:exclusiveOwnership:] + 604
10  Bluebirding                   	       0x101bdc850 RCTTextShadowViewMeasure(YGNode const*, float, YGMeasureMode, float, YGMeasureMode) + 212
...

and sentry seems to capture the error

EXC_BAD_ACCESS
elvetica Oblique >
Attempted to dereference null pointer.

@gm90 I was sort of able to reproduce the example in another project and was wondering if you could try the same. I know this sound super crazy, but if I first caused the crash in my main project (in this case the codebase you cannot share). Then kill everything and start your reproducible example app and see if you get the same error. I realize that sounds bizarre and I've never seen anything like it, but that's the best I've managed to come up with πŸ€·πŸΌβ€β™‚οΈ. I'm not sure this is much help for @alanjhughes . This only seems to be present on Expo 51. Reverting to Expo 50 fixes the issue.

Screen.Recording.2024-06-22.at.1.07.58.PM.mov

I have been trying to reverse engineer a little bit why this might be happening. I don't know if this is useful but I noticed that in my case ALL of the fonts loaded by expo icons library lack font names. Family is loaded and recognised but has no names. And for the font used by the app, Nunito, only one of the 6 loaded names remains

Screenshot 2024-06-23 at 19 26 58

However, when the app is first started all font names can be properly found. They still exists after the first navigation but then suddenly can no longer be found.

Has a solution been identified?
We’re also seeing this on iOS after upgrading to Expo 51 and have rolled back to Expo 50 until this is resolved.

gm90 commented

@gm90 I was sort of able to reproduce the example in another project and was wondering if you could try the same. I know this sound super crazy, but if I first caused the crash in my main project (in this case the codebase you cannot share). Then kill everything and start your reproducible example app and see if you get the same error. I realize that sounds bizarre and I've never seen anything like it, but that's the best I've managed to come up with πŸ€·πŸΌβ€β™‚οΈ. I'm not sure this is much help for @alanjhughes . This only seems to be present on Expo 51. Reverting to Expo 50 fixes the issue.

Screen.Recording.2024-06-22.at.1.07.58.PM.mov

Wasn't able to reproduce what your seeing here, but still getting the error on our existing repo. Hopefully what @Njaah-0 has found may point us in the right direction as I'm struggling to find anything concrete. We've got a spike with Sentry lined up so may try and bring that forward and see if it sheds any more light

@alanjhughes @brentvatne, we’re seeing the same behavior after upgrading our app to Expo 51. We’ve reverted back to Expo 50 for the time being. Do you have any insights into this?

I'm still seeing this after updating to "expo": "^51.0.18", and it's associated latest dependencies. @gm90, @Njaah-0 is this still an issue for you?

I've started looking into this again. Can anyone provide a reliable repro? I cannot reproduce in a clean development build. Here is a screenshot with all the inter fonts loaded.

Simulator Screenshot - iPhone 15 Pro - 2024-07-05 at 07 37 10

gm90 commented

Its definitely still an issue for us, but not specific to this font. I began work trying to strip down our repo so it could be shared as couldn't reproduce on a clean development build, but theres a fair amount of work removing everything 😒 . The majority of times I've seen it is when I switch screens (even to screens that I'd visited previously without a crash, so feel like something is going on just as layout changes). We are getting more and more crash reports in Prod though.

@gm90 - can you identify what you remove that stops it breaking?

I’m seeing the exact same symptoms as @gm90. @alanjhughes I messaged you on Discord. I can’t share my code base but I’d be happy to screen share with you to show you what is going on, if that may help give you an idea of what we’re seeing.

gm90 commented

I've not been able to stop it. A couple of times I thought I'd hit on something as I didn't witness it as regularly as I have had and then all of a sudden it'll pop back up.

@alanjhughes and @iM-GeeKy, we're seeing the same problem @gm90 is describing after moving to Expo 51. The stack trace indicates a weightOfFont(UIFont*) + 400 error, but it seems to crashing when switching screens/tabs. For the time being, we have rolled back to Expo 50.

@alanjhughes and @iM-GeeKy, we're seeing the same problem @gm90 is describing after moving to Expo 51. The stack trace indicates a weightOfFont(UIFont*) + 400 error, but it seems to crashing when switching screens/tabs. For the time being, we have rolled back to Expo 50.

Facing the same issue.

@alanjhughes As mentioned earlier, I'm happy to screen share the issue with you since I can't share my code base. I know it's not the conventional way, but it seems a number of people are experiencing the issue, but recreating a reproducible example is appearing to be difficult. Just let me know, I'm here to help however I can.

@alanjhughes and @iM-GeeKy, we're seeing the same problem @gm90 is describing after moving to Expo 51. The stack trace indicates a weightOfFont(UIFont*) + 400 error, but it seems to crashing when switching screens/tabs. For the time being, we have rolled back to Expo 50.

Our team is facing this issue as well.

@gm90 Are you still facing this issue or have you found a solution? I've updated to the latest version of Expo

"expo": "^51.0.20",
"expo-font": "~12.0.8"

and am still seeing plagued by a crash...

@gm90 I was sort of able to reproduce the example in another project and was wondering if you could try the same. I know this sound super crazy, but if I first caused the crash in my main project (in this case the codebase you cannot share). Then kill everything and start your reproducible example app and see if you get the same error. I realize that sounds bizarre and I've never seen anything like it, but that's the best I've managed to come up with πŸ€·πŸΌβ€β™‚οΈ. I'm not sure this is much help for @alanjhughes . This only seems to be present on Expo 51. Reverting to Expo 50 fixes the issue.

Screen.Recording.2024-06-22.at.1.07.58.PM.mov

@alanjhughes This is the reproducible example that I used to cause the crash above which behaves like the crash in my private repository. If you have any questions, I'm happy to answer them.

@iM-GeeKy what is this example demonstrating? This seems to be something to do with an issue with image manipulator that has already been fixed. Updating it fixes the problem

@iM-GeeKy what is this example demonstrating? This seems to be something to do with an issue with image manipulator that has already been fixed. Updating it fixes the problem

Sorry, the repo name is misleading as I was reusing an old repo that I used to open an issue in the past. The branch I posted in the link above demonstrates the font related crash folks are seeing.

gm90 commented

@gm90 Are you still facing this issue or have you found a solution? I've updated to the latest version of Expo


"expo": "^51.0.20",

"expo-font": "~12.0.8"

and am still seeing plagued by a crash...

We are, but I'm transitioning between projects at work at the moment so haven't been able to dedicate further time to it. That transition should be complete as of Monday so hoping to be able to focus efforts on our app and help out a bit more here.

Hopefully @iM-GeeKy has got a reproducible example there πŸ‘†. That will help massively I'd imagine.

gm90 commented

Nice one @iM-GeeKy. I was able to reproduce the same crash on your repo:

image

Looks like @alanjhughes is on the case πŸ‘ Thank you!

@alanjhughes @gm90 I confirmed expo/expo#30400 resolved the issue!

@iM-GeeKy nice! Glad to hear it!

gm90 commented

Don't want to be that guy, but bumped to the two increased versions as soon as I saw this go out: 51.0.21 for expo + 12.0.9 for expo-font and definitely felt much more stable.

However I've just had a crash for what looks like the same reason 😭 :
image

Are they the same changes you made @iM-GeeKy

@gm90 Yeah, I updated the dependency and rebuilt for the changes to take affect. I haven't seen it crash yet, but will let you know if it creeps back.

Hello. @gm90 @alanjhughes I'm getting the custom font crash issue in react-native bare + expo.

  1. The app entered the background mode sometimes, then opened again, and it crashed.
  2. Update the app from Testflight, then open the app, the app crashed
    "expo": "^51.0.0",
    "react": "18.2.0",
    "react-native": "0.74.3",
    "expo-font": "~12.0.9",
Screenshot 2024-07-30 at 14 39 51
gm90 commented

You'll need to move to 51.0.21 I believe. I still get it in Expo Go on the odd occasion (gone from getting it every 5 minutes to once a week) but our dev builds and prod builds we've not seen it since @alanjhughes pushed his fix ❀️ .

@gm90 I'm using the expo version 51.0.22. I'm getting the crash

"name": "expo",
"version": "51.0.22",
"description": "The Expo SDK",

Screenshot 2024-07-30 at 16 11 57

Any luck or a patch? @alanjhughes

FYI, the build works fine in the foreground mode. Sometimes, we can repeat the issue in the background mode, or quit the app and open it again.

I use the react-native bare, but some libs require the expo, so install the expo in the react-native bare. I don't use the expo font to load the custom font. I only load the fonts with react-native bare.

hey folks, if you create a new issue with a minimal reproducible example using the latest version of expo-font (12.0.9), we would be happy to look! we have been unable to reproduce any issues on the latest version.

i would also verify in your project with npm why expo-font that you don't have another version installed, perhaps via a package you are using, that is out of date and causing this problem.

@brentvatne Ok, let me create a minimal reproducible example.

yarn why expo-font
└─ expo@npm:51.0.22
└─ expo-font@npm:12.0.9 [d5d2a] (via npm:~12.0.9 [d5d2a])