Skip to content

UI API called on a background thread: -[UIApplication isProtectedDataAvailable] #310

@plu

Description

@plu

Environment

  • Xcode version: 9
  • Firebase SDK version
    • FirebaseAnalytics (4.0.3):
    • FirebaseAuth (4.1.1):
    • FirebaseCore (4.0.6):
    • FirebaseDatabase (4.0.2):
    • FirebaseInstanceID (2.0.2):
    • FirebaseMessaging (2.0.2):
    • FirebaseRemoteConfig (2.0.2):
    • FirebaseStorage (2.0.1):
    • FirebaseUI/Database (4.2.0):
  • Firebase Product: analytics (I guess)

Problem

Xcode 9 emits a new warning:

Main Thread Checker: UI API called on a background thread: -[UIApplication isProtectedDataAvailable]
PID: 23463, TID: 3630221, Thread name: (none), Queue name: com.google.fira.worker, QoS: 9
Backtrace:
4   Bittrex                             0x0000000100400144 -[FIRASqliteStore monitorContextForDatabaseOperation:] + 476
5   Bittrex                             0x0000000100400350 -[FIRASqliteStore setDatabaseError:operation:] + 92
6   Bittrex                             0x00000001003fd918 -[FIRASqliteStore numberForQuery:parameterValues:error:] + 448
7   Bittrex                             0x000000010041fde8 -[FIRAMeasurement hasDataToUpload] + 60
8   Bittrex                             0x0000000100416fdc -[FIRAMeasurement updateSchedule] + 420
9   Bittrex                             0x0000000100420ee0 -[FIRAMeasurement networkRemoteConfigFetchCompletionHandler:data:error:] + 1588
10  Bittrex                             0x0000000100420828 __36-[FIRAMeasurement fetchRemoteConfig]_block_invoke + 120
11  libdispatch.dylib                   0x000000010583d49c _dispatch_call_block_and_release + 24
12  libdispatch.dylib                   0x000000010583d45c _dispatch_client_callout + 16
13  libdispatch.dylib                   0x000000010584c110 _dispatch_queue_serial_drain + 692
14  libdispatch.dylib                   0x00000001058409a4 _dispatch_queue_invoke + 332
15  libdispatch.dylib                   0x000000010584d104 _dispatch_root_queue_drain_deferred_wlh + 424
16  libdispatch.dylib                   0x0000000105854100 _dispatch_workloop_worker_thread + 652
17  libsystem_pthread.dylib             0x0000000181c9afe0 _pthread_wqthread + 932
18  libsystem_pthread.dylib             0x0000000181c9ac30 start_wqthread + 4

Steps to reproduce:

  • Enable in scheme: Run -> Diagnostics -> [x] Main Thread Checker

I can't say when exactly it happened.

This issue is probably also not that important, unless Apple decides in the future to raise in exception in -[UIApplication isProtectedDataAvailable] when called from another thread than the main thread.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions