Crash in [@ kotlin.UninitializedPropertyAccessException: at mozilla.telemetry.glean.private.PingType.setEnabled(PingType.kt:11)]
Categories
(Firefox for Android :: Experimentation and Telemetry, defect, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox138 | --- | unaffected |
firefox139 | --- | fixed |
firefox140 | --- | fixed |
People
(Reporter: aryx, Assigned: janerik)
References
Details
(Keywords: crash, topcrash)
Crash Data
Attachments
(1 file)
16 crashes for Firefox for Android 139.0a1, 140.0a1 and 139.0 betas.
Many crashes from the onboarding screen (new profiles?) but not for this crash: bp-95308dc2-fef6-4da1-81e3-706970250509
Polly, could you investigate this?
Crash report: https://crash-stats.mozilla.org/report/index/addf7506-cac5-4443-9ed4-1d5160250515
Top 10 frames:
0 mozilla.telemetry.glean.private.PingType setEnabled PingType.kt:11
1 org.mozilla.fenix.components.metrics.GleanUsageReporting setEnabled GleanUsageReporting.kt:7
2 org.mozilla.fenix.components.metrics.GleanUsageReportingMetricsService start GleanUsageReportingMetricsService.kt:12
3 org.mozilla.fenix.components.metrics.ReleaseMetricController start MetricController.kt:66
4 org.mozilla.fenix.components.MetricsServiceHelperKt startMetricsIfEnabled MetricsServiceHelper.kt:75
5 org.mozilla.fenix.onboarding.OnboardingFragment onFinish OnboardingFragment.kt:149
6 org.mozilla.fenix.onboarding.OnboardingFragment$$ExternalSyntheticLambda12 invoke R8$$SyntheticClass:34
7 org.mozilla.fenix.onboarding.view.OnboardingScreenKt$$ExternalSyntheticLambda13 invoke R8$$SyntheticClass:25
8 org.mozilla.fenix.onboarding.view.OnboardingScreenKt$$ExternalSyntheticLambda5 invoke R8$$SyntheticClass:3
9 androidx.compose.foundation.ClickableNode$clickPointerInput$3 invoke Clickable.kt:13
Comment 1•3 months ago
|
||
The Bugbug bot thinks this bug should belong to the 'Firefox for Android::Experimentation and Telemetry' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.
Comment 2•3 months ago
•
|
||
Looks like this user-perceived foreground crash in nightly and beta that has happened on a handful of devices... there is a bit more info in google play's stack trace:
Exception java.lang.RuntimeException: Unable to create application org.mozilla.fenix.FenixApplication: kotlin.UninitializedPropertyAccessException: lateinit property innerPing has not been initialized
at android.app.ActivityThread.handleBindApplication (ActivityThread.java:6749)
at android.app.ActivityThread.access$1500 (ActivityThread.java:248)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2054)
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:7880)
at java.lang.reflect.Method.invoke
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1009)
Caused by kotlin.UninitializedPropertyAccessException: lateinit property innerPing has not been initialized
at mozilla.telemetry.glean.private.PingType.setEnabled (PingType.kt:128)
at org.mozilla.fenix.components.metrics.GleanUsageReporting.setEnabled (GleanUsageReporting.kt:20)
at org.mozilla.fenix.components.metrics.GleanUsageReportingMetricsService.start (GleanUsageReportingMetricsService.kt:41)
at org.mozilla.fenix.components.metrics.ReleaseMetricController.start (MetricController.kt:552)
at org.mozilla.fenix.components.MetricsServiceHelperKt.startMetricsIfEnabled (MetricsServiceHelper.kt:38)
at org.mozilla.fenix.FenixApplication.setupInMainProcessOnly (FenixApplication.kt:256)
at org.mozilla.fenix.FenixApplication.initialize (FenixApplication.kt:171)
at org.mozilla.fenix.FenixApplication.onCreate (FenixApplication.kt:150)
at android.app.Instrumentation.callApplicationOnCreate (Instrumentation.java:1212)
at android.app.ActivityThread.handleBindApplication (ActivityThread.java:6744)
Might need some help from the Glean team with this one!
It's pretty low numbers though so probably not one to panic about (:
Looks like the lateinit
property innerPing
is in this Glean class
Given that its being initialised on a different thread, i suspect a race condition. To avoid this, maybe we could just make this innerPing
property optional instead of lateinit
and check if it has been initialised before trying to access it?
Assignee | ||
Comment 3•3 months ago
|
||
Ah hm, yeah that makes sense. Let me see if I can get that done.
Assignee | ||
Comment 4•3 months ago
|
||
Actually this is because we were missing a dispatch, which essentially is the check that innerPing
exists. I'll fix that.
Comment 5•3 months ago
|
||
Comment 6•3 months ago
|
||
The bug is linked to a topcrash signature, which matches the following criterion:
- Top 10 AArch64 and ARM crashes on beta
For more information, please visit BugBot documentation.
Assignee | ||
Comment 7•3 months ago
|
||
Assignee | ||
Updated•3 months ago
|
Updated•2 months ago
|
Comment 8•2 months ago
|
||
Fenix/Focus 139 RC3 also got this fix by way of bug 1968193.
Description
•