Crash toggling incognito mode in Android horizontal tab switcher during scrolling |
|||||||
Issue descriptionCaused by https://chromium-review.googlesource.com/c/1096489/: I added this line to NonOverlappingStack#runSwitchAwayAnimation(): startAnimation(0, OverviewAnimationType.UNDISCARD); Passing 0 for the time causes a crash if this is called during scrolling (we subtract the current time from this and look up a negative value in an array). We need to pass the correct time here.
,
Jun 14 2018
This bug requires manual review: M68 has already been promoted to the beta branch, so this requires manual review Please contact the milestone owner if you have questions. Owners: cmasso@(Android), kariahda@(iOS), bhthompson@(ChromeOS), abdulsyed@(Desktop) For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Jun 14 2018
Hit this crash while toggling incognito mode in Horizontal tab switcher but not very consistent Crash report: https://crash.corp.google.com/browse?stbtiq=57d7fe30f3933ce9 Build: 69.0.3457.4, Samsung J2 / L Thread 52java.lang.ArrayIndexOutOfBoundsException: length=101; index=-1414173 at org.chromium.chrome.browser.compositor.layouts.phone.stack.StackScroller$SplineStackScroller.update (StackScroller.java:708 ) at org.chromium.chrome.browser.compositor.layouts.phone.stack.StackScroller.computeScrollOffset (StackScroller.java:178 ) at org.chromium.chrome.browser.compositor.layouts.phone.stack.Stack.stopScrollingMovement (Stack.java:1747 ) at org.chromium.chrome.browser.compositor.layouts.phone.stack.Stack.startAnimation$5154ORRICSNM6Q3IDTMMITBD5THMGSJFDLIIUOJIDTRN6PBI5THMURBGDTPMIT3FE8NMOOBPDTQN8SPFE1K6URJ55TPN8OB3DCNL6T31CDLK2RJ9DLGN8QBFDOI4UTJ5E9R6IPBN85N6IRB1EHKMURIKF5O6AEQ995D2ILG_0 (Stack.java:512 ) at org.chromium.chrome.browser.compositor.layouts.phone.stack.Stack.startAnimation$5154ORRICSNM6Q3IDTMMITBD5THMGSJFDLIIUOJIDTRN6PBI5THMURBGDTPMIT3FE8NMOOBPDTQN8SPFE1K6URJ55TPN8OB3DCNL6T31CDLK2RJ9DLGN8QBFDOI4UTJ5E9R6IPBN85N6IRB1EHKMURIKF5O6AEQ9B8KLC___0 (Stack.java:502 ) at org.chromium.chrome.browser.compositor.layouts.phone.stack.Stack.startAnimation$5154ORRICSNM6Q3IDTMMITBD5THMGSJFDLIIUOJIDTRN6PBI5THMURBGDTPMIT3FE8NMOOBPDTQN8SPFE1K6URJ55TPN8OB3DCNL6T31CDLK2RJ9DLGN8QBFDOI4UTJ5E9R6IPBN85N6IRB1EHKMURIKF5O6AEP9AO______0 (Stack.java:478 ) at org.chromium.chrome.browser.compositor.layouts.phone.stack.NonOverlappingStack.runSwitchAwayAnimation (NonOverlappingStack.java:345 ) at org.chromium.chrome.browser.compositor.layouts.phone.StackLayout.onTabModelSwitched (StackLayout.java:122 ) at org.chromium.chrome.browser.compositor.layouts.LayoutManager.tabModelSwitched (LayoutManager.java:624 ) at org.chromium.chrome.browser.compositor.layouts.LayoutManager$2.onTabModelSelected (LayoutManager.java:454 ) at org.chromium.chrome.browser.tabmodel.TabModelSelectorBase.selectModel (TabModelSelectorBase.java:86 ) at org.chromium.chrome.browser.tabmodel.TabModelSelectorImpl.selectModel (TabModelSelectorImpl.java:230 ) at org.chromium.chrome.browser.ChromeTabbedActivity$$Lambda$3.onClick (ChromeTabbedActivity.java ) at org.chromium.chrome.browser.toolbar.ToolbarPhone.onClick (ToolbarPhone.java:603 ) at android.view.View.performClick (View.java:5106 ) at android.view.View$PerformClick.run (View.java:20329 ) at android.os.Handler.handleCallback (Handler.java:739 ) at android.os.Handler.dispatchMessage (Handler.java:95 ) at android.os.Looper.loop (Looper.java:135 ) at android.app.ActivityThread.main (ActivityThread.java:5912 ) at java.lang.reflect.Method.invoke (Method.java ) at java.lang.reflect.Method.invoke (Method.java:372 ) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1405 ) at com.android.internal.os.ZygoteInit.main
,
Jun 14 2018
I'm actually going to need to change this piece of code again to fix crbug.com/853034, so no need to merge this CL
,
Jun 14 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9671ef021a084c0e97bb5a3f1fb4211cff554ad0 commit 9671ef021a084c0e97bb5a3f1fb4211cff554ad0 Author: Ryan Landay <rlanday@chromium.org> Date: Thu Jun 14 23:09:51 2018 Fix crash toggling incognito in Android horizontal tab switcher while scrolling In https://chromium-review.googlesource.com/c/1096489/, I added this line to NonOverlappingStack#runSwitchAwayAnimation() to fix another bug (tabs getting stuck in a partially-discarded state): startAnimation(0, OverviewAnimationType.UNDISCARD); It turns out that if this is called while the tabs are scrolling, StackScroller subtracts the scroller start time from 0 and ends up looking up a negative value in the SPLINE_POSITION array. This CL fixes this crash by passing the correct time here. Bug: 852995 ,831359 Change-Id: I0186cb9180ef4fff84bf1440acdfd87bc63c47f2 Reviewed-on: https://chromium-review.googlesource.com/1101906 Reviewed-by: Matthew Jones <mdjones@chromium.org> Commit-Queue: Ryan Landay <rlanday@chromium.org> Cr-Commit-Position: refs/heads/master@{#567464} [modify] https://crrev.com/9671ef021a084c0e97bb5a3f1fb4211cff554ad0/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/stack/NonOverlappingStack.java
,
Jun 14 2018
Issue 853022 has been merged into this issue.
,
Jun 15 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/39cfa034e47e727f4e099912f07fde3ebc7968eb commit 39cfa034e47e727f4e099912f07fde3ebc7968eb Author: Ryan Landay <rlanday@chromium.org> Date: Fri Jun 15 16:12:07 2018 Fix jerky incognito toggle animation in Android horizontal tab switcher In https://chromium-review.googlesource.com/1096489, I added a fix for an issue where a tab could get stuck in a partially-discarded state if you started dragging it and then tapped the incognito button while you still had your finger down. Unfortunately, my original fix for the issue, which was to start an undiscard animation in NonOverlappingStack#runSwitchAwayAnimation(), is a bad idea, since that animation animates the StackTabs' scroll offsets, conflicting with the incognito animation, causing animation jankiness. This CL replaces the call to start the discard animation with a loop that just sets each tab's scroll offset to 0. Bug: 853034, 852995 ,831359 Change-Id: I4b6e34bf68afb9ce025e3272c0c0816f84f8b48e Reviewed-on: https://chromium-review.googlesource.com/1102115 Reviewed-by: Matthew Jones <mdjones@chromium.org> Commit-Queue: Ryan Landay <rlanday@chromium.org> Cr-Commit-Position: refs/heads/master@{#567675} [modify] https://crrev.com/39cfa034e47e727f4e099912f07fde3ebc7968eb/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/stack/NonOverlappingStack.java
,
Jun 18 2018
,
Jun 18 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/bf9db77fc6dbd884206a2c02ed590d11e5b693f1 commit bf9db77fc6dbd884206a2c02ed590d11e5b693f1 Author: Ryan Landay <rlanday@chromium.org> Date: Mon Jun 18 23:23:18 2018 Fix jerky incognito toggle animation in Android horizontal tab switcher In https://chromium-review.googlesource.com/1096489, I added a fix for an issue where a tab could get stuck in a partially-discarded state if you started dragging it and then tapped the incognito button while you still had your finger down. Unfortunately, my original fix for the issue, which was to start an undiscard animation in NonOverlappingStack#runSwitchAwayAnimation(), is a bad idea, since that animation animates the StackTabs' scroll offsets, conflicting with the incognito animation, causing animation jankiness. This CL replaces the call to start the discard animation with a loop that just sets each tab's scroll offset to 0. TBR=rlanday@chromium.org (cherry picked from commit 39cfa034e47e727f4e099912f07fde3ebc7968eb) Bug: 853034, 852995 ,831359 Change-Id: I4b6e34bf68afb9ce025e3272c0c0816f84f8b48e Reviewed-on: https://chromium-review.googlesource.com/1102115 Reviewed-by: Matthew Jones <mdjones@chromium.org> Commit-Queue: Ryan Landay <rlanday@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#567675} Reviewed-on: https://chromium-review.googlesource.com/1105458 Reviewed-by: Ryan Landay <rlanday@chromium.org> Cr-Commit-Position: refs/branch-heads/3440@{#433} Cr-Branched-From: 010ddcfda246975d194964ccf20038ebbdec6084-refs/heads/master@{#561733} [modify] https://crrev.com/bf9db77fc6dbd884206a2c02ed590d11e5b693f1/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/phone/stack/NonOverlappingStack.java
,
Jun 27 2018
I didnt hit this crash on 68.0.3440.40 - Samsung J1/L, marking it verified. |
|||||||
►
Sign in to add a comment |
|||||||
Comment 1 by rlanday@chromium.org
, Jun 14 2018