-
-
Notifications
You must be signed in to change notification settings - Fork 466
Closed
Milestone
Description
Description
When SentryOptions.empty() is used (e.g. in a NoOpHub), we still eagerly initialize some of the class members, for example:
I think, those should be fine to initialize lazily, so in case of the empty options they do not cause potential issues. There was a recent customer report of an ANR caused by with Sentry frames in it (although the ANR is most likely not caused by Sentry, because there's nothing involved that should cause an ANR, but still we'd like to eliminate such issues):
main (runnable):tid=1 systid=27171
at io.sentry.JsonSerializer.<init>(JsonSerializer.java:84)
at io.sentry.SentryOptions.<init>(SentryOptions.java:99)
at io.sentry.SentryOptions.empty(SentryOptions.java:1899)
at io.sentry.NoOpHub.<init>(NoOpHub.java:14)
at io.sentry.NoOpHub.<clinit>(NoOpHub.java:12)
at io.sentry.Sentry.<clinit>(Sentry.java:29)
at io.sentry.HubAdapter.getSpan(HubAdapter.java:246)
at io.sentry.instrumentation.file.FileIOSpanManager.startSpan(FileIOSpanManager.java:26)
at io.sentry.instrumentation.file.SentryFileInputStream.init(SentryFileInputStream.java:65)
at io.sentry.instrumentation.file.SentryFileInputStream.access$000(SentryFileInputStream.java:22)
at io.sentry.instrumentation.file.SentryFileInputStream$Factory.create(SentryFileInputStream.java:137)
at com.google.firebase.crashlytics.internal.settings.CachedSettingsIo.readCachedSettings(CachedSettingsIo.java:56)
at com.google.firebase.crashlytics.internal.settings.SettingsController.getCachedSettingsData(SettingsController.java:235)
at com.google.firebase.crashlytics.internal.settings.SettingsController.loadSettingsData(SettingsController.java:169)
at com.google.firebase.crashlytics.internal.settings.SettingsController.loadSettingsData(SettingsController.java:154)
at com.google.firebase.crashlytics.FirebaseCrashlytics.init(FirebaseCrashlytics.java:136)
at com.google.firebase.crashlytics.CrashlyticsRegistrar.buildCrashlytics(CrashlyticsRegistrar.java:57)
at com.google.firebase.crashlytics.CrashlyticsRegistrar.$r8$lambda$Pfd5XmDCFzNyAT9o9H6rDnTBQE4(CrashlyticsRegistrar.java)
at com.google.firebase.crashlytics.CrashlyticsRegistrar$$InternalSyntheticLambda$1$ab347a8933944304e42539e3f0bc7a2eb5ded1d56c7a52feedae47ac52780cf7$0.create(CrashlyticsRegistrar.java:2)
at com.google.firebase.components.ComponentRuntime.lambda$discoverComponents$0(ComponentRuntime.java:132)
at com.google.firebase.components.ComponentRuntime.$r8$lambda$4FqOW9eOQsvFYo-HpMfxCOnPQr0(ComponentRuntime.java)
at com.google.firebase.components.ComponentRuntime$$InternalSyntheticLambda$0$784536aca87f12f75d3504e86fd606a2ca102f8312a2daf2c8c51b9b25617f63$0.get(ComponentRuntime.java:4)
at com.google.firebase.components.Lazy.get(Lazy.java:53)
at com.google.firebase.components.ComponentRuntime.doInitializeEagerComponents(ComponentRuntime.java:291)
at com.google.firebase.components.ComponentRuntime.initializeEagerComponents(ComponentRuntime.java:281)
at com.google.firebase.FirebaseApp.initializeAllApis(FirebaseApp.java:584)
at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:303)
at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:267)
at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:252)
at com.google.firebase.provider.FirebaseInitProvider.onCreate(FirebaseInitProvider.java:51)
at android.content.ContentProvider.attachInfo(ContentProvider.java:2404)
at android.content.ContentProvider.attachInfo(ContentProvider.java:2374)
at com.google.firebase.provider.FirebaseInitProvider.attachInfo(FirebaseInitProvider.java:45)
at android.app.ActivityThread.installProvider(ActivityThread.java:7524)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:7041)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6790)
at android.app.ActivityThread.access$1600(ActivityThread.java:255)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2100)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:7941)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1009)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels