firebase-ios-sdk icon indicating copy to clipboard operation
firebase-ios-sdk copied to clipboard

Crash on checkForPendingDynamicLink upon App start

Open RRomainK opened this issue 2 years ago • 12 comments

Description

We have users experiencing a crash when they try to launch their App.

Reproducing the issue

Just launch the App. It was installed using TestFlight.

Thread 0 #0 (null) in CFDictionaryGetValue () #5 (null) in -[FIRDynamicLinks checkForPendingDynamicLink] () #6 0x000000010469b4b0 in __39+[FIRDynamicLinks componentsToRegister]_block_invoke at /Pods/FirebaseDynamicLinks/FirebaseDynamicLinks/Sources/FIRDynamicLinks.m:135 #7 0x00000001045fffa0 in -[FIRComponentContainer instantiateInstanceForProtocol:withBlock:] at /Pods/FirebaseCore/FirebaseCore/Sources/FIRComponentContainer.m:148 #8 0x000000010460011c in -[FIRComponentContainer instanceForProtocol:] at /Pods/FirebaseCore/FirebaseCore/Sources/FIRComponentContainer.m:187 #9 0x00000001045ffeac in -[FIRComponentContainer instantiateEagerComponents] at /Pods/FirebaseCore/FirebaseCore/Sources/FIRComponentContainer.m:125 #10 0x00000001045fcf58 in +[FIRApp configureWithName:options:] at /Pods/FirebaseCore/FirebaseCore/Sources/FIRApp.m:217 #11 0x00000001045fcc0c in +[FIRApp configureWithOptions:] at /Pods/FirebaseCore/FirebaseCore/Sources/FIRApp.m:150 #12 0x00000001045fcba8 in +[FIRApp configure] at /Pods/FirebaseCore/FirebaseCore/Sources/FIRApp.m:142 #13 0x00000001044f890c in -[AppDelegate application:didFinishLaunchingWithOptions:] at /AppDelegate.m:59

Firebase SDK Version

9.6.0

Xcode Version

14.2

Installation Method

CocoaPods

Firebase Product(s)

DynamicLinks

Targeted Platforms

iOS

Relevant Log Output

No response

If using Swift Package Manager, the project's Package.resolved

Expand Package.resolved snippet

Replace this line with the contents of your Package.resolved.

If using CocoaPods, the project's Podfile.lock

Expand Podfile.lock snippet

PODS:
  - FBAEMKit (12.3.2):
    - FBSDKCoreKit_Basics (= 12.3.2)
  - FBSDKCoreKit (12.3.2):
    - FBAEMKit (= 12.3.2)
    - FBSDKCoreKit_Basics (= 12.3.2)
  - FBSDKCoreKit_Basics (12.3.2)
  - Firebase/Analytics (9.6.0):
    - Firebase/Core
  - Firebase/Auth (9.6.0):
    - Firebase/CoreOnly
    - FirebaseAuth (~> 9.6.0)
  - Firebase/Core (9.6.0):
    - Firebase/CoreOnly
    - FirebaseAnalytics (~> 9.6.0)
  - Firebase/CoreOnly (9.6.0):
    - FirebaseCore (= 9.6.0)
  - Firebase/Crashlytics (9.6.0):
    - Firebase/CoreOnly
    - FirebaseCrashlytics (~> 9.6.0)
  - Firebase/Database (9.6.0):
    - Firebase/CoreOnly
    - FirebaseDatabase (~> 9.6.0)
  - Firebase/DynamicLinks (9.6.0):
    - Firebase/CoreOnly
    - FirebaseDynamicLinks (~> 9.6.0)
  - Firebase/Messaging (9.6.0):
    - Firebase/CoreOnly
    - FirebaseMessaging (~> 9.6.0)
  - FirebaseAnalytics (9.6.0):
    - FirebaseAnalytics/AdIdSupport (= 9.6.0)
    - FirebaseCore (~> 9.0)
    - FirebaseInstallations (~> 9.0)
    - GoogleUtilities/AppDelegateSwizzler (~> 7.7)
    - GoogleUtilities/MethodSwizzler (~> 7.7)
    - GoogleUtilities/Network (~> 7.7)
    - "GoogleUtilities/NSData+zlib (~> 7.7)"
    - nanopb (< 2.30910.0, >= 2.30908.0)
  - FirebaseAnalytics/AdIdSupport (9.6.0):
    - FirebaseCore (~> 9.0)
    - FirebaseInstallations (~> 9.0)
    - GoogleAppMeasurement (= 9.6.0)
    - GoogleUtilities/AppDelegateSwizzler (~> 7.7)
    - GoogleUtilities/MethodSwizzler (~> 7.7)
    - GoogleUtilities/Network (~> 7.7)
    - "GoogleUtilities/NSData+zlib (~> 7.7)"
    - nanopb (< 2.30910.0, >= 2.30908.0)
  - FirebaseAuth (9.6.0):
    - FirebaseCore (~> 9.0)
    - GoogleUtilities/AppDelegateSwizzler (~> 7.7)
    - GoogleUtilities/Environment (~> 7.7)
    - GTMSessionFetcher/Core (< 3.0, >= 1.7)
  - FirebaseCore (9.6.0):
    - FirebaseCoreDiagnostics (~> 9.0)
    - FirebaseCoreInternal (~> 9.0)
    - GoogleUtilities/Environment (~> 7.7)
    - GoogleUtilities/Logger (~> 7.7)
  - FirebaseCoreDiagnostics (9.6.0):
    - GoogleDataTransport (< 10.0.0, >= 9.1.4)
    - GoogleUtilities/Environment (~> 7.7)
    - GoogleUtilities/Logger (~> 7.7)
    - nanopb (< 2.30910.0, >= 2.30908.0)
  - FirebaseCoreInternal (9.6.0):
    - "GoogleUtilities/NSData+zlib (~> 7.7)"
  - FirebaseCrashlytics (9.6.0):
    - FirebaseCore (~> 9.0)
    - FirebaseInstallations (~> 9.0)
    - GoogleDataTransport (< 10.0.0, >= 9.1.4)
    - GoogleUtilities/Environment (~> 7.7)
    - nanopb (< 2.30910.0, >= 2.30908.0)
    - PromisesObjC (~> 2.1)
  - FirebaseDatabase (9.6.0):
    - FirebaseCore (~> 9.0)
    - leveldb-library (~> 1.22)
  - FirebaseDynamicLinks (9.6.0):
    - FirebaseCore (~> 9.0)
  - FirebaseInstallations (9.6.0):
    - FirebaseCore (~> 9.0)
    - GoogleUtilities/Environment (~> 7.7)
    - GoogleUtilities/UserDefaults (~> 7.7)
    - PromisesObjC (~> 2.1)
  - FirebaseMessaging (9.6.0):
    - FirebaseCore (~> 9.0)
    - FirebaseInstallations (~> 9.0)
    - GoogleDataTransport (< 10.0.0, >= 9.1.4)
    - GoogleUtilities/AppDelegateSwizzler (~> 7.7)
    - GoogleUtilities/Environment (~> 7.7)
    - GoogleUtilities/Reachability (~> 7.7)
    - GoogleUtilities/UserDefaults (~> 7.7)
    - nanopb (< 2.30910.0, >= 2.30908.0)
  - GoogleAppMeasurement (9.6.0):
    - GoogleAppMeasurement/AdIdSupport (= 9.6.0)
    - GoogleUtilities/AppDelegateSwizzler (~> 7.7)
    - GoogleUtilities/MethodSwizzler (~> 7.7)
    - GoogleUtilities/Network (~> 7.7)
    - "GoogleUtilities/NSData+zlib (~> 7.7)"
    - nanopb (< 2.30910.0, >= 2.30908.0)
  - GoogleAppMeasurement/AdIdSupport (9.6.0):
    - GoogleAppMeasurement/WithoutAdIdSupport (= 9.6.0)
    - GoogleUtilities/AppDelegateSwizzler (~> 7.7)
    - GoogleUtilities/MethodSwizzler (~> 7.7)
    - GoogleUtilities/Network (~> 7.7)
    - "GoogleUtilities/NSData+zlib (~> 7.7)"
    - nanopb (< 2.30910.0, >= 2.30908.0)
  - GoogleAppMeasurement/WithoutAdIdSupport (9.6.0):
    - GoogleUtilities/AppDelegateSwizzler (~> 7.7)
    - GoogleUtilities/MethodSwizzler (~> 7.7)
    - GoogleUtilities/Network (~> 7.7)
    - "GoogleUtilities/NSData+zlib (~> 7.7)"
    - nanopb (< 2.30910.0, >= 2.30908.0)
  - GoogleDataTransport (9.2.0):
    - GoogleUtilities/Environment (~> 7.7)
    - nanopb (< 2.30910.0, >= 2.30908.0)
    - PromisesObjC (< 3.0, >= 1.2)
  - GoogleUtilities/AppDelegateSwizzler (7.8.0):
    - GoogleUtilities/Environment
    - GoogleUtilities/Logger
    - GoogleUtilities/Network
  - GoogleUtilities/Environment (7.8.0):
    - PromisesObjC (< 3.0, >= 1.2)
  - GoogleUtilities/Logger (7.8.0):
    - GoogleUtilities/Environment
  - GoogleUtilities/MethodSwizzler (7.8.0):
    - GoogleUtilities/Logger
  - GoogleUtilities/Network (7.8.0):
    - GoogleUtilities/Logger
    - "GoogleUtilities/NSData+zlib"
    - GoogleUtilities/Reachability
  - "GoogleUtilities/NSData+zlib (7.8.0)"
  - GoogleUtilities/Reachability (7.8.0):
    - GoogleUtilities/Logger
  - GoogleUtilities/UserDefaults (7.8.0):
    - GoogleUtilities/Logger
  - GTMSessionFetcher/Core (2.1.0)
  - leveldb-library (1.22.1)
  - nanopb (2.30909.0):
    - nanopb/decode (= 2.30909.0)
    - nanopb/encode (= 2.30909.0)
  - nanopb/decode (2.30909.0)
  - nanopb/encode (2.30909.0)
  - PromisesObjC (2.1.1)
  - SDWebImage (5.13.4):
    - SDWebImage/Core (= 5.13.4)
  - SDWebImage/Core (5.13.4)
  - SSZipArchive (2.4.3)
  - YandexMobileMetrica/Dynamic (4.0.0):
    - YandexMobileMetrica/Dynamic/Core (= 4.0.0)
    - YandexMobileMetrica/Dynamic/Crashes (= 4.0.0)
  - YandexMobileMetrica/Dynamic/Core (4.0.0)
  - YandexMobileMetrica/Dynamic/Crashes (4.0.0):
    - YandexMobileMetrica/Dynamic/Core

DEPENDENCIES:
  - FBSDKCoreKit (= 12.3.2)
  - Firebase/Analytics
  - Firebase/Auth
  - Firebase/Crashlytics
  - Firebase/Database
  - Firebase/DynamicLinks
  - Firebase/Messaging
  - SDWebImage
  - SSZipArchive
  - YandexMobileMetrica/Dynamic (= 4.0.0)

SPEC REPOS:
  trunk:
    - FBAEMKit
    - FBSDKCoreKit
    - FBSDKCoreKit_Basics
    - Firebase
    - FirebaseAnalytics
    - FirebaseAuth
    - FirebaseCore
    - FirebaseCoreDiagnostics
    - FirebaseCoreInternal
    - FirebaseCrashlytics
    - FirebaseDatabase
    - FirebaseDynamicLinks
    - FirebaseInstallations
    - FirebaseMessaging
    - GoogleAppMeasurement
    - GoogleDataTransport
    - GoogleUtilities
    - GTMSessionFetcher
    - leveldb-library
    - nanopb
    - PromisesObjC
    - SDWebImage
    - SSZipArchive
    - YandexMobileMetrica

SPEC CHECKSUMS:
  FBAEMKit: 955ca52eba8219c20f90774e8c6ff8bc7b3192a3
  FBSDKCoreKit: 678f64eda3f0ff25c189c2ebbfe87b1d96a85a6d
  FBSDKCoreKit_Basics: 6bee7c1f0932432901781203fa5e587ec5099148
  Firebase: 5ae8b7cf8efce559a653aef0ad95bab3f427c351
  FirebaseAnalytics: 89ad762c6c3852a685794174757e2c60a36b6a82
  FirebaseAuth: e4a5d3c36e778e41141b91cc861103a441d80bcc
  FirebaseCore: 2082fffcd855f95f883c0a1641133eb9bbe76d40
  FirebaseCoreDiagnostics: 99a495094b10a57eeb3ae8efa1665700ad0bdaa6
  FirebaseCoreInternal: bca76517fe1ed381e989f5e7d8abb0da8d85bed3
  FirebaseCrashlytics: 3210572ddb77801e5a0bd9d7bc890769f2066a0c
  FirebaseDatabase: 3de19e533a73d45e25917b46aafe1dd344ec8119
  FirebaseDynamicLinks: 894ee3b4e56a77abee067d371c9a23e7b5a3c686
  FirebaseInstallations: 0a115432c4e223c5ab20b0dbbe4cbefa793a0e8e
  FirebaseMessaging: a4d7910e4af663c9cbfc1071c5bef34651690949
  GoogleAppMeasurement: 6de2b1a69e4326eb82ee05d138f6a5cb7311bcb1
  GoogleDataTransport: 1c8145da7117bd68bbbed00cf304edb6a24de00f
  GoogleUtilities: 1d20a6ad97ef46f67bbdec158ce00563a671ebb7
  GTMSessionFetcher: ffbb25ec00ebcb5201adab0a56d808f6f1902d9f
  leveldb-library: 50c7b45cbd7bf543c81a468fe557a16ae3db8729
  nanopb: b552cce312b6c8484180ef47159bc0f65a1f0431
  PromisesObjC: ab77feca74fa2823e7af4249b8326368e61014cb
  SDWebImage: e5cc87bf736e60f49592f307bdf9e157189298a3
  SSZipArchive: fe6a26b2a54d5a0890f2567b5cc6de5caa600aef
  YandexMobileMetrica: 85ba4c1a6839985d58bf45ec7f915e433525b094

PODFILE CHECKSUM: 02eaa0786395e5367b60320e86675ab2179d70d5

COCOAPODS: 1.11.3

RRomainK avatar Dec 16 '22 15:12 RRomainK

I couldn't figure out how to label this issue, so I've labeled it for a human to triage. Hang tight.

google-oss-bot avatar Dec 16 '22 15:12 google-oss-bot

Thanks for the report. What iOS versions is the issue being seen on?

paulb777 avatar Dec 16 '22 17:12 paulb777

App type app Device

Device iPhone 11 Pro Version iOS 16.1.1 Battery 45% Time zone America/Los_Angeles Architecture arm64e Connection Type Wireless Disk space 101.15 GB of available space out of 238.3 GB Screen resolution 375 × 812 dots

RRomainK avatar Dec 16 '22 17:12 RRomainK

@rboisseron Would it be possible to show us the full crash log? You can send it to me at chliang at google dot com.

charlotteliang avatar Dec 16 '22 22:12 charlotteliang

This is all I can share with you. The products used are included in the PodFile.lock file.

RRomainK avatar Dec 19 '22 16:12 RRomainK

@rboisseron assuming that this isn't the full stack trace, are you using a singleton to manage it firebase? If so, does changing it to static funcs/variables fix your issue?

joaopdcgarcia avatar Dec 19 '22 17:12 joaopdcgarcia

The crash happens here : // Use Firebase library to configure APIs [FIRApp configure]; This is the second line of code in the didFinishLaunchingWithOptions method.

The "configure" method is a static method.

RRomainK avatar Dec 19 '22 17:12 RRomainK

@rboisseron If you do wrap it in a function that configures it using a static method, does it avoid the crash?

joaopdcgarcia avatar Dec 19 '22 18:12 joaopdcgarcia

The crash happens in some of our clients App. We never experienced this crash internaly.

RRomainK avatar Dec 19 '22 18:12 RRomainK

I was having the same issue but wasn't able to reproduce it. Only QA was. I had a singleton managing firebase and adjusted to be static functions and it went way. Now trying to figure out whether this was a coincidence or not.

joaopdcgarcia avatar Dec 19 '22 18:12 joaopdcgarcia

I'm not mananing Firebase using a singleton. I just call the static method.

RRomainK avatar Dec 19 '22 18:12 RRomainK

Is it possible to reproduce the issue in a sample app and share the code with us since we are not able to reproduce the issue from our end? Or you could use the QuickStart app : https://github.com/firebase/quickstart-ios/tree/master/dynamiclinks for the same. Thanks

eldhosembabu avatar Jan 09 '23 18:01 eldhosembabu

Hello,

We are seeing the same issue in Hang section of Xcode Organizer.

We don't understand this issue that raised unexpectedly after updating firebase form 9.0.0 to 10.2.0 last month (Xcode shows crash amount for only a single version but it started exactly with the version where Firebase was updated).

Screenshot 2023-01-18 at 11 27 35

I hope this additional context will help to narrow the issue.

jc-paris avatar Jan 18 '23 10:01 jc-paris

Report from Firebase itself. We get this crash again and again from various users.

Capture d’écran 2023-01-26 à 15 32 47

RRomainK avatar Jan 26 '23 14:01 RRomainK

Hello, We got more information about this crash. It seems it is related to an other Thread created by the On Demand Resources system. The same crash happened while accessing the NSBundle from an other part of our code too.

The thread is always with com.apple.NSXPCConnection.m-user.com.apple.ondemandd.client

RRomainK avatar Jan 27 '23 17:01 RRomainK

We should add that this crash happens only with ios 16.

RRomainK avatar Jan 30 '23 15:01 RRomainK

The Firebase Dynamic Links service will be shutdown on August 25, 2025. In the meantime, only critical or security issues will be fixed in the SDK.

More at https://firebase.google.com/support/dynamic-links-faq

paulb777 avatar Aug 22 '23 16:08 paulb777