firebase / firebase-ios-sdk

Firebase SDK for Apple App Development
https://firebase.google.com
Apache License 2.0
5.64k stars 1.48k forks source link

[FBLPromise firebaseInstallationID]: unrecognized selector sent to instance #11842

Closed SeonhoBan closed 1 year ago

SeonhoBan commented 1 year ago

Description

I updated xcode to 15.0 and found app crash. Crash occurs in the process of configuring Firebase.

Reproducing the issue

  1. Xcode15
  2. Firebase 10.15.0
  3. Build
  4. Firebase configure
  5. Cresh

Firebase SDK Version

10.15.0

Xcode Version

15.0

Installation Method

Swift Package Manager

Firebase Product(s)

Analytics, Authentication, Crashlytics, Firestore, Storage

Targeted Platforms

iOS

Relevant Log Output

warning: (arm64) /Users/seonhoban/Library/Developer/Xcode/DerivedData/Dayol-iOS-dydlzpscxfvaokbtkgykygxzcbgq/Build/Products/Beta-iphoneos/DAYOL Beta.app/Frameworks/GoogleAppMeasurement_-1281185A8F4687E8_PackageProduct.framework/GoogleAppMeasurement_-1281185A8F4687E8_PackageProduct empty dSYM file detected, dSYM was created with an executable with no debug info.
objc[5799]: Class FBLPromise is implemented in both /private/var/containers/Bundle/Application/D00915A5-D05C-4391-912C-F1B30508F8E5/DAYOL Beta.app/Frameworks/FBLPromises_-613B793C1E784BCF_PackageProduct.framework/FBLPromises_-613B793C1E784BCF_PackageProduct (0x103856580) and /private/var/containers/Bundle/Application/D00915A5-D05C-4391-912C-F1B30508F8E5/DAYOL Beta.app/DAYOL Beta (0x101b0eb18). One of the two will be used. Which one is undefined.
10.15.0 - [FirebaseCore][I-COR000001] Configuring the default app.
<SKPaymentQueue: 0x282030400>: No observers found that respond to "paymentQueue:shouldAddStorePayment:forProduct:", will not check for purchase intents
10.15.0 - [FirebaseAnalytics][I-ACS024000] Debug mode is on
10.15.0 - [FirebaseAnalytics][I-ACS005000] The AdSupport Framework is not currently linked. Some features will not function properly. Learn more at http://goo.gl/9vSsPb
10.15.0 - [GULReachability][I-REA902003] Monitoring the network status
10.15.0 - [FirebaseAnalytics][I-ACS023007] Analytics v.10.15.0 started
10.15.0 - [FirebaseAnalytics][I-ACS023008] To disable debug logging set the following application argument: -noFIRAnalyticsDebugEnabled (see http://goo.gl/RfcP7r)
10.15.0 - [FirebaseAnalytics][I-ACS023009] Debug logging enabled
10.15.0 - [FirebaseAnalytics][I-ACS023207] To enable verbose logging set the following application argument: -FIRAnalyticsVerboseLoggingEnabled (see http://goo.gl/RfcP7r)
[Firebase/Crashlytics] Version 10.15.0
10.15.0 - [FirebaseInstallations][I-FIS002000] -[FIRInstallationsIDController createGetInstallationItemPromise], appName: __FIRAPP_DEFAULT
10.15.0 - [GULReachability][I-REA902003] Monitoring the network status
10.15.0 - [FirebaseSessions][I-SES000000] Version 10.15.0. Expecting subscriptions from: [Crashlytics]
10.15.0 - [FirebaseCrashlytics][I-CLS000000] [Crashlytics] Running on iPhone14,4, 17.0.0 (21A329)
10.15.0 - [FirebaseCrashlytics][I-CLS000000] Generating Install ID
10.15.0 - [FirebaseCrashlytics][I-CLS000000] Registering Sessions SDK subscription for session data
10.15.0 - [FirebaseSessions][I-SES000000] Registering Sessions SDK subscriber with name: Crashlytics, data collection enabled: true
10.15.0 - [FirebaseCrashlytics][I-CLS000000] Session ID changed: 1f19f56097c34e8fbfab7ab48fef5032
10.15.0 - [FirebaseCrashlytics][I-CLS000000] [Crashlytics:Settings] No settings were cached
10.15.0 - [FirebaseCrashlytics][I-CLS000000] [Crashlytics:Crash:Reports:Event] Registered Firebase Analytics event listener to receive breadcrumb logs
10.15.0 - [FirebaseCrashlytics][I-CLS000000] Automatic data collection is enabled.
10.15.0 - [FirebaseCrashlytics][I-CLS000000] Unsent reports will be uploaded at startup
10.15.0 - [GoogleUtilities/AppDelegateSwizzler][I-SWZ001008] Successfully created App Delegate Proxy automatically. To disable the proxy, set the flag GoogleUtilitiesAppDelegateProxyEnabled to NO (Boolean) in the Info.plist
10.15.0 - [FirebaseAnalytics][I-ACS002002] APMExperimentAlarm scheduled to fire in approx. (s): 9.99996280670166
Task <54D9B615-7F48-4DFB-8088-9EE818100DE5>.<1> finished with error [-1,001] Error Domain=NSURLErrorDomain Code=-1001 "The request timed out." UserInfo={_kCFStreamErrorCodeKey=-2102, NSUnderlyingError=0x282c43bd0 {Error Domain=kCFErrorDomainCFNetwork Code=-1001 "(null)" UserInfo={_kCFStreamErrorCodeKey=-2102, _kCFStreamErrorDomainKey=4}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDownloadTask <54D9B615-7F48-4DFB-8088-9EE818100DE5>.<1>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalDownloadTask <54D9B615-7F48-4DFB-8088-9EE818100DE5>.<1>"
), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://firebase-settings.crashlytics.com/spi/v2/platforms/ios/gmp/1:549644893019:ios:dd864e804aa9eb544db87e/settings?build_version=1&display_version=2.1.5&instance=ab64d3750f62042e670b929b83c24cd779a5221c&source=1, NSErrorFailingURLKey=https://firebase-settings.crashlytics.com/spi/v2/platforms/ios/gmp/1:549644893019:ios:dd864e804aa9eb544db87e/settings?build_version=1&display_version=2.1.5&instance=ab64d3750f62042e670b929b83c24cd779a5221c&source=1, _kCFStreamErrorDomainKey=4}
10.15.0 - [GULReachability][I-REA902004] Network status has changed. Code:2, status:Connected
10.15.0 - [GULReachability][I-REA902004] Network status has changed. Code:2, status:Connected
10.15.0 - [FirebaseAnalytics][I-ACS031010] Tracking view controller. Class, ID: LaunchViewController, -5290660543780684098
10.15.0 - [FirebaseAnalytics][I-ACS025026] Deferring to Firebase for event data collection
10.15.0 - [FirebaseSessions][I-SES000000] Data Collection is enabled for at least one Subscriber
10.15.0 - [FirebaseAnalytics][I-ACS800023] No pending snapshot to activate. SDK name: app_measurement
10.15.0 - [FirebaseAnalytics][I-ACS029017] Configuration was not found in database. The configuration will be fetched from the network when necessary
10.15.0 - [FirebaseAnalytics][I-ACS023016] Analytics is ready to receive events
10.15.0 - [FirebaseAnalytics][I-ACS023087] User property set. Name, value: first_open_after_install (_fi), 1
10.15.0 - [FirebaseAnalytics][I-ACS023087] User property set. Name, value: first_open_time (_fot), 1695567600000
10.15.0 - [FirebaseAnalytics][I-ACS023051] Logging event: origin, name, params: auto, first_open (_f), {
    ga_event_origin (_o) = auto;
    ga_screen_class (_sc) = LaunchViewController;
    ga_screen_id (_si) = -5290660543780684098;
    previous_first_open_count (_pfo) = 15;
    update_with_analytics (_uwa) = 0;
}
10.15.0 - [FirebaseAnalytics][I-ACS023073] Debug mode is enabled. Marking event as debug and real-time. Event name, parameters: first_open (_f), {
    ga_conversion (_c) = 1;
    ga_debug (_dbg) = 1;
    ga_event_origin (_o) = auto;
    ga_realtime (_r) = 1;
    ga_screen_class (_sc) = LaunchViewController;
    ga_screen_id (_si) = -5290660543780684098;
    previous_first_open_count (_pfo) = 15;
    update_with_analytics (_uwa) = 0;
}
10.15.0 - [FirebaseInstallations][I-FIS002001] -[FIRInstallationsIDController installationWithValidAuthTokenForcingRefresh:0], appName: __FIRAPP_DEFAULT
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[FBLPromise firebaseInstallationID]: unrecognized selector sent to instance 0x282cb5e30'
*** First throw call stack:
(0x18bd9e5e0 0x1840d3c00 0x18be2eeec 0x18bce37a8 0x18be24860 0x101057bcc 0x10109c7b8 0x104048f50 0x10404ab34 0x10405b158 0x10405aba0 0x18bce89bc 0x18bce56c8 0x18bce4e18 0x1ce7a15ec 0x18e0f3350 0x18e0f298c 0x18e3164a0 0x100bbe194 0x100bbe10c 0x100bbf2ec 0x1ae4c7d44)
libc++abi: terminating due to uncaught exception of type NSException

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

Expand Package.resolved snippet
```json { "pins" : [ { "identity" : "abseil-cpp-binary", "kind" : "remoteSourceControl", "location" : "https://github.com/google/abseil-cpp-binary.git", "state" : { "revision" : "bfc0b6f81adc06ce5121eb23f628473638d67c5c", "version" : "1.2022062300.0" } }, { "identity" : "firebase-ios-sdk", "kind" : "remoteSourceControl", "location" : "https://github.com/firebase/firebase-ios-sdk.git", "state" : { "revision" : "8a8ec57a272e0d31480fb0893dda0cf4f769b57e", "version" : "10.15.0" } }, { "identity" : "googleappmeasurement", "kind" : "remoteSourceControl", "location" : "https://github.com/google/GoogleAppMeasurement.git", "state" : { "revision" : "03b9beee1a61f62d32c521e172e192a1663a5e8b", "version" : "10.13.0" } }, { "identity" : "googledatatransport", "kind" : "remoteSourceControl", "location" : "https://github.com/google/GoogleDataTransport.git", "state" : { "revision" : "aae45a320fd0d11811820335b1eabc8753902a40", "version" : "9.2.5" } }, { "identity" : "googleutilities", "kind" : "remoteSourceControl", "location" : "https://github.com/google/GoogleUtilities.git", "state" : { "revision" : "c38ce365d77b04a9a300c31061c5227589e5597b", "version" : "7.11.5" } }, { "identity" : "grpc-binary", "kind" : "remoteSourceControl", "location" : "https://github.com/google/grpc-binary.git", "state" : { "revision" : "f1b366129d1125be7db83247e003fc333104b569", "version" : "1.50.2" } }, { "identity" : "gtm-session-fetcher", "kind" : "remoteSourceControl", "location" : "https://github.com/google/gtm-session-fetcher.git", "state" : { "revision" : "d415594121c9e8a4f9d79cecee0965cf35e74dbd", "version" : "3.1.1" } }, { "identity" : "interop-ios-for-google-sdks", "kind" : "remoteSourceControl", "location" : "https://github.com/google/interop-ios-for-google-sdks.git", "state" : { "revision" : "2d12673670417654f08f5f90fdd62926dc3a2648", "version" : "100.0.0" } }, { "identity" : "kingfisher", "kind" : "remoteSourceControl", "location" : "https://github.com/onevcat/Kingfisher", "state" : { "revision" : "b6f62758f21a8c03cd64f4009c037cfa580a256e", "version" : "7.9.1" } }, { "identity" : "leveldb", "kind" : "remoteSourceControl", "location" : "https://github.com/firebase/leveldb.git", "state" : { "revision" : "0706abcc6b0bd9cedfbb015ba840e4a780b5159b", "version" : "1.22.2" } }, { "identity" : "lottie-ios", "kind" : "remoteSourceControl", "location" : "https://github.com/airbnb/lottie-ios", "state" : { "revision" : "a4622b4d6fdbe76cc5487bc27e84029abaf07217", "version" : "4.0.1" } }, { "identity" : "nanopb", "kind" : "remoteSourceControl", "location" : "https://github.com/firebase/nanopb.git", "state" : { "revision" : "819d0a2173aff699fb8c364b6fb906f7cdb1a692", "version" : "2.30909.0" } }, { "identity" : "promises", "kind" : "remoteSourceControl", "location" : "https://github.com/google/promises.git", "state" : { "revision" : "e70e889c0196c76d22759eb50d6a0270ca9f1d9e", "version" : "2.3.1" } }, { "identity" : "reachability.swift", "kind" : "remoteSourceControl", "location" : "https://github.com/ashleymills/Reachability.swift", "state" : { "revision" : "c01bbdf2d633cf049ae1ed1a68a2020a8bda32e2", "version" : "5.1.0" } }, { "identity" : "rxswift", "kind" : "remoteSourceControl", "location" : "https://github.com/ReactiveX/RxSwift.git", "state" : { "revision" : "b4307ba0b6425c0ba4178e138799946c3da594f8", "version" : "6.5.0" } }, { "identity" : "swift-package-manager-google-mobile-ads", "kind" : "remoteSourceControl", "location" : "https://github.com/googleads/swift-package-manager-google-mobile-ads", "state" : { "revision" : "d4d967ef26da506ab9b1d39d936144d99bcc95e2", "version" : "10.5.0" } }, { "identity" : "swift-package-manager-google-user-messaging-platform", "kind" : "remoteSourceControl", "location" : "https://github.com/googleads/swift-package-manager-google-user-messaging-platform.git", "state" : { "revision" : "129fa838520cd02174f890ae0cfe0242e60714ae", "version" : "2.1.0" } }, { "identity" : "swift-protobuf", "kind" : "remoteSourceControl", "location" : "https://github.com/apple/swift-protobuf.git", "state" : { "revision" : "cf62cdaea48b77f1a631e5cb3aeda6047c2cba1d", "version" : "1.23.0" } }, { "identity" : "zipfoundation", "kind" : "remoteSourceControl", "location" : "https://github.com/weichsel/ZIPFoundation.git", "state" : { "revision" : "43ec568034b3731101dbf7670765d671c30f54f3", "version" : "0.9.16" } } ], "version" : 2 } ```

If using CocoaPods, the project's Podfile.lock

Expand Podfile.lock snippet
```yml Replace this line with the contents of your Podfile.lock! ```
google-oss-bot commented 1 year ago

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

paulb777 commented 1 year ago

It looks like Promises is linked into both the app and a framework. The initial warning Class FBLPromise is implemented in both is likely directly related to the crash.

google-oss-bot commented 1 year ago

Hey @SeonhoBan. We need more information to resolve this issue but there hasn't been an update in 5 weekdays. I'm marking the issue as stale and if there are no new updates in the next 5 days I will close it automatically.

If you have more information that will help us get to the bottom of this, just add a comment!

morganchen12 commented 1 year ago

@SeonhoBan, what is the dependency structure of your app?

google-oss-bot commented 1 year ago

Hey @SeonhoBan. We need more information to resolve this issue but there hasn't been an update in 5 weekdays. I'm marking the issue as stale and if there are no new updates in the next 5 days I will close it automatically.

If you have more information that will help us get to the bottom of this, just add a comment!

google-oss-bot commented 1 year ago

Since there haven't been any recent updates here, I am going to close this issue.

@SeonhoBan if you're still experiencing this problem and want to continue the discussion just leave a comment here and we are happy to re-open this.

cybergen78 commented 1 year ago

Same issue here, but only in UI tests. The app itself runs as expected. Xcode 15.0.1 Firebase 10.16.0

morganchen12 commented 1 year ago

@cybergen78 can you provide a sample project that repros this crash?

cybergen78 commented 1 year ago

For Xcode 15 I had to remove all Firebase dependencies from the test targets. That fixed it for me.