After changes in application (according to Take Control of Your Firebase Init on Android) i.e. after custom ContentProvider was created I started getting crashes in crashlytics. There are 10k crashes so far. But problem dose not occur locally - I tried a lot different devices but without success to reproduce.
Relevant Code: DynamicContentProvider
override fun onCreate(): Boolean {
val nonNullableContext = context ?: return false
val firebaseSecuredWrapper = FirebaseSecuredWrapper(...)
val model = firebaseSecuredWrapper.get()
val options = if (model != null) {
FirebaseOptions.Builder()
.setGcmSenderId(model.gcmSenderId)
.setApiKey(model.apiKey)
.setApplicationId(model.applicationId)
.setStorageBucket(model.storageBucket)
.setProjectId(model.projectId)
.build()
} else {
FirebaseOptions.fromResource(nonNullableContext)
}
FirebaseApp.initializeApp(nonNullableContext, requireNotNull(options))
return false
}
I am getting Triggered ANR Root blocking at my.application.provider.DynamicContentProvider.onCreate(DynamicContentProvider.kt:45), i.e at FirebaseApp.initializeApp(nonNullableContext, requireNotNull(options))
Messages from crashlytics:
main (runnable):tid=1 systid=8338
at java.lang.String.concat(Native method)
at com.google.firebase.crashlytics.internal.common.ExecutorUtils.addDelayedShutdownHook(ExecutorUtils.java:96)
at com.google.firebase.crashlytics.internal.common.ExecutorUtils.addDelayedShutdownHook(ExecutorUtils.java:87)
at com.google.firebase.crashlytics.internal.common.ExecutorUtils.buildSingleThreadExecutorService(ExecutorUtils.java:40)
at com.google.firebase.crashlytics.FirebaseCrashlytics.init(FirebaseCrashlytics.java:87)
at com.google.firebase.crashlytics.CrashlyticsRegistrar.buildCrashlytics(CrashlyticsRegistrar.java:57)
at com.google.firebase.components.ComponentRuntime.lambda$discoverComponents$0(ComponentRuntime.java:140)
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 my.application.provider.DynamicContentProvider.onCreate(DynamicContentProvider.kt:45)
main (runnable):tid=1 systid=11199
at com.google.firebase.crashlytics.CrashlyticsRegistrar.getComponents(CrashlyticsRegistrar.java:39)
at com.google.firebase.tracing.ComponentMonitor.processRegistrar(ComponentMonitor.java:28)
at com.google.firebase.components.ComponentRuntime.discoverComponents(ComponentRuntime.java:117)
at com.google.firebase.components.ComponentRuntime.<init>(ComponentRuntime.java:99)
at com.google.firebase.components.ComponentRuntime.<init>(ComponentRuntime.java:46)
at com.google.firebase.components.ComponentRuntime$Builder.build(ComponentRuntime.java:387)
at com.google.firebase.FirebaseApp.<init>(FirebaseApp.java:439)
at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:296)
at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:264)
at my.application.provider.DynamicContentProvider.onCreate(DynamicContentProvider.kt:45)
main (runnable):tid=1 systid=5685
at java.util.Formatter$FormatSpecifier.precision(Formatter.java:2989)
at java.util.Formatter$FormatSpecifier.<init>(Formatter.java:3042)
at java.util.Formatter$FormatSpecifierParser.<init>(Formatter.java:2804)
at java.util.Formatter.parse(Formatter.java:2737)
at java.util.Formatter.format(Formatter.java:2686)
at java.util.Formatter.format(Formatter.java:2640)
at java.lang.String.format(String.java:4068)
at com.google.firebase.concurrent.CustomThreadFactory.newThread(CustomThreadFactory.java:50)
at java.util.concurrent.ThreadPoolExecutor$Worker.<init>(ThreadPoolExecutor.java:639)
at java.util.concurrent.ThreadPoolExecutor.addWorker(ThreadPoolExecutor.java:929)
at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1362)
at com.google.firebase.concurrent.DelegatingScheduledExecutorService.execute(DelegatingScheduledExecutorService.java:104)
at com.google.android.gms.tasks.Tasks.call(Tasks.java:5)
at com.google.firebase.heartbeatinfo.DefaultHeartBeatController.registerHeartBeat(DefaultHeartBeatController.java:62)
at com.google.firebase.FirebaseApp.initializeAllApis(FirebaseApp.java:608)
at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:300)
at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:264)
at my.application.provider.DynamicContentProvider.onCreate(DynamicContentProvider.kt:45)
[READ] Step 1: Are you in the right place?
Yes
[REQUIRED] Step 2: Describe your environment
[REQUIRED] Step 3: Describe the problem
Steps to reproduce:
After changes in application (according to Take Control of Your Firebase Init on Android) i.e. after custom ContentProvider was created I started getting crashes in crashlytics. There are 10k crashes so far. But problem dose not occur locally - I tried a lot different devices but without success to reproduce.
Relevant Code: DynamicContentProvider
I am getting Triggered ANR Root blocking
at my.application.provider.DynamicContentProvider.onCreate(DynamicContentProvider.kt:45)
, i.e atFirebaseApp.initializeApp(nonNullableContext, requireNotNull(options))
Messages from crashlytics: