Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crashes in FPRScreenTraceTracker thread #1986

Closed
nishantdesai opened this issue Oct 23, 2018 · 17 comments
Closed

Crashes in FPRScreenTraceTracker thread #1986

nishantdesai opened this issue Oct 23, 2018 · 17 comments
Assignees
Milestone

Comments

@nishantdesai
Copy link

nishantdesai commented Oct 23, 2018

  • 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
@paulb777
Copy link
Member

Internally tracked at b/118274589

@adrianortuzar
Copy link

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

@visumickey
Copy link
Contributor

visumickey commented Nov 29, 2018

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

@paulb777 paulb777 added this to the M40 milestone Nov 29, 2018
@paulb777
Copy link
Member

@Igor-Palaguta Carthage was updated with 5.15.0 today.

@Igor-Palaguta
Copy link

Thanks!

@vbrittes
Copy link

Reduced the occurrence, but still happening.

@senryxie
Copy link

Still happening with Firebase/Performance (5.16.0).

@paulb777
Copy link
Member

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

@senryxie
Copy link

senryxie commented Feb 20, 2019

@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
Copy link
Member

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

@visumickey
Copy link
Contributor

This is indeed a different issue. Curious - Can we know the volume/percentage of this crash?

@senryxie
Copy link

Hi @visumickey, in the last two weeks, there are 72 crashes from 67 users out of around 400k unique users.

@visumickey
Copy link
Contributor

Internally tracked at b/127766474.

@visumickey visumickey modified the milestones: 5.15.0, M45 Mar 8, 2019
@levantAJ
Copy link

levantAJ commented Apr 3, 2019

We got 49 crashes with 47 users

#0Crashed: com.google.FPRScreenTraceTrackerSIGABRT ABORT 0x000000019fd21df8 Raw Text
--
0 | libsystem_kernel.dylib | __abort_with_payload + 8
1 | libsystem_kernel.dylib | abort_with_payload_wrapper_internal + 100
2 | libsystem_kernel.dylib | abort_with_payload_wrapper_internal + 34
3 | libobjc.A.dylib | _objc_fatalv(unsigned long long, unsigned long long, char const*, char*) + 112
4 | libobjc.A.dylib | __objc_error + 42
5 | libobjc.A.dylib | weak_entry_insert(weak_table_t*, weak_entry_t*) + 314
6 | libobjc.A.dylib | objc_storeWeak + 364
7 | Foundation | -[NSConcreteMapTable assign:key:value:isNew:] + 120
8 | Foundation | -[NSConcreteMapTable setObject:forKey:] + 104
9 | ShopBack | -[FPRScreenTraceTracker startScreenTraceForViewController:currentTotalFrames:currentFrozenFrames:currentSlowFrames:] + 4309399660
10 | libdispatch.dylib | _dispatch_call_block_and_release + 24
11 | libdispatch.dylib | _dispatch_client_callout + 16
12 | libdispatch.dylib | _dispatch_lane_serial_drain$VARIANT$armv81 + 868
13 | libdispatch.dylib | _dispatch_lane_invoke$VARIANT$armv81 + 412
14 | libdispatch.dylib | _dispatch_workloop_worker_thread + 584
15 | libsystem_pthread.dylib | _pthread_wqthread + 312
16 | libsystem_pthread.dylib | start_wqthread + 4
@paulb777
Copy link
Member

paulb777 commented Apr 3, 2019

@levantAJ This was marked as fixed in Firebase 5.19.0. Are you using at least that version?

@levantAJ
Copy link

levantAJ commented Apr 4, 2019

@paulb777 I'm using Firebase (5.19.0)

@firebase firebase locked and limited conversation to collaborators Oct 25, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.