Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crash on Brave news scrolling #27836

Closed
SergeyZhukovsky opened this issue Jan 16, 2023 · 2 comments · Fixed by brave/brave-core#16692
Closed

Crash on Brave news scrolling #27836

SergeyZhukovsky opened this issue Jan 16, 2023 · 2 comments · Fixed by brave/brave-core#16692
Assignees
Labels
crash OS/Android Fixes related to Android browser functionality priority/P2 A bad problem. We might uplift this to the next planned release. QA Pass - Android ARM QA Pass - Android Tab QA/Yes release-notes/include

Comments

@SergeyZhukovsky
Copy link
Member

I found that crash in GPS on stable 1.47.x. We need to have a check on list size in that place https://github.com/brave/brave-core/blob/1.47.x/android/java/org/chromium/chrome/browser/ntp/BraveNewTabPageLayout.java#L499

Crash stack:

Exception java.lang.reflect.UndeclaredThrowableException:
  at $Proxy1.dispatchTouchEvent ($Proxy1.java)
  at com.android.internal.policy.DecorView.dispatchTouchEvent (DecorView.java:873)
  at android.view.View.dispatchPointerEvent (View.java:15458)
  at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent (ViewRootImpl.java:7457)
  at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess (ViewRootImpl.java:7233)
  at android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:6595)
  at android.view.ViewRootImpl$InputStage.onDeliverToNext (ViewRootImpl.java:6652)
  at android.view.ViewRootImpl$InputStage.forward (ViewRootImpl.java:6618)
  at android.view.ViewRootImpl$AsyncInputStage.forward (ViewRootImpl.java:6786)
  at android.view.ViewRootImpl$InputStage.apply (ViewRootImpl.java:6626)
  at android.view.ViewRootImpl$AsyncInputStage.apply (ViewRootImpl.java:6843)
  at android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:6599)
  at android.view.ViewRootImpl$InputStage.onDeliverToNext (ViewRootImpl.java:6652)
  at android.view.ViewRootImpl$InputStage.forward (ViewRootImpl.java:6618)
  at android.view.ViewRootImpl$InputStage.apply (ViewRootImpl.java:6626)
  at android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:6599)
  at android.view.ViewRootImpl.deliverInputEvent (ViewRootImpl.java:9880)
  at android.view.ViewRootImpl.doProcessInputEvents (ViewRootImpl.java:9718)
  at android.view.ViewRootImpl.enqueueInputEvent (ViewRootImpl.java:9671)
  at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent (ViewRootImpl.java:10014)
  at android.view.InputEventReceiver.dispatchInputEvent (InputEventReceiver.java:220)
  at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents (InputEventReceiver.java)
  at android.view.InputEventReceiver.consumeBatchedInputEvents (InputEventReceiver.java:200)
  at android.view.ViewRootImpl.doConsumeBatchedInput (ViewRootImpl.java:9960)
  at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run (ViewRootImpl.java:10056)
  at android.view.Choreographer$CallbackRecord.run (Choreographer.java:1010)
  at android.view.Choreographer.doCallbacks (Choreographer.java:809)
  at android.view.Choreographer.doFrame (Choreographer.java:737)
  at android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:995)
  at android.os.Handler.handleCallback (Handler.java:938)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at android.os.Looper.loop (Looper.java:246)
  at android.app.ActivityThread.main (ActivityThread.java:8653)
  at java.lang.reflect.Method.invoke (Method.java)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:602)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1130)
Caused by java.lang.reflect.InvocationTargetException:
  at java.lang.reflect.Method.invoke (Method.java)
  at org.chromium.base.ApplicationStatus$WindowCallbackProxy.invoke (ApplicationStatus.java:246)
  at java.lang.reflect.Proxy.invoke (Proxy.java:1006)
Caused by java.lang.ArrayIndexOutOfBoundsException: length=0; index=0
  at java.util.concurrent.CopyOnWriteArrayList.get (CopyOnWriteArrayList.java:380)
  at java.util.concurrent.CopyOnWriteArrayList.get (CopyOnWriteArrayList.java:393)
  at org.chromium.chrome.browser.ntp.BraveNewTabPageLayout$4.onScrollStateChanged (BraveNewTabPageLayout.java:499)
  at androidx.recyclerview.widget.RecyclerView.dispatchOnScrollStateChanged (RecyclerView.java:5699)
  at androidx.recyclerview.widget.RecyclerView.setScrollState (RecyclerView.java:1649)
  at androidx.recyclerview.widget.RecyclerView.onTouchEvent (RecyclerView.java:3805)
  at android.view.View.dispatchTouchEvent (View.java:15199)
  at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3914)
  at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:3578)
  at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3920)
  at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:3594)
  at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3920)
  at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:3594)
  at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3920)
  at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:3594)
  at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3920)
  at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:3594)
  at org.chromium.chrome.browser.compositor.CompositorViewHolder.dispatchTouchEvent (CompositorViewHolder.java:809)
  at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3920)
  at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:3594)
  at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3920)
  at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:3594)
  at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3920)
  at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:3594)
  at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3920)
  at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:3594)
  at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3920)
  at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:3594)
  at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:3920)
  at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:3594)
  at com.android.internal.policy.DecorView.superDispatchTouchEvent (DecorView.java:915)
  at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent (PhoneWindow.java:1957)
  at android.app.Activity.dispatchTouchEvent (Activity.java:4182)
  at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent (WindowCallbackWrapper.java:70)
  at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent (WindowCallbackWrapper.java:1)
@kjozwiak
Copy link
Member

The above requires 1.47.176 or higher for 1.47.x verification 👍

@Uni-verse
Copy link
Contributor

Uni-verse commented Jan 23, 2023

Verified on Samsung Galaxy S21 & Samsung Galaxy Tab S7 using the following version(s):

Brave	1.47.181 Chromium: 109.0.5414.87 (Official Build) (64-bit) 
Revision	2dc18eb511c56e012081b4abc9e38c81c885f7d4-refs/branch-heads/5414@{#1241}
OS	Android 13; Build/TP1A.220624.014
Brave	1.47.181 Chromium: 109.0.5414.87 (Official Build) (64-bit) 
Revision	2dc18eb511c56e012081b4abc9e38c81c885f7d4-refs/branch-heads/5414@{#1241}
OS	Android 12; Build/SP2A.220305.013
  • Verified scrolling through brave news does not cause crash
  • Verified opening multiple new tabs and changing sources for brave news does not cause crash
Example Example
screenshot-1674499248727 screenshot-1674500407883

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
crash OS/Android Fixes related to Android browser functionality priority/P2 A bad problem. We might uplift this to the next planned release. QA Pass - Android ARM QA Pass - Android Tab QA/Yes release-notes/include
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants