firebase-android-sdk icon indicating copy to clipboard operation
firebase-android-sdk copied to clipboard

ANR on app launch at com.google.firebase.perf.config.ConfigResolver.getInstance

Open imReker opened this issue 2 years ago • 22 comments

Android version: 12 Firebase version: com.google.firebase:firebase-bom:31.4.0

Steps to reproduce:

  1. Upgrade SDK from 31.0.2 to 31.4.0
  2. Logout Google Account on phone.
  3. Every time App opened, ANR at launch screen.
  4. Downgrade SDK to 31.0.2
  5. Everything works.

Relevant Code:


"main" prio=5 tid=1 Blocked
  | group="main" sCount=1 ucsCount=0 flags=1 obj=0x739d4538 self=0xb4000072c4f58800
  | sysTid=14773 nice=-10 cgrp=default sched=0/0 handle=0x72c65a6500
  | state=S schedstat=( 1717537768 8052037 143 ) utm=154 stm=17 core=4 HZ=100
  | stack=0x7fff3e9000-0x7fff3eb000 stackSize=8188KB
  | held mutexes=
  at com.google.firebase.perf.config.ConfigResolver.getInstance(unavailable:2)
  - waiting to lock <0x0b7f8715> (a java.lang.Class<com.google.firebase.perf.config.ConfigResolver>) held by thread 23
  at com.google.firebase.perf.FirebasePerfEarly.<init>(FirebasePerfEarly.java:41)
  at com.google.firebase.perf.FirebasePerfRegistrar.lambda$getComponents$0(FirebasePerfRegistrar.java:75)
  at com.google.firebase.perf.FirebasePerfRegistrar$$ExternalSyntheticLambda1.create(unavailable:2)
  at com.google.firebase.tracing.ComponentMonitor.lambda$processRegistrar$0(ComponentMonitor.java:38)
  at com.google.firebase.tracing.ComponentMonitor$$ExternalSyntheticLambda0.create(unavailable:4)
  at com.google.firebase.components.ComponentRuntime.lambda$discoverComponents$0$com-google-firebase-components-ComponentRuntime(ComponentRuntime.java:140)
  at com.google.firebase.components.ComponentRuntime$$ExternalSyntheticLambda1.get(unavailable:4)
  at com.google.firebase.components.Lazy.get(Lazy.java:53)
  - locked <0x0fb31a2a> (a com.google.firebase.components.Lazy)
  at com.google.firebase.components.ComponentRuntime.doInitializeEagerComponents(ComponentRuntime.java:302)
  at com.google.firebase.components.ComponentRuntime.initializeEagerComponents(ComponentRuntime.java:292)
  at com.google.firebase.FirebaseApp.initializeAllApis(FirebaseApp.java:606)
  at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:299)
  at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:263)
  at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:248)
  - locked <0x07b7201b> (a java.lang.Object)
  at com.test.InitProvider.onCreate(InitProvider.kt:26)
  at android.content.ContentProvider.attachInfo(ContentProvider.java:2516)
  at android.content.ContentProvider.attachInfo(ContentProvider.java:2486)
  at android.app.ActivityThread.installProvider(ActivityThread.java:8226)
  at android.app.ActivityThread.installContentProviders(ActivityThread.java:7728)
  at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7482)
  at android.app.ActivityThread.access$1600(ActivityThread.java:310)
  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2281)
  at android.os.Handler.dispatchMessage(Handler.java:106)
  at android.os.Looper.loopOnce(Looper.java:226)
  at android.os.Looper.loop(Looper.java:313)
  at android.app.ActivityThread.main(ActivityThread.java:8669)
  at java.lang.reflect.Method.invoke(Native method)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571)
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)

imReker avatar Mar 29 '23 09:03 imReker

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

google-oss-bot avatar Mar 29 '23 09:03 google-oss-bot

Hi @imReker, thanks for reaching out. Any chance you could share with us a minimal reproducible example of your issue? Thanks!

argzdev avatar Mar 29 '23 11:03 argzdev

Hi @imReker, thanks for reaching out. Any chance you could share with us a minimal reproducible example of your issue? Thanks!

I'm sorry this issue happens on product of my company, so I can't provide any example. I already posted ANR log.

imReker avatar Mar 29 '23 11:03 imReker

I also encounter this ANR. - BOM version : "31.2.0"

  • Every time App opened, ANR at launch screen.

main (blocked):tid=1 systid=12070 | waiting to lock <0x0062fd83> (java.lang.Class<com.google.firebase.perf.config.ConfigResolver>) held by thread 21 at com.google.firebase.perf.config.ConfigResolver.getInstance(unavailable:2) at com.google.firebase.perf.FirebasePerfEarly.(FirebasePerfEarly.java:41) at com.google.firebase.perf.FirebasePerfRegistrar.lambda$getComponents$0(FirebasePerfRegistrar.java:75) at com.google.firebase.perf.FirebasePerfRegistrar$$ExternalSyntheticLambda1.create(unavailable:2) at com.google.firebase.tracing.ComponentMonitor.lambda$processRegistrar$0(ComponentMonitor.java:38) at com.google.firebase.tracing.ComponentMonitor$$ExternalSyntheticLambda0.create(unavailable:4) at com.google.firebase.components.ComponentRuntime.lambda$discoverComponents$0$com-google-firebase-components-ComponentRuntime(ComponentRuntime.java:140) at com.google.firebase.components.ComponentRuntime$$ExternalSyntheticLambda1.get(unavailable:4) at com.google.firebase.components.Lazy.get(Lazy.java:53) at com.google.firebase.components.ComponentRuntime.doInitializeEagerComponents(ComponentRuntime.java:302) at com.google.firebase.components.ComponentRuntime.initializeEagerComponents(ComponentRuntime.java:292) at com.google.firebase.FirebaseApp.initializeAllApis(FirebaseApp.java:607) at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:300) at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:264) at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:249) at com.google.firebase.provider.FirebaseInitProvider.onCreate(FirebaseInitProvider.java:66) at android.content.ContentProvider.attachInfo(ContentProvider.java:2451) at android.content.ContentProvider.attachInfo(ContentProvider.java:2421) at com.google.firebase.provider.FirebaseInitProvider.attachInfo(FirebaseInitProvider.java:58) at android.app.ActivityThread.installProvider(ActivityThread.java:7927) at android.app.ActivityThread.installContentProviders(ActivityThread.java:7438) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7196) at android.app.ActivityThread.-$$Nest$mhandleBindApplication(unavailable) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2288) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:240) at android.os.Looper.loop(Looper.java:351) at android.app.ActivityThread.main(ActivityThread.java:8364) at java.lang.reflect.Method.invoke(Native method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:584) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1013)

ayyappantringapps avatar Apr 25 '23 05:04 ayyappantringapps

Do we have any updates related to this issue?

artakhnoyan avatar Jun 01 '23 09:06 artakhnoyan

Hello all, is there anyone who could share with us a minimal reproducible example of the ANR issue? It'll help us alot with out investigation. Thanks!

argzdev avatar Jun 12 '23 10:06 argzdev

I cannot supply a minimal reproducible example. We are also getting this crash. 99% is on Huawei and 67% on Android 11 and 33% Android 12. Only split between those two versions.

Attaching the crash logs:

main (blocked):tid=1 systid=19600 | waiting to lock <0x093975f7> (java.lang.Class<com.google.firebase.perf.config.ConfigResolver>) held by thread 37 at com.google.firebase.perf.config.ConfigResolver.getInstance(ConfigResolver.java) at com.google.firebase.perf.FirebasePerfEarly.<init>(FirebasePerfEarly.java:41) at com.google.firebase.perf.FirebasePerfRegistrar.lambda$getComponents$0(FirebasePerfRegistrar.java:75) at com.google.firebase.perf.FirebasePerfRegistrar$$ExternalSyntheticLambda0.create(D8$$SyntheticClass) at com.google.firebase.tracing.ComponentMonitor.lambda$processRegistrar$0(ComponentMonitor.java:38) at com.google.firebase.tracing.ComponentMonitor$$ExternalSyntheticLambda0.create(D8$$SyntheticClass) at com.google.firebase.components.ComponentRuntime.lambda$discoverComponents$0$com-google-firebase-components-ComponentRuntime(ComponentRuntime.java:140) at com.google.firebase.components.ComponentRuntime$$ExternalSyntheticLambda1.get(D8$$SyntheticClass) at com.google.firebase.components.Lazy.get(Lazy.java:53) at com.google.firebase.components.ComponentRuntime.doInitializeEagerComponents(ComponentRuntime.java:302) at com.google.firebase.components.ComponentRuntime.initializeEagerComponents(ComponentRuntime.java:292) at com.google.firebase.FirebaseApp.initializeAllApis(FirebaseApp.java:607) at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:300) at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:264) at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:249) at com.google.firebase.provider.FirebaseInitProvider.onCreate(FirebaseInitProvider.java:66) at android.content.ContentProvider.attachInfo(ContentProvider.java:2409) at android.content.ContentProvider.attachInfo(ContentProvider.java:2377) at com.google.firebase.provider.FirebaseInitProvider.attachInfo(FirebaseInitProvider.java:58) at android.app.ActivityThread.installProvider(ActivityThread.java:9050) at android.app.ActivityThread.installContentProviders(ActivityThread.java:8552) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:8216) at android.app.ActivityThread.access$2700(ActivityThread.java:299) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2739) at android.os.Handler.dispatchMessage(Handler.java:117) at android.os.Looper.loopOnce(Looper.java:205) at android.os.Looper.loop(Looper.java:293) at android.app.ActivityThread.main(ActivityThread.java:9596) at java.lang.reflect.Method.invoke(Native method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:586) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1204)

LawrenceStent avatar Jul 13 '23 09:07 LawrenceStent

Same here. I guess it happens due to a tracked network call early at app start-up.

main (blocked):tid=1 systid=5411 | waiting to lock <0x0b59dd73> (java.lang.Class<com.google.firebase.perf.config.ConfigResolver>) held by thread 59
       at com.google.firebase.perf.config.ConfigResolver.getInstance(SourceFile)
       at com.google.firebase.perf.FirebasePerfEarly.<init>(SourceFile)
       at com.google.firebase.perf.FirebasePerfRegistrar.lambda$getComponents$0(FirebasePerfRegistrar.java)
       at com.google.firebase.tracing.ComponentMonitor.lambda$processRegistrar$0(ComponentMonitor.java)
       at com.google.firebase.components.ComponentRuntime.lambda$discoverComponents$0(ComponentRuntime.java)
       at com.google.firebase.components.Lazy.get(SourceFile)
       at com.google.firebase.components.ComponentRuntime.doInitializeEagerComponents(ComponentRuntime.java)
       at com.google.firebase.components.ComponentRuntime.initializeEagerComponents(ComponentRuntime.java)
       at com.google.firebase.FirebaseApp.initializeAllApis(FirebaseApp.java)
       at com.google.firebase.FirebaseApp.access$300(FirebaseApp.java)
       at com.google.firebase.FirebaseApp$UserUnlockReceiver.onReceive(SourceFile)
       at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$getRunnable$0$LoadedApk$ReceiverDispatcher$Args(LoadedApk.java:1564)
       at android.app.-$$Lambda$LoadedApk$ReceiverDispatcher$Args$_BumDX2UKsnxLVrE6UJsJZkotuA.run(lambda)
       at android.os.Handler.handleCallback(Handler.java:938)
       at android.os.Handler.dispatchMessage(Handler.java:99)
       at android.os.Looper.loop(Looper.java:236)
       at android.app.ActivityThread.main(ActivityThread.java:8056)
       at java.lang.reflect.Method.invoke(Native method)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:656)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:967)
pool-3-thread-1 (blocked):tid=59 systid=7147 | waiting to lock <0x03b518a9> (java.lang.Object) held by thread 1
       at com.google.firebase.FirebaseApp.getInstance(FirebaseApp.java)
       at com.google.firebase.perf.config.RemoteConfigManager.getInitialStartupMillis(RemoteConfigManager.java)
       at com.google.firebase.perf.config.RemoteConfigManager.<init>(RemoteConfigManager.java)
       at com.google.firebase.perf.config.RemoteConfigManager.<init>(RemoteConfigManager.java)
       at com.google.firebase.perf.config.RemoteConfigManager.<clinit>(RemoteConfigManager.java)
       at com.google.firebase.perf.config.ConfigResolver.<init>(SourceFile)
       at com.google.firebase.perf.config.ConfigResolver.getInstance(SourceFile)
       at com.google.firebase.perf.application.AppStateMonitor.<init>(AppStateMonitor.java)
       at com.google.firebase.perf.application.AppStateMonitor.<init>(AppStateMonitor.java)
       at com.google.firebase.perf.application.AppStateMonitor.getInstance(AppStateMonitor.java)
       at com.google.firebase.perf.metrics.NetworkRequestMetricBuilder.<init>(NetworkRequestMetricBuilder.java)
       at com.google.firebase.perf.metrics.NetworkRequestMetricBuilder.<init>(NetworkRequestMetricBuilder.java)
       at com.google.firebase.perf.metrics.NetworkRequestMetricBuilder.builder(NetworkRequestMetricBuilder.java)
       at com.google.firebase.perf.network.FirebasePerfUrlConnection.instrument(FirebasePerfUrlConnection.java)
       at com.adobe.marketing.mobile.services.HttpConnectionHandler.<init>(SourceFile)
       at com.adobe.marketing.mobile.services.NetworkService.doConnection(SourceFile)
       at com.adobe.marketing.mobile.services.NetworkService.access$000(SourceFile)
       at com.adobe.marketing.mobile.services.NetworkService$1.run(SourceFile)
       at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:462)
       at java.util.concurrent.FutureTask.run(FutureTask.java:266)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
       at java.lang.Thread.run(Thread.java:923)

hannoguenther avatar Aug 01 '23 13:08 hannoguenther

This issue is common. Firebase perf tracks every network request. When an app starts, if FirebaseApp hasn't finished initializing yet, and a network request is made immediately, Firebase perf will also call the FirebaseApp.getInstance() method. This can block FirebaseApp.

Currently, the only solution is to delay the network request until FirebaseApp is initialized. However, some third-party SDKs also trigger network requests automatically at startup, which can be difficult to control.

HenryPirot avatar Sep 11 '23 03:09 HenryPirot

Do we have a solution or updates for this issue?

ayushiSood1810 avatar Jun 20 '24 06:06 ayushiSood1810

We get that in a combination of expo (react native), firebase perf & taboola.

We have a reproducible example.

I only need to clean it up an document it some more. Will post it here by monday next week.

LukasBombach avatar Sep 12 '24 13:09 LukasBombach

Hey folks, here's a reproducible example: https://github.com/stroeer/firebase-taboola-arn-example

We're using the Firebase Perf SDK with Taboola and a Webview, which results in the deadlock upon startup. Currently this prevents us from using the Perf SDK on Android.

What we do is

  • we render a webview when the app starts
  • we apply some Taboola APIs too that Webview

it seems to me that when we do that, starting with the second launch of the app, Taboola does something (potentially a network request) that will result in a deadock for Firebase.

Note that we write TCF Consent (GDPR / Eurpoean consent starndard) to the preferences, otherwise Taboola won't cause the problem (it might not be doing anything because of privacy legislation unless allowed to).

LukasBombach avatar Sep 23 '24 11:09 LukasBombach

Hi imReker, thanks for reaching out. Any chance you could share with us a minimal reproducible example of your issue? Thanks!

@argzdev example is here ^ if you have any questions here feel free to contact me directly

LukasBombach avatar Sep 23 '24 11:09 LukasBombach

I also sent this to the folks over at Taboola. This is quite of a big one, currently, there is now way to use both, Taboola and Firebase Perf at the same time, there's a 100%, fully predictable crash rate. @argzdev if you are interested I can connect someone from Taboola with someone at Firebase?

LukasBombach avatar Oct 01 '24 09:10 LukasBombach

In a now deleted comment in Taboolas Support Forums

    <provider
        android:authorities="${applicationId}.firebaseinitprovider"
        tools:replace="android:initOrder"
        android:name="com.google.firebase.provider.FirebaseInitProvider"
        android:exported="false"
        android:initOrder="301"/>

they suggested changing the Init Prio, which yielded some positive results for us, but this is a highly dangerous thing to do. When this fails, you will have NO REPORTING AT ALL for users that get a 100% crash rate.

But it is another insight to the problem and the reasons for it

LukasBombach avatar Oct 16 '24 09:10 LukasBombach

I also face the same issue when upgrade firebase to 1.9.20

sub thread:

com.google.firebase.perf.config.ConfigResolver.getInstance (ConfigResolver.java:86) com.google.firebase.perf.FirebasePerfEarly. (FirebasePerfEarly.java:41) com.google.firebase.perf.FirebasePerfRegistrar.lambda$getComponents$0 (FirebasePerfRegistrar.java:75) com.google.firebase.tracing.ComponentMonitor.lambda$processRegistrar$0 (ComponentMonitor.java:38) com.google.firebase.components.ComponentRuntime.lambda$discoverComponents$0 (ComponentRuntime.java:160) com.google.firebase.components.Lazy.get (Lazy.java:53) com.google.firebase.components.ComponentRuntime.doInitializeEagerComponents (ComponentRuntime.java:322) com.google.firebase.components.ComponentRuntime.initializeEagerComponents (ComponentRuntime.java:312) com.google.firebase.FirebaseApp.initializeAllApis (FirebaseApp.java:607) com.google.firebase.FirebaseApp.initializeApp (FirebaseApp.java:300) com.google.firebase.FirebaseApp.initializeApp (FirebaseApp.java:264) com.google.firebase.FirebaseApp.initializeApp (FirebaseApp.java:249)

main thread is locked: com.google.firebase.perf.application.AppStateMonitor.getInstance (AppStateMonitor.java:85) com.google.firebase.perf.metrics.NetworkRequestMetricBuilder. (NetworkRequestMetricBuilder.java:92) com.google.firebase.perf.metrics.NetworkRequestMetricBuilder.builder (NetworkRequestMetricBuilder.java:84) com.google.firebase.perf.network.InstrumentOkHttpEnqueueCallback. (InstrumentOkHttpEnqueueCallback.java:42) com.google.firebase.perf.network.FirebasePerfOkHttpClient.enqueue (FirebasePerfOkHttpClient.java:73)

why this issue not happend in the old version 18.2.5? What's update in the new version????

@google-oss-bot

mikelhm avatar Oct 25 '24 09:10 mikelhm

Can you check if you are able to see/reproduce this issue on the latest version of the Firebase performance? This part of the code where ConfigResolver is initialized is very light weighted. So, we don't expect anything to slow down the initialization. So, wanted to check if the latest version has this issue.

visumickey avatar Nov 07 '24 22:11 visumickey

Can you check if you are able to see/reproduce this issue on the latest version of the Firebase performance? This part of the code where ConfigResolver is initialized is very light weighted. So, we don't expect anything to slow down the initialization. So, wanted to check if the latest version has this issue.

1.19.21 also has this problem, it seems that after upgrade, firebase initialize becomes slow.

mikelhm avatar Nov 08 '24 02:11 mikelhm

Hey @imReker. 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 avatar Nov 15 '24 02:11 google-oss-bot

Hey @imReker. 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!

Shutup bot. Guys in this thread already shared reproducible example

imReker avatar Nov 15 '24 07:11 imReker

https://github.com/firebase/firebase-android-sdk/issues/4831#issuecomment-1713100691

Currently, the only solution is to delay the network request until FirebaseApp is initialized. However, some third-party SDKs also trigger network requests automatically at startup, which can be difficult to control.

What's the best way to wait for FirebaseApp initialisation?

FirebaseRemoteConfig has an .ensureInitialized() method, but I can't find anything similar for firebase-perf. Do we just need to wait for FirebaseRemoteConfig?

In our case, we're getting the same ANR, but it's happening before we reach App.tsx (or at least before it logs anything to the console), so I imagine we'll probably need to do it in our MainActivity.

bennettp123 avatar Dec 13 '24 04:12 bennettp123

This is causing us trouble as well, We want to defer FirebaseApp initialisation, however since OkHttp calls are instrumented, It makes the call to FirebaseApp.getInstance in a deadlock situation if our own FirebaseApp.initializeApp() coincides,

There needs to a check in OkHttp Instrumentation to not invoke this until FirebaseApp is initialised, some kind of user flag either in manifest to signify this.

Stacktrace


DefaultDispatcher-worker-2 (blocked):tid=20 systid=3194 | waiting to lock <0x0605d9c8> (java.lang.Class<QK>) held by thread 22
       at com.google.firebase.perf.config.ConfigResolver.e(ConfigResolver.java:3)
       at com.google.firebase.perf.FirebasePerfEarly.<init>(FirebasePerfEarly.java:41)
       at com.google.firebase.perf.application.AppStateMonitor.registerActivityLifecycleCallbacks(AppStateMonitor.java:120)
       at com.google.firebase.perf.FirebasePerfEarly.<init>(FirebasePerfEarly.java:45)
       at com.google.firebase.perf.FirebasePerfRegistrar.lambda$getComponents$0(FirebasePerfRegistrar.java:75)
       at com.google.firebase.heartbeatinfo.DefaultHeartBeatController$$ExternalSyntheticLambda0.m(R8$$SyntheticClass:15)
       at com.google.firebase.tracing.ComponentMonitor.lambda$processRegistrar$0(ComponentMonitor.java:38)
       at com.google.firebase.components.ComponentRuntime.lambda$discoverComponents$0(ComponentRuntime.java:160)
       at com.google.firebase.components.Lazy.get(Lazy.java:53)
       at com.google.firebase.components.ComponentRuntime.doInitializeEagerComponents(ComponentRuntime.java:322)
       at com.google.firebase.components.ComponentRuntime.initializeEagerComponents(ComponentRuntime.java:312)
       at com.google.firebase.FirebaseApp.initializeAllApis(FirebaseApp.java:607)
       at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:300)
       at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:264)
       at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:249)
       at com.viewlift.hoichoi.datasource.startup.FirebaseInitializer.initializeFirebase(FirebaseInitializer.kt:23)
       at com.viewlift.hoichoi.datasource.startup.FirebaseInitializer.create(FirebaseInitializer.kt:17)
       at com.viewlift.hoichoi.datasource.startup.FirebaseInitializer.create(FirebaseInitializer.kt:15)
       at androidx.startup.AppInitializer.doInitialize(AppInitializer.java:180)
       at androidx.startup.AppInitializer.doInitialize(AppInitializer.java:138)
       at androidx.startup.AppInitializer.initializeComponent(AppInitializer.java:117)
       at com.viewlift.hoichoi.AppInitialTask$initializeComponent$1.invokeSuspend(AppInitialTask.kt:21)
       at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
       at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
       at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.java:113)
       at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:89)
       at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:586)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:820)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:717)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:704)

main (blocked):tid=1 systid=3138 | waiting to lock <0x0ed5584f> (java.lang.Object) held by thread 20
       at com.google.firebase.FirebaseApp$GlobalBackgroundStateListener.onBackgroundStateChanged(FirebaseApp.java:708)
       at com.google.android.gms.common.api.internal.BackgroundDetector.zza(com.google.android.gms:play-services-basement@@18.5.0:3)
       at com.google.android.gms.common.api.internal.BackgroundDetector.onTrimMemory(com.google.android.gms:play-services-basement@@18.5.0:3)
       at android.app.Application.onTrimMemory(Application.java:287)
       at android.app.ActivityThread.handleTrimMemory(ActivityThread.java:6256)
       at android.app.ActivityThread.access$1100(ActivityThread.java:237)
       at android.app.ActivityThread$ApplicationThread.lambda$scheduleTrimMemory$0(ActivityThread.java:1619)
       at android.app.-$$Lambda$ActivityThread$ApplicationThread$tUGFX7CUhzB4Pg5wFd5yeqOnu38.accept(lambda)
       at com.android.internal.util.function.pooled.PooledLambdaImpl.doInvoke(PooledLambdaImpl.java:278)
       at com.android.internal.util.function.pooled.PooledLambdaImpl.invoke(PooledLambdaImpl.java:201)
       at com.android.internal.util.function.pooled.OmniFunction.run(OmniFunction.java:97)
       at android.view.Choreographer$CallbackRecord.run(Choreographer.java:972)
       at android.view.Choreographer.doCallbacks(Choreographer.java:796)
       at android.view.Choreographer.doFrame(Choreographer.java:733)
       at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:957)
       at android.os.Handler.handleCallback(Handler.java:938)
       at android.os.Handler.dispatchMessage(Handler.java:99)
       at android.os.Looper.loop(Looper.java:223)
       at android.app.ActivityThread.main(ActivityThread.java:7656)
       at java.lang.reflect.Method.invoke(Native method)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
        
 DefaultDispatcher-worker-3 (blocked):tid=22 systid=3195 | waiting to lock <0x0ed5584f> (java.lang.Object) held by thread 20
       at com.google.firebase.FirebaseApp.getInstance(FirebaseApp.java:173)
       at com.google.firebase.perf.config.RemoteConfigManager.getInitialStartupMillis(RemoteConfigManager.java:93)
       at com.google.firebase.perf.config.RemoteConfigManager.<init>(RemoteConfigManager.java:85)
       at com.google.firebase.perf.config.RemoteConfigManager.<clinit>(RemoteConfigManager.java:52)
       at com.google.firebase.perf.config.RemoteConfigManager.getInstance(RemoteConfigManager.java:125)
       at com.google.firebase.perf.config.ConfigResolver.<init>(ConfigResolver.java:78)
       at com.google.firebase.perf.config.ConfigResolver.getInstance(ConfigResolver.java:86)
       at com.google.firebase.perf.application.AppStateMonitor.<init>(AppStateMonitor.java:98)
       at com.google.firebase.perf.application.AppStateMonitor.getInstance(AppStateMonitor.java:87)
       at com.google.firebase.perf.metrics.NetworkRequestMetricBuilder.<init>(NetworkRequestMetricBuilder.java:92)
       at com.google.firebase.perf.metrics.NetworkRequestMetricBuilder.builder(NetworkRequestMetricBuilder.java:84)
       at com.google.firebase.perf.network.InstrumentOkHttpEnqueueCallback.<init>(InstrumentOkHttpEnqueueCallback.java:42)
       at com.google.firebase.perf.network.FirebasePerfOkHttpClient.enqueue(FirebasePerfOkHttpClient.java:73)
       at io.ktor.client.engine.okhttp.OkUtilsKt.execute(OkUtils.kt:30)
       at io.ktor.client.engine.okhttp.OkHttpEngine.executeHttpRequest(OkHttpEngine.kt:118)
       at io.ktor.client.engine.okhttp.OkHttpEngine.execute(OkHttpEngine.kt:69)
       at io.ktor.client.engine.HttpClientEngine$executeWithinCallContext$2.invokeSuspend(HttpClientEngine.kt:169)
       at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
       at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
       at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.java:113)
       at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:89)
       at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:586)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:820)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:717)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:704)

shabinder-singh avatar Mar 31 '25 09:03 shabinder-singh