firebase / firebase-ios-sdk

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

Started seeing crashes for APMMeasurement fetchRemoteConfig #11160

Closed andreivladmatei closed 1 year ago

andreivladmatei commented 1 year ago

Description

After upgrading to Firebase 10.8.0, I started seeing crashes in APMMeasurement uploadData after APMMeasurement fetchRemoteConfig is called.

Reproducing the issue

No response

Firebase SDK Version

10.8.0

Xcode Version

14.3

Installation Method

Swift Package Manager

Firebase Product(s)

Analytics, App Check, Authentication, Crashlytics, Firestore, Remote Config, Storage

Targeted Platforms

iOS

Relevant Log Output

2023-04-21 15:48:47.587333+0100 XXXX[25853:38523467] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[GULNetwork postURL:headers:payload:queue:usingBackgroundSession:completionHandler:]: unrecognized selector sent to instance 0x6000024615c0'
*** First throw call stack:
(
    0   CoreFoundation                      0x0000000180437330 __exceptionPreprocess + 172
    1   libobjc.A.dylib                     0x0000000180051274 objc_exception_throw + 56
    2   CoreFoundation                      0x0000000180445e3c +[NSObject(NSObject) instanceMethodSignatureForSelector:] + 0
    3   CoreFoundation                      0x000000018043b224 ___forwarding___ + 1308
    4   CoreFoundation                      0x000000018043d50c _CF_forwarding_prep_0 + 92
    5   Plantiful                           0x0000000103c11668 -[APMMeasurement uploadData] + 2864
    6   Plantiful                           0x0000000103c180dc -[APMMeasurement networkRemoteConfigFetchCompletionHandler:data:error:] + 1444
    7   Plantiful                           0x0000000103c17b0c __35-[APMMeasurement fetchRemoteConfig]_block_invoke + 108
    8   Plantiful                           0x0000000103372a04 __76-[GULNetwork getURL:headers:queue:usingBackgroundSession:completionHandler:]_block_invoke_2 + 136
    9   libdispatch.dylib                   0x0000000106290528 _dispatch_call_block_and_release + 24
    10  libdispatch.dylib                   0x0000000106291d50 _dispatch_client_callout + 16
    11  libdispatch.dylib                   0x000000010629a014 _dispatch_lane_serial_drain + 924
    12  libdispatch.dylib                   0x000000010629ad6c _dispatch_lane_invoke + 424
    13  libdispatch.dylib                   0x00000001062a8b74 _dispatch_workloop_worker_thread + 1716
    14  libsystem_pthread.dylib             0x00000001b18348fc _pthread_wqthread + 284
    15  libsystem_pthread.dylib             0x00000001b18336c0 start_wqthread + 8
)
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" : "a5f16ba68913840ee5df91b8dc06f5cc063579de", "version" : "1.2021110200.0" } }, { "identity" : "firebase-ios-sdk", "kind" : "remoteSourceControl", "location" : "https://github.com/firebase/firebase-ios-sdk.git", "state" : { "revision" : "05d494c85e5635b6462151dd9ebbfda48c9f4266", "version" : "10.8.0" } }, { "identity" : "googleappmeasurement", "kind" : "remoteSourceControl", "location" : "https://github.com/google/GoogleAppMeasurement.git", "state" : { "revision" : "274428b83e063cd518b998555be0ec18abcbe9de", "version" : "10.8.0" } }, { "identity" : "googledatatransport", "kind" : "remoteSourceControl", "location" : "https://github.com/google/GoogleDataTransport.git", "state" : { "revision" : "5056b15c5acbb90cd214fe4d6138bdf5a740e5a8", "version" : "9.2.0" } }, { "identity" : "googleutilities", "kind" : "remoteSourceControl", "location" : "https://github.com/google/GoogleUtilities.git", "state" : { "revision" : "6db6edb48bdd9943426562c7f042a5492de5ba3d", "version" : "7.10.0" } }, { "identity" : "grpc-binary", "kind" : "remoteSourceControl", "location" : "https://github.com/google/grpc-binary.git", "state" : { "revision" : "df37f6af8a273bc687e3166843ed86007de57d78", "version" : "1.44.0" } }, { "identity" : "gtm-session-fetcher", "kind" : "remoteSourceControl", "location" : "https://github.com/google/gtm-session-fetcher.git", "state" : { "revision" : "efda500b6d9858d38a76dbfbfa396bd644692e4a", "version" : "3.0.0" } }, { "identity" : "leveldb", "kind" : "remoteSourceControl", "location" : "https://github.com/firebase/leveldb.git", "state" : { "revision" : "0706abcc6b0bd9cedfbb015ba840e4a780b5159b", "version" : "1.22.2" } }, { "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" : "3e4e743631e86c8c70dbc6efdc7beaa6e90fd3bb", "version" : "2.1.1" } }, { "identity" : "purchases-ios", "kind" : "remoteSourceControl", "location" : "https://github.com/RevenueCat/purchases-ios.git", "state" : { "revision" : "a0358d44d84a9d27a632518ee5aa4131b294955f", "version" : "4.17.11" } }, { "identity" : "scrollkit", "kind" : "remoteSourceControl", "location" : "https://github.com/danielsaidi/ScrollKit.git", "state" : { "revision" : "cbb941a2009f92f221c310156fd8be65845be79d", "version" : "0.3.0" } }, { "identity" : "swift-protobuf", "kind" : "remoteSourceControl", "location" : "https://github.com/apple/swift-protobuf.git", "state" : { "revision" : "b8230909dedc640294d7324d37f4c91ad3dcf177", "version" : "1.20.1" } }, { "identity" : "wrap-stack", "kind" : "remoteSourceControl", "location" : "https://github.com/plantifulapp/wrap-stack", "state" : { "branch" : "develop", "revision" : "c57206c7bb899f7c502406de51b6c56726140752" } } ], "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

Sorry about the trouble. This is a duplicate of #11153.

Our next release will have a fix. In the meantime, a workaround is to Update to latest Swift Packages to get GoogleUtilities 7.11.x