Fixed
Status Update
Comments
ri...@gmail.com <ri...@gmail.com> #2
We're experiencing the same issue. It seems that this issue appeared after upgrading to 24.2.0 support library.
kr...@gmail.com <kr...@gmail.com> #3
I'm having the same error in version: 24.2.0.
It's reported in Fabric, but I can't reproduce it by myself.
Fatal Exception: java.lang.IndexOutOfBoundsException: Invalid index 7, size is 7
at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255)
at java.util.ArrayList.get(ArrayList.java:308)
at android.support.design.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:848)
at android.view.View.layout(View.java:15745)
It's reported in Fabric, but I can't reproduce it by myself.
Fatal Exception: java.lang.IndexOutOfBoundsException: Invalid index 7, size is 7
at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255)
at java.util.ArrayList.get(ArrayList.java:308)
at android.support.design.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:848)
at android.view.View.layout(View.java:15745)
ra...@gmail.com <ra...@gmail.com> #4
Same issue here:
Fatal Exception: java.lang.IndexOutOfBoundsException: Invalid index 3, size is 3
at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255)
at java.util.ArrayList.get(ArrayList.java:308)
at android.support.design.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:848)
at android.view.View.layout(View.java:16737)
at android.view.ViewGroup.layout(ViewGroup.java:5597)
at android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:1197)
at android.view.View.layout(View.java:16737)
at android.view.ViewGroup.layout(ViewGroup.java:5597)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336)
at android.widget.FrameLayout.onLayout(FrameLayout.java:273)
at android.view.View.layout(View.java:16737)
at android.view.ViewGroup.layout(ViewGroup.java:5597)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336)
at android.widget.FrameLayout.onLayout(FrameLayout.java:273)
at android.view.View.layout(View.java:16737)
at android.view.ViewGroup.layout(ViewGroup.java:5597)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336)
at android.widget.FrameLayout.onLayout(FrameLayout.java:273)
at android.view.View.layout(View.java:16737)
at android.view.ViewGroup.layout(ViewGroup.java:5597)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1743)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1586)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1495)
at android.view.View.layout(View.java:16737)
at android.view.ViewGroup.layout(ViewGroup.java:5597)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336)
at android.widget.FrameLayout.onLayout(FrameLayout.java:273)
at com.android.internal.policy.PhoneWindow$DecorView.onLayout(PhoneWindow.java:2684)
at android.view.View.layout(View.java:16737)
at android.view.ViewGroup.layout(ViewGroup.java:5597)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2198)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1958)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1134)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6628)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:927)
at android.view.Choreographer.doCallbacks(Choreographer.java:727)
at android.view.Choreographer.doFrame(Choreographer.java:647)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:910)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:764)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
Fatal Exception: java.lang.IndexOutOfBoundsException: Invalid index 3, size is 3
at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255)
at java.util.ArrayList.get(ArrayList.java:308)
at android.support.design.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:848)
at android.view.View.layout(View.java:16737)
at android.view.ViewGroup.layout(ViewGroup.java:5597)
at android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:1197)
at android.view.View.layout(View.java:16737)
at android.view.ViewGroup.layout(ViewGroup.java:5597)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336)
at android.widget.FrameLayout.onLayout(FrameLayout.java:273)
at android.view.View.layout(View.java:16737)
at android.view.ViewGroup.layout(ViewGroup.java:5597)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336)
at android.widget.FrameLayout.onLayout(FrameLayout.java:273)
at android.view.View.layout(View.java:16737)
at android.view.ViewGroup.layout(ViewGroup.java:5597)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336)
at android.widget.FrameLayout.onLayout(FrameLayout.java:273)
at android.view.View.layout(View.java:16737)
at android.view.ViewGroup.layout(ViewGroup.java:5597)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1743)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1586)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1495)
at android.view.View.layout(View.java:16737)
at android.view.ViewGroup.layout(ViewGroup.java:5597)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:336)
at android.widget.FrameLayout.onLayout(FrameLayout.java:273)
at com.android.internal.policy.PhoneWindow$DecorView.onLayout(PhoneWindow.java:2684)
at android.view.View.layout(View.java:16737)
at android.view.ViewGroup.layout(ViewGroup.java:5597)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2198)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1958)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1134)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6628)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:927)
at android.view.Choreographer.doCallbacks(Choreographer.java:727)
at android.view.Choreographer.doFrame(Choreographer.java:647)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:910)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:764)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
al...@android.com <al...@android.com>
[Deleted User] <[Deleted User]> #5
[Comment deleted]
al...@android.com <al...@android.com>
ch...@google.com <ch...@google.com> #6
Fixed in the 24.2.1 of the support library
ap...@gmail.com <ap...@gmail.com> #7
[Comment deleted]
Description
Version used: 24.2.0
Theme used: Theme.AppCompat.Light.DarkActionBar
Devices/Android versions reproduced on: Moto G with Android 6.0.1, Motorola Xoom with Android 4.4.4
- Relevant code to trigger the issue.
Step 1: Create CoordinatorLayout (id of coordinator_layout) with Toolbar, RelativeLayout in XML
Step 2: Anywhere in a activity, show and immediately dismiss a Snackbar
coordinatorLayout = (CoordinatorLayout) findViewById(R.id.coordinator_layout);
Snackbar snackBar = Snackbar.make(coordinatorLayout, "Sample", Snackbar.LENGTH_INDEFINITE);
snackBar.show();
snackBar.dismiss();
Step 3: java.lang.IndexOutOfBoundsException: Invalid index 3, size is 3 from CoordinatorLayout.onLayout() (full exception attached in exception.txt)
Please also see the attached code sample (MyApplication.zip), I have implemented Step 1 and triggered Step 2 when tapping a FAB so there isn't a crash on start up.
Tab the FAB in the sample to reproduce the IndexOutOfBoundsException.
The issue is NOT triggered when:
1. Using an old Support Library version (v24.1.1)
2. Creating a layout without a Toolbar and RelativeLayout, i.e. a CoordinatorLayout without any children
My actual app flow creates a SnackBar with LENGTH_INDEFINITE, then before showing a BottomSheet it dismisses itself, this invokes a crash around 1/10 times depending on timing of the BottomSheet opening (more susceptible to exception when SnackBar is just being shown or about to dismiss). However, the sample attached is a trivial way to get the same issue.