Skip to content

Crashes in FPRScreenTraceTracker thread #1986

Closed
@nishantdesai

Description

  • Xcode version: 10.0
  • Firebase SDK version: 5.5.0
  • Component version:
    • FirebaseAuth | 5.0.3
    • FirebaseAuthInterop | 1.0.0
    • FirebaseCore | 5.1.0
    • FirebaseDatabase | 5.0.2
    • FirebaseFirestore | 0.13.0
    • FirebaseMessaging | 3.1.0
    • FirebasePerformance | 2.1.0
    • FirebaseStorage | 3.0.0

We are seeing crashes in +[FPRFeatureControl featureForceState:] on the com.google.FPRScreenTraceTracker as well as the main thread.

There are no specific steps to reproduce this crash. They popped up in Firebase on devices mainly on iOS 12.0

Stack trace for com.google.FPRScreenTraceTracker

Crashed: com.google.FPRScreenTraceTracker
0  libobjc.A.dylib                0x1a7400d68 objc_msgSend + 8
1  CoreFoundation                 0x1a8105090 -[__NSDictionaryM objectForKeyedSubscript:] + 212
2  xxxxx                         0x100782b58 +[FPRFeatureControl featureForceState:] + 2228
3  xxxxx                         0x1007826a0 +[FPRFeatureControl featureEnabled:] + 1020
4  xxxxx                       0x10077f54c -[FPRScreenTraceTracker shouldCreateScreenTraceForViewController:] + 1442668
5  xxxxx                         0x10077f048 -[FPRScreenTraceTracker startScreenTraceForViewController:currentTotalFrames:currentFrozenFrames:currentSlowFrames:] + 1441384
6  libdispatch.dylib              0x1a7c536c8 _dispatch_call_block_and_release + 24
7  libdispatch.dylib              0x1a7c54484 _dispatch_client_callout + 16
8  libdispatch.dylib              0x1a7bfbd4c _dispatch_lane_serial_drain$VARIANT$mp + 900
9  libdispatch.dylib              0x1a7bfc760 _dispatch_lane_invoke$VARIANT$mp + 432
10 libdispatch.dylib              0x1a7c04f00 _dispatch_workloop_worker_thread + 600
11 libsystem_pthread.dylib        0x1a7e360f0 _pthread_wqthread + 312
12 libsystem_pthread.dylib        0x1a7e38d00 start_wqthread + 4

Stack trace of main thread

Crashed: com.apple.main-thread
0  libobjc.A.dylib                0x1d8327d68 objc_msgSend + 8
1  CoreFoundation                 0x1d902c090 -[__NSDictionaryM objectForKeyedSubscript:] + 212
2  xxxxx                         0x102b6eb58 +[FPRFeatureControl featureForceState:] + 2228
3  xxxxx                         0x102b6e6a0 +[FPRFeatureControl featureEnabled:] + 1020
4  xxxxx                         0x102b6b70c -[FPRScreenTraceTracker viewControllerDidAppear:trackedByAnalytics:] + 1443116
5  xxxxx                         0x102c647d0 -[APMScreenViewReporter viewControllerDidAppear:] + 6848
6  xxxxx                         0x102c660dc __44+[UIViewController(APMScreenClassName) load]_block_invoke_2 + 13260
7  UIKitCore                      0x20563e3bc -[_UIResilientRemoteViewContainerViewController viewDidAppear:] + 52
8  UIKitCore                      0x2055a2b40 -[UIViewController _setViewAppearState:isAnimating:] + 808
9  UIKitCore                      0x2055a2f5c __52-[UIViewController _setViewAppearState:isAnimating:]_block_invoke + 264
10 CoreFoundation                 0x1d902681c -[__NSSingleObjectArrayI enumerateObjectsWithOptions:usingBlock:] + 76
11 UIKitCore                      0x2055a2cec -[UIViewController _setViewAppearState:isAnimating:] + 1236
12 UIKitCore                      0x2055a54d4 __64-[UIViewController viewDidMoveToWindow:shouldAppearOrDisappear:]_block_invoke + 44
13 UIKitCore                      0x2055a3b18 -[UIViewController _executeAfterAppearanceBlock] + 92
14 UIKitCore                      0x205b6c90c _runAfterCACommitDeferredBlocks + 564
15 UIKitCore                      0x205b5a840 _cleanUpAfterCAFlushAndRunDeferredBlocks + 384
16 UIKitCore                      0x205b7b378 __34-[UIApplication _firstCommitBlock]_block_invoke_2 + 152
17 CoreFoundation                 0x1d90d1408 __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 20
18 CoreFoundation                 0x1d90d0d08 __CFRunLoopDoBlocks + 272
19 CoreFoundation                 0x1d90cbcfc __CFRunLoopRun + 1060
20 CoreFoundation                 0x1d90cb5b8 CFRunLoopRunSpecific + 436
21 GraphicsServices               0x1db33f584 GSEventRunModal + 100
22 UIKitCore                      0x205b60bc8 UIApplicationMain + 212
23 xxxxx                         0x102a0b294 main (main.swift:12)
24 libdyld.dylib                  0x1d8b8bb94 start + 4

Activity

paulb777

paulb777 commented on Oct 23, 2018

@paulb777
Member

Internally tracked at b/118274589

adrianortuzar

adrianortuzar commented on Nov 29, 2018

@adrianortuzar

I have exactly the same issue, any news about how to fix this crash?

visumickey

visumickey commented on Nov 29, 2018

@visumickey
Contributor

This should be fixed in next release of Firebase Performance (planned mid December, release M40).

added this to the M40 milestone on Nov 29, 2018
paulb777

paulb777 commented on Dec 19, 2018

@paulb777
Member

@Igor-Palaguta Carthage was updated with 5.15.0 today.

Igor-Palaguta

Igor-Palaguta commented on Dec 19, 2018

@Igor-Palaguta

Thanks!

vbrittes

vbrittes commented on Jan 23, 2019

@vbrittes

Reduced the occurrence, but still happening.

senryxie

senryxie commented on Feb 20, 2019

@senryxie

Still happening with Firebase/Performance (5.16.0).

paulb777

paulb777 commented on Feb 20, 2019

@paulb777
Member

@senryxie Do you have the same backtrace as the original issue? What is the version of the FirebasePerformance pod from Podfile.lock?

senryxie

senryxie commented on Feb 20, 2019

@senryxie

@paulb777 Firebase/Performance (5.16.0) is from the Podfile.lock. It's happening in production, I got this from Fabric.

Crashed: com.google.FPRScreenTraceTracker
0  libsystem_kernel.dylib         0x18189b048 __abort_with_payload + 8
1  libsystem_kernel.dylib         0x181895bdc abort_with_payload_wrapper_internal + 100
2  libsystem_kernel.dylib         0x181895b78 abort_with_payload_wrapper_internal + 34
3  libobjc.A.dylib                0x180fcfe90 _objc_fatalv(unsigned long long, unsigned long long, char const*, char*) + 112
4  libobjc.A.dylib                0x180fcfde8 __objc_error + 42
5  libobjc.A.dylib                0x180fe41b0 weak_entry_insert(weak_table_t*, weak_entry_t*) + 318
6  libobjc.A.dylib                0x180fec3ac objc_storeWeak + 332
7  Foundation                     0x182681afc -[NSConcreteMapTable assign:key:value:isNew:] + 120
8  Foundation                     0x182681a30 -[NSConcreteMapTable setObject:forKey:] + 104
9  THEAPP                          0x100ea4a3c -[FPRScreenTraceTracker startScreenTraceForViewController:currentTotalFrames:currentFrozenFrames:currentSlowFrames:] + 4310616636
10 libdispatch.dylib              0x181706a54 _dispatch_call_block_and_release + 24
11 libdispatch.dylib              0x181706a14 _dispatch_client_callout + 16
12 libdispatch.dylib              0x181710ab0 _dispatch_queue_serial_drain$VARIANT$mp + 852
13 libdispatch.dylib              0x1817112fc _dispatch_queue_invoke$VARIANT$mp + 340
14 libdispatch.dylib              0x181711d20 _dispatch_root_queue_drain_deferred_wlh$VARIANT$mp + 404
15 libdispatch.dylib              0x18171a03c _dispatch_workloop_worker_thread$VARIANT$mp + 644
16 libsystem_pthread.dylib        0x1819aef1c _pthread_wqthread + 932
17 libsystem_pthread.dylib        0x1819aeb6c start_wqthread + 4
paulb777

paulb777 commented on Feb 20, 2019

@paulb777
Member

Thanks - It looks like a different crash, but we may be able to track here. I'll reopen.

11 remaining items

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions

    Crashes in FPRScreenTraceTracker thread · Issue #1986 · firebase/firebase-ios-sdk