Closed Bug 2009191 Opened 7 months ago Closed 5 months ago

Crash in [@ java.lang.IllegalArgumentException: at androidx.compose.ui.text.internal.InlineClassHelperKt.throwIllegalArgumentException(InlineClassHelper.kt:3)]

Categories

(Firefox for Android :: General, defect)

Unspecified
Android
defect

Tracking

()

VERIFIED FIXED
150 Branch
Tracking Status
firefox146 --- wontfix
firefox147 --- wontfix
firefox148 + verified
firefox149 + verified
firefox150 + verified

People

(Reporter: aryx, Assigned: towhite)

References

Details

(Keywords: crash, Whiteboard: [fxdroid][group3])

Crash Data

Attachments

(4 files, 3 obsolete files)

These crash reports started mid-December and are focused on Firefox for Android 146.0.1 and 148.0a1.

Crash report: https://crash-stats.mozilla.org/report/index/1172d4e4-0c6d-49ec-82f0-ac96a0260108

Top 10 frames:

0  androidx.compose.ui.text.internal.InlineClassHelperKt  throwIllegalArgumentException  InlineClassHelper.kt:3
1  androidx.compose.ui.text.MultiParagraph  requireLineIndexInRange  MultiParagraph.kt:38
2  androidx.compose.ui.text.TextLayoutResult  getLineLeft  TextLayoutResult.kt:3
3  androidx.compose.foundation.text.input.internal.CursorAnchorInfoApi34Helper  addVisibleLineBounds  LegacyCursorAnchorInfoBuilder.android.kt:23
4  androidx.compose.foundation.text.input.internal.CursorAnchorInfoController  calculateCursorAnchorInfo  CursorAnchorInfoController.android.kt:430
5  androidx.compose.foundation.text.input.internal.CursorAnchorInfoController$st...  invoke  R8$$SyntheticClass:3
6  androidx.compose.runtime.SnapshotStateKt__SnapshotFlowKt$snapshotFlow$1  invokeSuspend  SnapshotFlow.kt:147
7  androidx.compose.runtime.SnapshotStateKt__SnapshotFlowKt$snapshotFlow$1  invoke  SnapshotFlow.kt:13
8  kotlinx.coroutines.flow.AbstractFlow  collect  Flow.kt:73
9  kotlinx.coroutines.flow.FlowKt__LimitKt$drop$$inlined$unsafeFlow$1  collect  SafeCollector.common.kt:15

The bug is linked to a topcrash signature, which matches the following criterion:

  • Top 10 AArch64 and ARM crashes on nightly

For more information, please visit BugBot documentation.

Keywords: topcrash

crash report in nightly suggests it is a user-perceived foreground crash
looks like a google issue that is currently in progress

Severity: -- → S4

Based on the topcrash criteria, the crash signature linked to this bug is not a topcrash signature anymore.

For more information, please visit BugBot documentation.

Keywords: topcrash

The crash volume in release is trending upward. This is currently the top crash in Fenix.
Polly, I see in comment 2 you linked to a google issue, but it's not very active.
Is there anything that can be done in the meantime to workaround it?

Flags: needinfo?(polly)
Assignee: nobody → hoglesby
Status: NEW → ASSIGNED
Whiteboard: [fxdroid][group3]
Attachment #9549106 - Attachment description: WIP: Bug 2009191 - Fix crash with AnnotatedText and remember in SettingsSearchResultItem → Bug 2009191 - Fix crash with AnnotatedString and remember in SettingsSearchResultItem

The bug is marked as tracked for firefox148 (release), tracked for firefox149 (beta) and tracked for firefox150 (nightly). However, the bug still has low severity.

:towhite, could you please increase the severity for this tracked bug? If you disagree with the tracking decision, please talk with the release managers.

For more information, please visit BugBot documentation.

Flags: needinfo?(towhite)
Severity: S4 → S2
Flags: needinfo?(towhite)
Assignee: hoglesby → towhite
Attachment #9549106 - Attachment is obsolete: true
Attachment #9549375 - Attachment description: Bug 2009191 - Guard against crash in LinkText and log exception when link text is not found. → Bug 2009191 - Log crash info in LinkText when link text is not found.
Attachment #9549375 - Attachment is obsolete: true
See Also: → 2020978

Comment on attachment 9549821 [details]
Bug 2009191 - Log crash info in LinkText when link text is not found.

Revision D285979 was moved to bug 2020978. Setting attachment 9549821 [details] to obsolete.

Attachment #9549821 - Attachment is obsolete: true
Pushed by icedicedcoffee@proton.me: https://github.com/mozilla-firefox/firefox/commit/ec6250245e29 https://hg.mozilla.org/integration/autoland/rev/99927541d3b0 Fix crash in MarketingDataOnboardingPage if bodyOneText contains a placeholder. r=android-reviewers,twhite

firefox-beta Uplift Approval Request

  • User impact if declined: Potential fix for the crash seen in onboarding
  • Code covered by automated testing: no
  • Fix verified in Nightly: no
  • Needs manual QE test: yes
  • Steps to reproduce for manual QE testing: Pre-requisite: Marketing attribution url required to enable the Marketing card.

Use the https://experimenter.services.mozilla.com/nimbus/android-brand-refresh-onboarding-with-updated-copy/summary/ to enroll in the 'control' branch and ensure that when the marketing card is displayed the app does not crash, and the links, user controls work as expected.

Please also smoke test the 'treatment-a' branch.

  • Risk associated with taking this patch: low
  • Explanation of risk level: Implementation already exists in the onboarding redesign 'treatment-a' branch
  • String changes made/needed: -
  • Is Android affected?: yes
Attachment #9549901 - Flags: approval-mozilla-beta?
Flags: qe-verify+

firefox-release Uplift Approval Request

  • User impact if declined: Potential fix for the crash seen in onboarding
  • Code covered by automated testing: no
  • Fix verified in Nightly: no
  • Needs manual QE test: yes
  • Steps to reproduce for manual QE testing: Pre-requisite: Marketing attribution url required to enable the Marketing card.

Use the https://experimenter.services.mozilla.com/nimbus/android-brand-refresh-onboarding-with-updated-copy/summary/ to enroll in the 'control' branch and ensure that when the marketing card is displayed the app does not crash, and the links, user controls work as expected.

Please also smoke test the 'treatment-a' branch.

  • Risk associated with taking this patch: low
  • Explanation of risk level: Implementation already exists in the onboarding redesign 'treatment-a' branch
  • String changes made/needed: -
  • Is Android affected?: yes
Attachment #9549902 - Flags: approval-mozilla-release?
Duplicate of this bug: 2021007
Status: ASSIGNED → RESOLVED
Closed: 5 months ago
Resolution: --- → FIXED
Target Milestone: --- → 150 Branch
Attachment #9549901 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Attachment #9549902 - Flags: approval-mozilla-release? → approval-mozilla-release+

Verified on the latest Nightly 150.0a1 from 03/05 using Google Pixel 10 (Android 16) and Samsung Galaxy S23 Ultra (Android 14).
On treatment A, everything appears correct, but on the control the strings are incorrect.
@towhite Could you please confirm if this behavior is expected?

Flags: needinfo?(towhite)

Tested on Samsung S23 Ultra (Android 15) using the latest Nightly 150.0a1 (Build #2016147639), and I can confirm that Firefox did not crash after enrolling in the control branch of the experiment. Also, the Marketing card is shown as expected.

Additionally, I can confirm that the navigation bar performs searches as expected and navigates to websites on both normal and private sessions from control and treatment-a branches of the experiment. Also, the toggle choices are honored and displayed accordingly in the Data Collection section of the Settings after completing the Onboarding.

  • The only issue I observed was the one mentioned in the previous comment, where the strings are incorrect, and some of the images are specific to the Onboarding Refresh instead of the old one (Widget, Sync, and Notifications screens). This issue is similar to the Beta issue we previously encountered, where string resources were not being resolved and instead used the string resource literal; this behavior led to Bug 2015799.

@towhite, please let us know if you need a separate report for this behavior.

Verified on the Fenix 149.0b5 using Google Pixel 10 (Android 16) and Samsung Galaxy S23 Ultra (Android 14).
On treatment A, everything appears correct, but on the control the strings are incorrect.
No crash encountered.

Flags: qe-verify+

Thanks, Carmen. The treatment-a content should be the default configuration in Nightly, Beta and Release. Please can you confirm whether the string literals are still being shown during onboarding - no need to enrol in any experiments.

Flags: needinfo?(towhite) → needinfo?(apetridean)
Flags: needinfo?(polly)

(In reply to twhite from comment #24)

Thanks, Carmen. The treatment-a content should be the default configuration in Nightly, Beta and Release. Please can you confirm whether the string literals are still being shown during onboarding - no need to enrol in any experiments.

String literals are not displayed in the default configuration; they appear only when using the control branch.

Flags: needinfo?(apetridean)
QA Whiteboard: [qa-triage-done-c150/b149]

Verified as fixed on RC Fenix 148.0.2 using Google Pixel 10 (Android 16), Samsung Galaxy S25 Ultra (Android 16), Samsung Galaxy Note 10 (Android 12), Lenovo Tab P11 Pro (Android 14).

Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: