Skip to content
This repository has been archived by the owner on Feb 20, 2023. It is now read-only.

[Bug] Fenix crashes after disabling "Show most visited sites" and returning to the homescreen #20449

Closed
lobontiumira opened this issue Jul 21, 2021 · 5 comments
Assignees
Labels
b:crash Crashes Fenix: should link to Sentry, Crash-Stats or GPlay info 🐞 bug Crashes, Something isn't working, .. eng:qa:verified QA Verified Feature:Shortcuts Top Sites/Topsites on the Firefox home page S2 Major Functionality/product severely impaired and a satisfactory workaround doesn't exist

Comments

@lobontiumira
Copy link

lobontiumira commented Jul 21, 2021

Steps to reproduce

  1. Go to Settings - Customize - Show most visited sites, and disable it.
  2. Tap back to reach the homescreen.

Expected behaviour

The user is redirected to the homescreen without issues.

Actual behaviour

Fenix crashes.

Device name

Google Pixel, HTC 10

Android version

Android 10, Android 8

Firefox release type

Firefox Nightly

Firefox version

92.0a1 from 7/21

Device logs

754156d2-b1cf-41d6-9ebb-a3239739e44c
java.lang.IndexOutOfBoundsException: Index: 6, Size: 5


java.lang.IndexOutOfBoundsException: Index: 6, Size: 5
at java.util.ArrayList.remove(ArrayList.java:503)
at org.mozilla.fenix.home.sessioncontrol.viewholders.topsites.TopSitesPagerAdapter.onBindViewHolder(TopSitesPagerAdapter.kt:25)
at androidx.recyclerview.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:9)
at androidx.recyclerview.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:135)
at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:1)
at androidx.recyclerview.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:8)
at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1)
at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:12)
at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:119)
at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:12)
at androidx.recyclerview.widget.RecyclerView.onMeasure(RecyclerView.java:13)
at android.view.View.measure(View.java:22072)
at android.view.ViewGroup.measureChild(ViewGroup.java:6580)
at androidx.viewpager2.widget.ViewPager2.onMeasure(ViewPager2.java:1)
at android.view.View.measure(View.java:22072)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6609)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1514)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:806)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:685)
at android.view.View.measure(View.java:22072)
at androidx.recyclerview.widget.RecyclerView$LayoutManager.measureChildWithMargins(RecyclerView.java:16)
at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:11)
at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:12)
at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:119)
at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:12)
at androidx.recyclerview.widget.RecyclerView.dispatchLayout(RecyclerView.java:15)
at androidx.recyclerview.widget.RecyclerView.onLayout(RecyclerView.java:3)
at android.view.View.layout(View.java:19653)
at android.view.ViewGroup.layout(ViewGroup.java:6082)
at com.google.android.material.appbar.HeaderScrollingViewBehavior.layoutChild(HeaderScrollingViewBehavior.java:22)
at com.google.android.material.appbar.ViewOffsetBehavior.onLayoutChild(ViewOffsetBehavior.java:1)
at androidx.coordinatorlayout.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:8)
at android.view.View.layout(View.java:19653)
at android.view.ViewGroup.layout(ViewGroup.java:6082)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:19653)
at android.view.ViewGroup.layout(ViewGroup.java:6082)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1791)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1635)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1544)
at android.view.View.layout(View.java:19653)
at android.view.ViewGroup.layout(ViewGroup.java:6082)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:19653)
at android.view.ViewGroup.layout(ViewGroup.java:6082)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1791)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1635)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1544)
at android.view.View.layout(View.java:19653)
at android.view.ViewGroup.layout(ViewGroup.java:6082)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:19653)
at android.view.ViewGroup.layout(ViewGroup.java:6082)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1791)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1635)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1544)
at android.view.View.layout(View.java:19653)
at android.view.ViewGroup.layout(ViewGroup.java:6082)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at com.android.internal.policy.DecorView.onLayout(DecorView.java:758)
at android.view.View.layout(View.java:19653)
at android.view.ViewGroup.layout(ViewGroup.java:6082)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2626)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2321)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1466)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6982)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:927)
at android.view.Choreographer.doCallbacks(Choreographer.java:729)
at android.view.Choreographer.doFrame(Choreographer.java:658)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:913)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:180)
at android.app.ActivityThread.main(ActivityThread.java:6944)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:835)

Additional information

crash.mp4

┆Issue is synchronized with this Jira Task

@lobontiumira lobontiumira added 🐞 bug Crashes, Something isn't working, .. b:crash Crashes Fenix: should link to Sentry, Crash-Stats or GPlay info Feature:Shortcuts Top Sites/Topsites on the Firefox home page needs:triage Issue needs triage labels Jul 21, 2021
@kbrosnan kbrosnan added this to Ready for Engineering (min-5 ; max-22) in Android Engineering Team Kanban board via automation Jul 21, 2021
@kbrosnan kbrosnan removed the needs:triage Issue needs triage label Jul 21, 2021
@kbrosnan kbrosnan removed this from Ready for Engineering (min-5 ; max-22) in Android Engineering Team Kanban board Jul 21, 2021
@kbrosnan kbrosnan added this to Needs triage in Android: Crash Tracking via automation Jul 21, 2021
@kbrosnan kbrosnan moved this from Needs triage to Crashes with STR in Android: Crash Tracking Jul 21, 2021
@csadilek
Copy link
Contributor

Adding Nightly Sentry issue link: https://sentry.prod.mozaws.net/operations/firefox-nightly/issues/11937189/

Spiking in the last 3 days.

@csadilek
Copy link
Contributor

@codrut-topliceanu ^^ this looks to be a regression of bc723e0. Can you take a look? It's spiking a bit too much. Could also back out if it needs more investigation and take time :).

@jonalmeida
Copy link
Contributor

Sentry issue: FIREFOX-NIGHTLY-BSY

@jonalmeida jonalmeida added the S2 Major Functionality/product severely impaired and a satisfactory workaround doesn't exist label Jul 23, 2021
@codrut-topliceanu
Copy link
Contributor

@codrut-topliceanu ^^ this looks to be a regression of bc723e0. Can you take a look? It's spiking a bit too much. Could also back out if it needs more investigation and take time :).

Confirmed 😞

@codrut-topliceanu codrut-topliceanu self-assigned this Jul 26, 2021
@codrut-topliceanu codrut-topliceanu added this to Ready for Engineering (min-5 ; max-22) in Android Engineering Team Kanban board via automation Jul 26, 2021
@codrut-topliceanu codrut-topliceanu moved this from Ready for Engineering (min-5 ; max-22) to In Development (WIP limit - 15) in Android Engineering Team Kanban board Jul 26, 2021
codrut-topliceanu pushed a commit to codrut-topliceanu/fenix that referenced this issue Jul 26, 2021
@codrut-topliceanu codrut-topliceanu moved this from In Development (WIP limit - 15) to Dev Complete (WIP limit - 5) in Android Engineering Team Kanban board Jul 26, 2021
@codrut-topliceanu codrut-topliceanu moved this from Dev Complete (WIP limit - 5) to Reviewer approved, ready for test (WIP limit - ?) in Android Engineering Team Kanban board Jul 27, 2021
@jonalmeida jonalmeida added the eng:qa:needed QA Needed label Jul 27, 2021
@sflorean sflorean moved this from Reviewer approved, ready for test (WIP limit - ?) to In Testing/QA in Android Engineering Team Kanban board Jul 28, 2021
@SoftVision-LorandJanos
Copy link

Verified as fixed in the latest Nightly (92.0a1 20210728T05:08:41.498400).

Devices used:

  • Google Pixel 4 (Android 11)
  • Samsung Galaxy Tab 3 (Android 9).

Android: Crash Tracking automation moved this from Crashes with STR to Closed Jul 29, 2021
Android Engineering Team Kanban board automation moved this from In Testing/QA to Done Jul 29, 2021
@sflorean sflorean removed the eng:qa:needed QA Needed label Aug 4, 2021
czlucius pushed a commit to czlucius/fenix that referenced this issue Aug 20, 2021
czlucius pushed a commit to czlucius/fenix that referenced this issue Aug 22, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
b:crash Crashes Fenix: should link to Sentry, Crash-Stats or GPlay info 🐞 bug Crashes, Something isn't working, .. eng:qa:verified QA Verified Feature:Shortcuts Top Sites/Topsites on the Firefox home page S2 Major Functionality/product severely impaired and a satisfactory workaround doesn't exist
Projects
No open projects
Development

No branches or pull requests

7 participants