Skip to content

Crash on startup in Firebase Analytics StoreKit 1 auto IAP reporting (APMInAppPurchaseTransactionReporter transactionFingerprint) #16021

@ArseniLaputska

Description

@ArseniLaputska

Description

We are seeing a production crash at first 5 seconds after app launch on iOS. Crashlytics reports the crash on thread com.google.fira.worker inside Firebase Analytics / GoogleAppMeasurement during StoreKit 1 automatic in-app purchase reporting.

Top crash frames:

Crashed: com.google.fira.worker
0  libobjc.A.dylib                objc_retain_x0 + 16
1  libobjc.A.dylib                objc_retain + 16
2  Lanetalk                       +[APMInAppPurchaseTransactionReporter transactionFingerprint:]
3  Lanetalk                       __54-[APMMeasurement filterPurchaseTransactions:callback:]_block_invoke
4  Lanetalk                       __51-[APMScheduler scheduleOnWorkerQueueBlockID:block:]_block_invoke

A few notes:

  • The app is not crashing on the main thread.
  • The issue happens very early after cold launch, within 1-4 seconds after startup.
  • The only app analytics breadcrumbs before the crash are splash events:
    • screen_view with firebase_screen_class=LtLaunchViewController
    • lt_splash_displayed with loggedIn=1
  • The app uses StoreKit 1 (SKPaymentQueue) and CocoaPods.
  • The app is on Firebase 12.9.0.
  • The app currently has FIREBASE_ANALYTICS_COLLECTION_ENABLED = false in Info.plist, and we also tried runtime gating with setAnalyticsCollectionEnabled, but the crash still points into Analytics startup / purchase-processing internals.

We could not reproduce locally yet, but this crash is recurring in production like 5 times already.

We also did not find a documented way to disable only automatic StoreKit 1 IAP reporting while keeping Firebase Analytics enabled for other events. Is there a supported opt-out for that specific path?

Reproducing the issue

No deterministic local reproduction yet.

Observed pattern:

  1. Install and run the app with Firebase Analytics 12.9.0 on iOS.
  2. Cold launch the app.
  3. The app sometimes crashes within 1-4 seconds after startup.
  4. Crash is on com.google.fira.worker in +[APMInAppPurchaseTransactionReporter transactionFingerprint:].

Potentially related to startup processing of StoreKit 1 transactions or unfinished/pending transactions in SKPaymentQueue, but we do not yet have a minimal standalone repro.

Firebase SDK Version

12.9.0

Xcode Version

26.4 (Build 17E192)

Installation Method

CocoaPods

Firebase Product(s)

Analytics, Crashlytics, Messaging, Remote Config

Targeted Platforms

iOS

Relevant Log Output

# Crashlytics - Stack trace
# Application: com.Lanetalk.Bowling
# Platform: apple
# Version: 4.15.9 (1381)
# Date: Tue Mar 24 2026 22:29:22 GMT+0700

Crashed: com.google.fira.worker
0  libobjc.A.dylib                0x144c objc_retain_x0 + 16
1  libobjc.A.dylib                0x144c objc_retain + 16
2  Lanetalk                       0x1161bf4 +[APMInAppPurchaseTransactionReporter transactionFingerprint:] + 4236268
3  Lanetalk                       0x116e5f8 __54-[APMMeasurement filterPurchaseTransactions:callback:]_block_invoke + 4287984
4  Lanetalk                       0x11c68c0 __51-[APMScheduler scheduleOnWorkerQueueBlockID:block:]_block_invoke + 4649144
5  libdispatch.dylib              0x1adc _dispatch_call_block_and_release + 32
6  libdispatch.dylib              0x1b7fc _dispatch_client_callout + 16
7  libdispatch.dylib              0xa468 _dispatch_lane_serial_drain + 740
8  libdispatch.dylib              0xaf44 _dispatch_lane_invoke + 388
9  libdispatch.dylib              0x153ec _dispatch_root_queue_drain_deferred_wlh + 292
10 libdispatch.dylib              0x14ce4 _dispatch_workloop_worker_thread + 692
11 libsystem_pthread.dylib        0x13b8 _pthread_wqthread + 292
12 libsystem_pthread.dylib        0x8c0 start_wqthread + 8

Custom logs before the crash:

screen_view firebase_screen_class=LtLaunchViewController
lt_splash_displayed loggedIn=1 firebase_screen_class=LtLaunchViewController

If using CocoaPods, the project's Podfile.lock

Relevant dependency excerpt:

- Firebase/Analytics (12.9.0)
- FirebaseAnalytics (12.9.0)
- FirebaseAnalytics/Default (12.9.0)
- GoogleAppMeasurement/Default (12.9.0)
- GoogleAdsOnDeviceConversion (3.2.0)
- Firebase/Crashlytics (12.9.0)
- Firebase/Messaging (12.9.0)
- Firebase/RemoteConfig (12.9.0)

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions