Closed Bug 1855939 Opened 1 year ago Closed 1 year ago

Crash when tapping the two CFR's "Try review checker" option

Categories

(Fenix :: Shopping, defect, P1)

Firefox 120
All
Android
defect

Tracking

(firefox118 disabled, firefox119 disabled, firefox120+ verified)

RESOLVED FIXED
120 Branch
Tracking Status
firefox118 --- disabled
firefox119 --- disabled
firefox120 + verified

People

(Reporter: mlobontiuroman, Assigned: vdreghici)

References

(Blocks 1 open bug)

Details

(Keywords: topcrash, Whiteboard: [fxdroid] [fakespot-android-mvp])

Crash Data

Attachments

(1 file)

Steps to reproduce

  1. Have a clean profile.
  2. Open bestbuy.com, then select a product.
  3. On a product's page, the first CFR is displayed.
  4. DON'T act on it, just change the orientation of the device.
  5. Minimize Fenix.
  6. Re-open Fenix, and observe the two CFR's.
  7. Tap on the "Try review checker" option from the both displayed CFR's.

Expected behavior

The "Review checker" is displayed.

Actual behavior

Crash.

62339971-0f79-420a-9cfc-861cc92955a3
java.lang.IllegalArgumentException: View=mozilla.components.compose.cfr.CFRPopupFullscreenLayout{d5c4bcd V.E..V... ......I. 0,0-1848,2864 aid=1073741977} not attached to window manager
* New Sentry Instance: https://sentry.io/organizations/mozilla/issues/?project=6295546&query=d16710e83fc04fa88f82520198055cc4
* Socorro: https://crash-stats.mozilla.org/report/index/bp-b3f290d7-69c7-44a4-b599-d4eb10230929
----
java.lang.IllegalArgumentException: View=mozilla.components.compose.cfr.CFRPopupFullscreenLayout{d5c4bcd V.E..V... ......I. 0,0-1848,2864 aid=1073741977} not attached to window manager
at android.view.WindowManagerGlobal.findViewLocked(WindowManagerGlobal.java:730)
at android.view.WindowManagerGlobal.removeView(WindowManagerGlobal.java:616)
at android.view.WindowManagerImpl.removeViewImmediate(WindowManagerImpl.java:228)
at mozilla.components.compose.cfr.CFRPopupFullscreenLayout.dismiss$compose_cfr_release(CFRPopupFullscreenLayout.kt:29)
at mozilla.components.compose.cfr.CFRPopup.dismiss(CFRPopup.kt:13)
at org.mozilla.fenix.components.toolbar.BrowserToolbarCFRPresenter$showShoppingCFR$3$1$1.invoke(BrowserToolbarCFRPresenter.kt:12)
at androidx.compose.foundation.ClickablePointerInputNode$pointerInput$3.invoke(Clickable.kt:13)
at androidx.compose.foundation.gestures.TapGestureDetectorKt$detectTapAndPress$2$1.invokeSuspend(TapGestureDetector.kt:134)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:9)
at kotlinx.coroutines.DispatchedTaskKt.resume(DispatchedTask.kt:83)
at kotlinx.coroutines.CancellableContinuationImpl.dispatchResume(CancellableContinuationImpl.kt:138)
at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl(CancellableContinuationImpl.kt:45)
at kotlinx.coroutines.CancellableContinuationImpl.resumeWith(CancellableContinuationImpl.kt:17)
at androidx.compose.ui.input.pointer.SuspendingPointerInputModifierNodeImpl.dispatchPointerEvent(SuspendingPointerInputFilter.kt:51)
at androidx.compose.ui.input.pointer.SuspendingPointerInputModifierNodeImpl.onPointerEvent-H0pRuoY(SuspendingPointerInputFilter.kt:31)
at androidx.compose.foundation.AbstractClickablePointerInputNode.onPointerEvent-H0pRuoY(Clickable.kt:3)
at androidx.compose.foundation.AbstractClickableNode.onPointerEvent-H0pRuoY(Clickable.kt:5)
at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(HitPathTracker.kt:174)
at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(HitPathTracker.kt:153)
at androidx.compose.ui.input.pointer.Node.dispatchMainEventPass(HitPathTracker.kt:153)
at androidx.compose.ui.input.pointer.HitPathTracker.dispatchChanges(HitPathTracker.kt:40)
at androidx.compose.ui.input.pointer.PointerInputEventProcessor.process-BIzXfog(PointerInputEventProcessor.kt:164)
at androidx.compose.ui.platform.AndroidComposeView.sendMotionEvent-8iAsVTc(AndroidComposeView.android.kt:79)
at androidx.compose.ui.platform.AndroidComposeView.handleMotionEvent-8iAsVTc(AndroidComposeView.android.kt:224)
at androidx.compose.ui.platform.AndroidComposeView.dispatchTouchEvent(AndroidComposeView.android.kt:88)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3361)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:3035)
at android.view.View.dispatchPointerEvent(View.java:15866)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:8264)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:7955)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:7291)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:7348)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:7314)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:7512)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:7322)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:7569)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:7295)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:7348)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:7314)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:7322)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:7295)
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:10971)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:10853)
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:10809)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:11109)
at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:295)
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:335)
at android.os.Looper.loopOnce(Looper.java:186)
at android.os.Looper.loop(Looper.java:313)
at android.app.ActivityThread.main(ActivityThread.java:8810)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:604)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067)
Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [androidx.compose.ui.platform.MotionDurationScaleImpl@851b11d, androidx.compose.runtime.BroadcastFrameClock@82d6f92, StandaloneCoroutine{Cancelling}@432d63, AndroidUiDispatcher@200ad60]

Device information

  • Firefox version: Nightly 120.0a1 from 9/29
  • Android devices: Huawei MediaPad M2 (Android 5.1.1), and Samsung Galaxy S8 Ultra (Android 12)
Assignee: nobody → aputanu
Status: NEW → ASSIGNED
Whiteboard: [fxdroid] [fakespot-android-mvp]
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Flags: qe-verify+
Resolution: --- → FIXED
Target Milestone: --- → 120 Branch

Verified as fixed on the latest Fenix Nightly 120.0a1 from 10/4 with the following devices:

  • Huawei MediaPad M2 (Android 5.1.1),
  • Samsung Galaxy S8 Ultra (Android 12), and
  • Oppo Find N2 Flip (Android 13).
Status: RESOLVED → VERIFIED
Flags: qe-verify+

:apitanu this is marked as disabled for Fx119 but there is crash volume in 119.0
Could you take a look, wondering if this could/should get a release uplift request.

Flags: needinfo?(aputanu)

[:dmeehan] Thanks for flagging this, Alex is not in Mozilla anymore, we're gonna investigate this. Vlad, can you please investigate this? I'm only seeing tcp cfr and private browsing shortcut in the crash reports.

Flags: needinfo?(Vlad.DreghiciPopa)
Assignee: aputanu → Vlad.DreghiciPopa
Status: VERIFIED → REOPENED
Flags: needinfo?(Vlad.DreghiciPopa)
Resolution: FIXED → ---

Since this crash affects all CFRs, we should uplift to Beta 120 and maybe even a 119 dot release.

(In reply to Chris Peterson [:cpeterson] from comment #6)

Since this crash affects all CFRs, we should uplift to Beta 120 and maybe even a 119 dot release.

The fix is already in beta

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.

Keywords: topcrash

I have looked into the crashes for TCP and RecommendPrivateBrowsing and came to the conclusion that they are not reproducible anymore in 120 beta. The TCP one seems to be solved in in this ticket by Alex, while the RecommendPrivateBrowsing was solved by Jeff here.

(In reply to Vlad Dreghici [:vdreghici] from comment #9)

I have looked into the crashes for TCP and RecommendPrivateBrowsing and came to the conclusion that they are not reproducible anymore in 120 beta. The TCP one seems to be solved in in this ticket by Alex, while the RecommendPrivateBrowsing was solved by Jeff here.

What's needed in a 119 dot release to address this?

I will request an uplift for https://bugzilla.mozilla.org/show_bug.cgi?id=1858997. The Private browsing cfr is most likely the cause of the previous crashes but unrelated to the current spike.

In that case, let's close this.

[:dmeehan] The signature is the same but it's not the review checker CFRs that's causing this crash. I don't think this specific bug needs uplifting to 119 as the crashes are in a different code path than the review checker CFR.

Since discussions are in Bug 1858997 I'll mark 119 disabled for this bug.

Flags: needinfo?(aputanu)
Status: REOPENED → RESOLVED
Closed: 1 year ago1 year ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: