Thread Performance Checker: Investigate ways to avoid priority inversions

I’m getting an error only on my iOS run after build in xCode. Not much has changed in the Angular app so this is surprising to see a thread issue.

Warning: -[BETextInput attributedMarkedText] is unimplemented
:zap: Loading app at capacitor://localhost…
Failed to request allowed query parameters from WebPrivacy.
:zap: WebView loaded
:zap: To Native → StatusBar setStyle 74349064
:zap: To Native → SplashScreen hide 74349065
:zap: To Native → AppUpdate getAppUpdateInfo 74349066
:zap: TO JS {}
:zap: TO JS undefined
:zap: [log] - Splashscreen hidden
:zap: TO JS {“minimumOsVersion”:“13.0”,“availableVersionName”:“3.0.10”,“currentVersion”:“3.0.11”,“currentVersionCode”:“1”,“availableVersionReleaseDate”:“2024-03-17T13:15:12Z”,“currentVersionName”:“3.0.11”,“availableVersion”:“3.0.10”,“updateAvailability”:1}
Thread Performance Checker: Thread running at User-initiated quality-of-service class waiting on a lower QoS thread running at Default quality-of-service class. Investigate ways to avoid priority inversions
PID: 6393, TID: 7055577

3 CFNetwork 0x00000001a028249c CFURLConnectionSendSynchronousRequest + 356
4 CFNetwork 0x00000001a0342f54 cfnTranslateCFError + 1580
6 Foundation 0x000000019e064f10 D92E19C1-6299-3E94-8614-C505D5ABCCDB + 556816
7 Foundation 0x000000019e22724c D92E19C1-6299-3E94-8614-C505D5ABCCDB + 2400844
8 Foundation 0x000000019e40a4c4 $s10Foundation4DataV10contentsOf7optionsAcA3URLVh_So20NSDataReadingOptionsVtKcfC + 80
9 CapawesomeCapacitorAppUpdate 0x0000000105df518c $s28CapawesomeCapacitorAppUpdate0cD6PluginC03getcD4InfoyySo13CAPPluginCallCFyyYbcfU_ + 3156
10 CapawesomeCapacitorAppUpdate 0x0000000105df616c $sIegh_IeyBh_TR + 48
11 libdispatch.dylib 0x000000010610cb98 _dispatch_call_block_and_release + 32
12 libdispatch.dylib 0x000000010610e7bc _dispatch_client_callout + 20
13 libdispatch.dylib 0x000000010611130c _dispatch_queue_override_invoke + 1056
14 libdispatch.dylib 0x0000000106122ae4 _dispatch_root_queue_drain + 404
15 libdispatch.dylib 0x00000001061234d8 _dispatch_worker_thread2 + 188
16 libsystem_pthread.dylib 0x00000001fb128ee4 _pthread_wqthread + 228
17 libsystem_pthread.dylib 0x00000001fb128fc0 start_wqthread + 8
tcp_input [C1.1.1:3] flags=[R.] seq=891199471, ack=3738355182, win=501 state=CLOSED rcv_nxt=891199447, snd_una=3738355157

    "@capacitor/android": "^5.5.1",
    "@capacitor/browser": "^5.1.0",
    "@capacitor/camera": "^5.0.7",
    "@capacitor/core": "^5.5.1",
    "@capacitor/ios": "^5.5.1",
    "@capacitor/splash-screen": "^5.0.6",
    "@capacitor/status-bar": "^5.0.6",
    "@capawesome/capacitor-app-update": "^5.1.0",
    "@capacitor/cli": "^5.4.2",

    "@angular/animations": "^15.2.10",
    "@angular/cdk": "^15.2.8",
    "@angular/common": "^15.2.10",
    "@angular/compiler": "^15.2.10",
    "@angular/core": "^15.2.10",
    "@angular/forms": "^15.2.10",
    "@angular/google-maps": "^15.2.9",
    "@angular/platform-browser": "^15.2.10",
    "@angular/platform-browser-dynamic": "^15.2.10",

Any help with this one would be greatly appreciated.

1 Like

i am getting the same error using Quasar (with Vue). did you figure it out?

@MarcusRng No, and it could be causing issues with the app. The app still “runs” but we’re experiencing strange bugs and I cannot refute that this may be the cause.

It would be great to get some insight from some insiders.

I sent you a DM on x/twitter.
What solved it for us was this:
const auth = getAuth(app)

const auth = initializeAuth(app, {‘persistence’: indexDBLocalPersistence}

Not sure if it works for you, but worth a try.

Same is happening for me as well Quasar

@MarcusRng and @Theorian0 No I have not solved this yet. We arent using Quasar.
But what are you guys seeing that is consistent with my error, maybe that will be a key for all of us?

I see these as highlights

  1. Investigate ways to avoid priority inversions
  2. PID: 6393, TID: 7055577
  3. CFURLConnectionSendSynchronousRequest ←
  4. CapawesomeCapacitorAppUpdate <----------^

The only readable trace I can see is that some process (CapawesomeCapacitorAppUpdate?) is forcing Capacitor processes to stop or wait. No idea here…

does it work for you @Theorian0?