Status Update
Comments
pa...@google.com <pa...@google.com> #2
he...@gmail.com <he...@gmail.com> #3
This issie initially appeared on a Samsung Galaxy Ace with 2.3.3, but after testing it in an Android emulator, it also appeared. The dificulty to reproduce this is because it only seems to happen after a crash of the app (either by OOM or some other bug), and we Android tries to recreate the app, it crashes again with the "ClassNotFoundException when unmarshalling".
Also, we're having another crash similar to this, but in AppBarLayout.Behaviour:
Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1658)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1674)
at android.app.ActivityThread.access$1500(ActivityThread.java:117)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:942)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3735)
at java.lang.reflect.Method.invokeNative(Method.java)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:662)
at dalvik.system.NativeStart.main(NativeStart.java)
Caused by android.os.BadParcelableException: ClassNotFoundException when unmarshalling: android.support.design.widget.AppBarLayout$Behavior$SavedState
at android.os.Parcel.readParcelable(Parcel.java:1958)
at android.os.Parcel.readParcelableArray(Parcel.java:1997)
at android.support.design.widget.CoordinatorLayout$SavedState.<init>(CoordinatorLayout.java:2604)
at android.support.design.widget.CoordinatorLayout$SavedState$1.createFromParcel(CoordinatorLayout.java:2639)
at android.support.design.widget.CoordinatorLayout$SavedState$1.createFromParcel(CoordinatorLayout.java:2636)
at android.support.v4.os.ParcelableCompat$CompatCreator.createFromParcel(ParcelableCompat.java:51)
at android.os.Parcel.readParcelable(Parcel.java:1981)
at android.os.Parcel.readValue(Parcel.java:1846)
at android.os.Parcel.readSparseArrayInternal(Parcel.java:2112)
at android.os.Parcel.readSparseArray(Parcel.java:1568)
at android.os.Parcel.readValue(Parcel.java:1903)
at android.os.Parcel.readMapInternal(Parcel.java:2083)
at android.os.Bundle.unparcel(Bundle.java:208)
at android.os.Bundle.getSparseParcelableArray(Bundle.java:1175)
at com.android.internal.policy.impl.PhoneWindow.restoreHierarchyState(PhoneWindow.java:1517)
at android.app.Activity.onRestoreInstanceState(Activity.java:844)
at android.app.Activity.performRestoreInstanceState(Activity.java:816)
at android.app.Instrumentation.callActivityOnRestoreInstanceState(Instrumentation.java:1096)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1636)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1674)
at android.app.ActivityThread.access$1500(ActivityThread.java:117)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:942)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3735)
at java.lang.reflect.Method.invokeNative(Method.java)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:662)
at dalvik.system.NativeStart.main(NativeStart.java)
Thanks in advance.
pa...@google.com <pa...@google.com> #4
ge...@gmail.com <ge...@gmail.com> #5
pe...@gmail.com <pe...@gmail.com> #6
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.rusdelphi.wifipassword/com.rusdelphi.wifipassword.MainActivity}: android.os.BadParcelableException: ClassNotFoundException when unmarshalling: android.support.design.widget.AppBarLayout$Behavior$SavedState
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1735)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1754)
at android.app.ActivityThread.access$1500(ActivityThread.java:156)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1000)
at android.os.Handler.dispatchMessage(Handler.java:130)
at android.os.Looper.loop(SourceFile:351)
at android.app.ActivityThread.main(ActivityThread.java:3821)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:538)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:969)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:727)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.os.BadParcelableException: ClassNotFoundException when unmarshalling: android.support.design.widget.AppBarLayout$Behavior$SavedState
at android.os.Parcel.readParcelable(Parcel.java:1989)
at android.os.Parcel.readParcelableArray(Parcel.java:2028)
at android.support.design.widget.CoordinatorLayout$SavedState.<init>(Unknown Source)
at android.support.design.widget.CoordinatorLayout$SavedState$1.createFromParcel(Unknown Source)
at android.support.design.widget.CoordinatorLayout$SavedState$1.createFromParcel(Unknown Source)
at android.support.v4.e.d.createFromParcel(Unknown Source)
at android.os.Parcel.readParcelable(Parcel.java:2012)
at android.os.Parcel.readValue(Parcel.java:1877)
at android.os.Parcel.readSparseArrayInternal(Parcel.java:2143)
at android.os.Parcel.readSparseArray(Parcel.java:1599)
at android.os.Parcel.readValue(Parcel.java:1934)
at android.os.Parcel.readMapInternal(Parcel.java:2114)
at android.os.Bundle.unparcel(Bundle.java:239)
at android.os.Bundle.getSparseParcelableArray(Bundle.java:1198)
at com.android.internal.policy.impl.PhoneWindow.restoreHierarchyState(PhoneWindow.java:1538)
at android.app.Activity.onRestoreInstanceState(Activity.java:880)
at android.app.Activity.performRestoreInstanceState(Activity.java:852)
at android.app.Instrumentation.callActivityOnRestoreInstanceState(Instrumentation.java:1132)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1713)
... 11 more
pe...@gmail.com <pe...@gmail.com> #7
<android.support.v4.widget.DrawerLayout xmlns:android="
xmlns:app="
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<RelativeLayout
android:id="@+id/MainView"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:theme="@style/ThemeOverlay.AppCompat.Dark" />
<LinearLayout
android:id="@+id/ad_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center|bottom"
android:orientation="vertical" />
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:theme="@style/ThemeOverlay.AppCompat.Dark"
app:tabGravity="fill" />
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_margin="@dimen/fab_margin"
android:layout_marginBottom="@dimen/activity_vertical_margin"
android:layout_marginRight="@dimen/activity_horizontal_margin"
android:onClick="onAddButtonClick"
android:src="@drawable/ic_add_black_24dp"
android:visibility="invisible"
app:layout_behavior="com.rusdelphi.wifipassword.FABScrollBehavior" />
</RelativeLayout>
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
app:menu="@menu/drawer_view" />
</android.support.v4.widget.DrawerLayout>
ky...@gmail.com <ky...@gmail.com> #8
ge...@gmail.com <ge...@gmail.com> #9
Another stacktrace, in case it could bring some more info:
java.lang.RuntimeException: Unable to start activity ComponentInfo{org.videolan.vlc/org.videolan.vlc.gui.MainActivity}: android.os.BadParcelableException: ClassNotFoundException when unmarshalling: android.support.v7.widget.RecyclerView$SavedState
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1696)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1716)
at android.app.ActivityThread.access$1500(ActivityThread.java:124)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:968)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3806)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
at dalvik.system.NativeStart.main(Native Method)
at Android.MODEL(MB855)
at Android.VERSION(2.3.5)
at Android.FINGERPRINT(sprint/moto_sunfire/sunfire:2.3.5/4.5.1A-1_SUN-254_13/CM:user/release-keys)
Caused by: android.os.BadParcelableException: ClassNotFoundException when unmarshalling: android.support.v7.widget.RecyclerView$SavedState
at android.os.Parcel.readParcelable(Parcel.java:1958)
at android.os.Parcel.readValue(Parcel.java:1846)
at android.os.Parcel.readSparseArrayInternal(Parcel.java:2112)
at android.os.Parcel.readSparseArray(Parcel.java:1568)
at android.os.Parcel.readValue(Parcel.java:1903)
at android.os.Parcel.readMapInternal(Parcel.java:2083)
at android.os.Bundle.unparcel(Bundle.java:208)
at android.os.Bundle.getSparseParcelableArray(Bundle.java:1167)
at android.support.design.internal.NavigationMenuPresenter.onRestoreInstanceState(NavigationMenuPresenter.java:175)
at android.support.v7.view.menu.MenuBuilder.dispatchRestoreInstanceState(MenuBuilder.java:349)
at android.support.v7.view.menu.MenuBuilder.restorePresenterStates(MenuBuilder.java:361)
at android.support.design.widget.NavigationView.onRestoreInstanceState(NavigationView.java:191)
at android.view.View.dispatchRestoreInstanceState(View.java:6278)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1211)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1215)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1215)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1215)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1215)
at android.view.View.restoreHierarchyState(View.java:6257)
at com.android.internal.policy.impl.PhoneWindow.restoreHierarchyState(PhoneWindow.java:1724)
at android.app.Activity.onRestoreInstanceState(Activity.java:868)
at android.app.Activity.performRestoreInstanceState(Activity.java:840)
at android.app.Instrumentation.callActivityOnRestoreInstanceState(Instrumentation.java:1096)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1674)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1716)
at android.app.ActivityThread.access$1500(ActivityThread.java:124)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:968)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3806)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
at dalvik.system.NativeStart.main(Native Method)
pa...@google.com <pa...@google.com> #10
ky...@gmail.com <ky...@gmail.com> #11
Are you aware of any work arounds for this issue?
We considered explicitly setting the class loader during the saving of the state in hopes that might fix it. But, we're not sure of any additional ramifications that might have on saving state.
And, it's not specific to just Android 2, though, this is mostly the case.
97% Android 2
1% Android 4
1% Android 3
1% Other
Any advice would be greatly appreciated.
ch...@google.com <ch...@google.com>
yb...@google.com <yb...@google.com> #12
The SavedState was not public on an earlier version of the library which could cause this issue but it is already fixed now (+ 23.1.1 should have it public).
Another thing to check might be the proguard setup to ensure that the SavedState class is not being stripped.
ky...@gmail.com <ky...@gmail.com> #13
-keep class android.support.design.widget.AppBarLayout$Behavior$SavedState { *; }
-keep class android.support.design.widget.CoordinatorLayout$SavedState { *; }
When looking through the mapping files, SavedState seems to be preserved. But, I could be misreading it.
ky...@gmail.com <ky...@gmail.com> #14
Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.sirma.mobile.bible.android/com.youversion.ui.MainActivity}: android.os.BadParcelableException: ClassNotFoundException when unmarshalling: android.support.design.widget.AppBarLayout$Behavior$SavedState
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1829)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1848)
at android.app.ActivityThread.access$1500(ActivityThread.java:177)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1041)
at android.os.Handler.dispatchMessage(Handler.java:130)
at android.os.Looper.loop(Looper.java:384)
at android.app.ActivityThread.main(ActivityThread.java:3975)
at java.lang.reflect.Method.invokeNative(Method.java)
at java.lang.reflect.Method.invoke(Method.java:538)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:978)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:732)
at dalvik.system.NativeStart.main(NativeStart.java)
Caused by android.os.BadParcelableException: ClassNotFoundException when unmarshalling: android.support.design.widget.AppBarLayout$Behavior$SavedState
at android.os.Parcel.readParcelable(Parcel.java:1989)
at android.os.Parcel.readParcelableArray(Parcel.java:2028)
at android.support.design.widget.CoordinatorLayout$SavedState.<init>(CoordinatorLayout.java:2604)
at android.support.design.widget.CoordinatorLayout$SavedState$1.a(CoordinatorLayout.java:2639)
at android.support.design.widget.CoordinatorLayout$SavedState$1.b(CoordinatorLayout.java:2636)
at android.support.v4.os.j.createFromParcel(ParcelableCompat.java:51)
at android.os.Parcel.readParcelable(Parcel.java:2012)
at android.os.Parcel.readValue(Parcel.java:1877)
at android.os.Parcel.readSparseArrayInternal(Parcel.java:2143)
at android.os.Parcel.readSparseArray(Parcel.java:1599)
at android.os.Parcel.readValue(Parcel.java:1934)
at android.os.Parcel.readMapInternal(Parcel.java:2114)
at android.os.Bundle.unparcel(Bundle.java:239)
at android.os.Bundle.getSparseParcelableArray(Bundle.java:1198)
at com.android.internal.policy.impl.PhoneWindow.restoreHierarchyState(PhoneWindow.java:1544)
at android.app.Activity.onRestoreInstanceState(Activity.java:880)
at com.youversion.ui.MainActivity.onRestoreInstanceState(MainActivity.java:302)
at android.app.Activity.performRestoreInstanceState(Activity.java:852)
at android.app.Instrumentation.callActivityOnRestoreInstanceState(Instrumentation.java:1199)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1807)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1848)
at android.app.ActivityThread.access$1500(ActivityThread.java:177)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1041)
at android.os.Handler.dispatchMessage(Handler.java:130)
at android.os.Looper.loop(Looper.java:384)
at android.app.ActivityThread.main(ActivityThread.java:3975)
at java.lang.reflect.Method.invokeNative(Method.java)
at java.lang.reflect.Method.invoke(Method.java:538)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:978)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:732)
at dalvik.system.NativeStart.main(NativeStart.java)
xc...@gmail.com <xc...@gmail.com> #15
public class FixedNavigationView extends NavigationView {
public FixedNavigationView(Context context) {
super(context);
}
public FixedNavigationView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public FixedNavigationView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@Override
final protected void onRestoreInstanceState(Parcelable savedState) {
if (savedState != null) {
SavedState state = (SavedState) savedState;
if (state.menuState != null)
state.menuState.setClassLoader(getContext().getClass().getClassLoader());
}
super.onRestoreInstanceState(savedState);
}
}
pe...@gmail.com <pe...@gmail.com> #16
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1651)
xc...@gmail.com <xc...@gmail.com> #17
pe...@gmail.com <pe...@gmail.com> #18
he...@gmail.com <he...@gmail.com> #19
And, where are having this issue not only on Adnroid 2, but also on 3, 4 and even Lolipop!
fa...@gmail.com <fa...@gmail.com> #20
FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.fabiano.ifprof/com.example.fabiano.ifprof.ShowFaltas}: android.os.BadParcelableException: ClassNotFoundException when unmarshalling: android.support.v7.widget.RecyclerView$SavedState
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1651)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
at android.app.ActivityThread.access$1500(ActivityThread.java:117)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3687)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.os.BadParcelableException: ClassNotFoundException when unmarshalling: android.support.v7.widget.RecyclerView$SavedState
at android.os.Parcel.readParcelable(Parcel.java:1958)
at android.os.Parcel.readValue(Parcel.java:1846)
at android.os.Parcel.readSparseArrayInternal(Parcel.java:2112)
at android.os.Parcel.readSparseArray(Parcel.java:1568)
at android.os.Parcel.readValue(Parcel.java:1903)
at android.os.Parcel.readMapInternal(Parcel.java:2083)
at android.os.Bundle.unparcel(Bundle.java:208)
at android.os.Bundle.getSparseParcelableArray(Bundle.java:1167)
at android.support.design.internal.NavigationMenuPresenter.onRestoreInstanceState(NavigationMenuPresenter.java:175)
at android.support.v7.view.menu.MenuBuilder.dispatchRestoreInstanceState(MenuBuilder.java:349)
at android.support.v7.view.menu.MenuBuilder.restorePresenterStates(MenuBuilder.java:361)
at android.support.design.widget.NavigationView.onRestoreInstanceState(NavigationView.java:191)
at android.view.View.dispatchRestoreInstanceState(View.java:6278)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1211)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1215)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1215)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1215)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1215)
at android.view.View.restoreHierarchyState(View.java:6257)
at com.android.internal.policy.impl.PhoneWindow.restoreHierarchyState(PhoneWindow.java:1606)
at android.app.Activity.onRestoreInstanceState(Activity.java:847)
at android.app.Activity.performRestoreInstanceState(Activity.java:819)
at android.app.Instrumentation.callActivityOnRestoreInstanceState(Instrumentation.java:1096)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1629)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
at android.app.ActivityThread.access$1500(ActivityThread.java:117)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3687)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
at dalvik.system.NativeStart.main(Native Method)
os...@gmail.com <os...@gmail.com> #21
Stacktrace:
E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.oscarsalguero.myapp/com.oscarsalguero.myapp.view.MainActivity}: android.os.BadParcelableException: ClassNotFoundException when unmarshalling: android.support.v7.widget.RecyclerView$SavedState
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1651)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
at android.app.ActivityThread.access$1500(ActivityThread.java:117)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3687)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.os.BadParcelableException: ClassNotFoundException when unmarshalling: android.support.v7.widget.RecyclerView$SavedState
at android.os.Parcel.readParcelable(Parcel.java:1958)
at android.os.Parcel.readValue(Parcel.java:1846)
at android.os.Parcel.readSparseArrayInternal(Parcel.java:2112)
at android.os.Parcel.readSparseArray(Parcel.java:1568)
at android.os.Parcel.readValue(Parcel.java:1903)
at android.os.Parcel.readMapInternal(Parcel.java:2083)
at android.os.Bundle.unparcel(Bundle.java:208)
at android.os.Bundle.getSparseParcelableArray(Bundle.java:1167)
at android.support.design.internal.NavigationMenuPresenter.onRestoreInstanceState(NavigationMenuPresenter.java:175)
at android.support.v7.view.menu.MenuBuilder.dispatchRestoreInstanceState(MenuBuilder.java:349)
at android.support.v7.view.menu.MenuBuilder.restorePresenterStates(MenuBuilder.java:361)
at android.support.design.widget.NavigationView.onRestoreInstanceState(NavigationView.java:191)
at android.view.View.dispatchRestoreInstanceState(View.java:6336)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1211)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1215)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1215)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1215)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1215)
at android.view.View.restoreHierarchyState(View.java:6315)
at com.android.internal.policy.impl.PhoneWindow.restoreHierarchyState(PhoneWindow.java:1528)
at android.app.Activity.onRestoreInstanceState(Activity.java:844)
at com.oscarsalguero.myapp.view.MainActivity.onRestoreInstanceState(MainActivity.java:350)
at android.app.Activity.performRestoreInstanceState(Activity.java:816)
at android.app.Instrumentation.callActivityOnRestoreInstanceState(Instrumentation.java:1096)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1629)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
at android.app.ActivityThread.access$1500(ActivityThread.java:117)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3687)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
at dalvik.system.NativeStart.main(Native Method)
[ 01-10 23:09:59.304 32107:0x7d81 E/ ]
Dumpstate > /data/log/dumpstate_app_error
It does not happen on a Nexus 5X running Marshmallow 6.0.1.
It does not happen on a Nexus 5 running KitKat 4.4.4.
The exception happens on a Samsung Galaxy S running Android OS 2.3.6 (Gingerbread).
It happens when coming back to the app from other app and it is kinda random, sometimes it crashes, sometimes it does not.
ov...@gmail.com <ov...@gmail.com> #22
br...@gmail.com <br...@gmail.com> #23
Stack trace:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.ovm.ovmapp/com.ovm.ovmapp.ovm.MainActivity}: android.os.BadParcelableException: ClassNotFoundException when unmarshalling: android.support.v7.widget.RecyclerView$SavedState
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1651)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
at android.app.ActivityThread.access$1500(ActivityThread.java:117)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:3687)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.os.BadParcelableException: ClassNotFoundException when unmarshalling: android.support.v7.widget.RecyclerView$SavedState
at android.os.Parcel.readParcelable(Parcel.java:1958)
at android.os.Parcel.readValue(Parcel.java:1846)
at android.os.Parcel.readSparseArrayInternal(Parcel.java:2112)
at android.os.Parcel.readSparseArray(Parcel.java:1568)
at android.os.Parcel.readValue(Parcel.java:1903)
at android.os.Parcel.readMapInternal(Parcel.java:2083)
at android.os.Bundle.unparcel(Bundle.java:208)
at android.os.Bundle.getSparseParcelableArray(Bundle.java:1167)
at android.support.design.internal.NavigationMenuPresenter.onRestoreInstanceState(NavigationMenuPresenter.java:175)
at android.support.v7.view.menu.MenuBuilder.dispatchRestoreInstanceState(MenuBuilder.java:349)
at android.support.v7.view.menu.MenuBuilder.restorePresenterStates(MenuBuilder.java:361)
at android.support.design.widget.NavigationView.onRestoreInstanceState(NavigationView.java:191)
at android.view.View.dispatchRestoreInstanceState(View.java:6331)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1211)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1215)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1215)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1215)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1215)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1215)
at android.view.View.restoreHierarchyState(View.java:6310)
at com.android.internal.policy.impl.PhoneWindow.restoreHierarchyState(PhoneWindow.java:1532)
at android.app.Activity.onRestoreInstanceState(Activity.java:844)
at android.app.Activity.performRestoreInstanceState(Activity.java:816)
at android.app.Instrumentation.callActivityOnRestoreInstanceState(Instrumentation.java:1096)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1629)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
at android.app.ActivityThread.access$1500(ActivityThread.java:117)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:3687)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
at dalvik.system.NativeStart.main(Native Method)
I have a setup like this:
MainActivity -> SecondActivity -> ThirdActivity
I am able to reproduce the issue by forcing ThirdActivity to crash, which lands me back on SecondActivity, and then navigate back to MainActivity.
MainActivity has a NavigationView which seems to be the source.
I was able to reproduce this on android 2.3.3, but not on 4.3.
ww...@gmail.com <ww...@gmail.com> #24
I have been getting this annoying crash for quite some time now. This is the #1 crash in my production apk. I even posted a question on stackoverflow:
but, unfortunately do not have an answer yet. This is the foremost and only crash in my analytics and google developer console.
ww...@gmail.com <ww...@gmail.com> #25
fa...@gmail.com <fa...@gmail.com> #27
kh...@gmail.com <kh...@gmail.com> #28
xd...@gmail.com <xd...@gmail.com> #29
al...@gmail.com <al...@gmail.com> #30
I can reproduce it in a 2.3.6 device after a crash, similar to
kh...@gmail.com <kh...@gmail.com> #31
he...@gmail.com <he...@gmail.com> #32
ib...@gmail.com <ib...@gmail.com> #33
ib...@gmail.com <ib...@gmail.com> #34
Here is my Logcat:
Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1651)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
at android.app.ActivityThread.access$1500(ActivityThread.java:117)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3687)
at java.lang.reflect.Method.invokeNative(Method.java)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
at dalvik.system.NativeStart.main(NativeStart.java)
Caused by android.os.BadParcelableException: ClassNotFoundException when unmarshalling: android.support.design.widget.AppBarLayout$Behavior$SavedState
at android.os.Parcel.readParcelable(Parcel.java:1958)
at android.os.Parcel.readParcelableArray(Parcel.java:1997)
at android.support.design.widget.CoordinatorLayout$SavedState.(CoordinatorLayout.java:2604)
at android.support.design.widget.CoordinatorLayout$SavedState$1.createFromParcel(CoordinatorLayout.java:4639)
at android.support.v4.os.ParcelableCompat$CompatCreator.createFromParcel(ParcelableCompat.java:51)
at android.os.Parcel.readParcelable(Parcel.java:1981)
at android.os.Parcel.readValue(Parcel.java:1846)
at android.os.Parcel.readSparseArrayInternal(Parcel.java:2112)
at android.os.Parcel.readSparseArray(Parcel.java:1568)
at android.os.Parcel.readValue(Parcel.java:1903)
at android.os.Parcel.readMapInternal(Parcel.java:2083)
at android.os.Bundle.unparcel(Bundle.java:208)
at android.os.Bundle.getSparseParcelableArray(Bundle.java:1167)
at com.android.internal.policy.impl.PhoneWindow.restoreHierarchyState(PhoneWindow.java:1605)
at android.app.Activity.onRestoreInstanceState(Activity.java:847)
at android.app.Activity.performRestoreInstanceState(Activity.java:819)
at android.app.Instrumentation.callActivityOnRestoreInstanceState(Instrumentation.java:1096)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1629)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
at android.app.ActivityThread.access$1500(ActivityThread.java:117)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3687)
at java.lang.reflect.Method.invokeNative(Method.java)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
at dalvik.system.NativeStart.main(NativeStart.java)
km...@gmail.com <km...@gmail.com> #35
RecyclerView has great animations, but other than that has been a continuing source of trouble.
km...@gmail.com <km...@gmail.com> #36
Ultimately the crash is caused by this code in AbsSavedState, below the "FIXME" where it uses null for classLoader:
protected AbsSavedState(Parcel source) {
// FIXME need class loader
Parcelable superState = source.readParcelable(null);
mSuperState = superState != null ? superState : EMPTY_STATE;
}
The "FIXME" has been there for at least 6 years, maybe 8 years:
What do you Google guys and gals think?
Is 6 years enough time to get that FIXME actually FIXED?
pa...@gmail.com <pa...@gmail.com> #37
fr...@gmail.com <fr...@gmail.com> #38
Caused by android.os.BadParcelableException: ClassNotFoundException when unmarshalling: android.support.v7.widget.RecyclerView$SavedState
at android.os.Parcel.readParcelable(Parcel.java:1958)
at android.os.Parcel.readValue(Parcel.java:1846)
at android.os.Parcel.readSparseArrayInternal(Parcel.java:2112)
at android.os.Parcel.readSparseArray(Parcel.java:1568)
at android.os.Parcel.readValue(Parcel.java:1903)
at android.os.Parcel.readMapInternal(Parcel.java:2083)
at android.os.Bundle.unparcel(Bundle.java:208)
at android.os.Bundle.getSparseParcelableArray(Bundle.java:1167)
at android.support.design.internal.NavigationMenuPresenter.onRestoreInstanceState(NavigationMenuPresenter.java:174)
at android.support.v7.view.menu.MenuBuilder.dispatchRestoreInstanceState(MenuBuilder.java:349)
at android.support.v7.view.menu.MenuBuilder.restorePresenterStates(MenuBuilder.java:361)
at android.support.design.widget.NavigationView.onRestoreInstanceState(NavigationView.java:192)
at android.view.View.dispatchRestoreInstanceState(View.java:6278)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1211)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1215)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1215)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1215)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1215)
at android.view.View.restoreHierarchyState(View.java:6257)
at com.android.internal.policy.impl.PhoneWindow.restoreHierarchyState(PhoneWindow.java:1587)
at android.app.Activity.onRestoreInstanceState(Activity.java:844)
at android.app.Activity.performRestoreInstanceState(Activity.java:816)
at android.app.Instrumentation.callActivityOnRestoreInstanceState(Instrumentation.java:1096)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1629)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
at android.app.ActivityThread.access$1500(ActivityThread.java:117)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3687)
at java.lang.reflect.Method.invokeNative(Method.java)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
at dalvik.system.NativeStart.main(NativeStart.java)
kh...@gmail.com <kh...@gmail.com> #39
pa...@gmail.com <pa...@gmail.com> #40
os...@gmail.com <os...@gmail.com> #41
Gingerbread + Froyo are just 2.7% of the Android out there (
ge...@dv-corp.ru <ge...@dv-corp.ru> #42
FATAL EXCEPTION: main java.lang.RuntimeException: Unable to start activity ComponentInfo{...}: android.os.BadParcelableException: ClassNotFoundException when unmarshalling: android.support.v7.widget.RecyclerView$SavedState
After some experiments I found that error causes only when I try to interact with the visual elements within the main thread MainActivity
I fixed my error by placing the action with the interface in a separate thread
Simple example of code with this error:
public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView infobox = (TextView) findViewById(R.id.infobox);
infobox.setText("some text");
}
}
And after creating new thread - works perfectly:
public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final Handler handler = new Handler() {
@Override
public void handleMessage(Message message) {
TextView infobox = (TextView) findViewById(R.id.infobox);
infobox.setText(message.obj);
}
};
final Thread thread = new Thread() {
@Override
public void run() {
final Message message = handler.obtainMessage(1, loadedData);
handler.sendMessage(message);
}
};
thread.setPriority(3);
thread.start();
}
}
I know that this is not the best solution, and it may not work for you, but maybe help someone else to understand a problem
ch...@google.com <ch...@google.com> #43
jo...@gmail.com <jo...@gmail.com> #44
s....@gmail.com <s....@gmail.com> #45
ch...@google.com <ch...@google.com> #46
a....@gmail.com <a....@gmail.com> #47
Can't wait to try 24.0
a....@gmail.com <a....@gmail.com> #48
ClassNotFoundException when unmarshalling: android.support.v7.widget.RecyclerView$SavedState
And I don't use RecyclerView in the project at the moment, only have a dependency on it.
Project is multi-dex, so maybe that is the issue.
But why does my MapView receive savedInstanceState that has anything about RecyclerView inside?
a....@gmail.com <a....@gmail.com> #49
try {
mapView.onCreate(savedInstancestate)
} catch (t: Throwable) {
t.printStackTrace()
}
No more crash, but looks like map doesn't fully restore in some cases
ch...@google.com <ch...@google.com> #51
View.BaseSavedState currently does not handle ClassLoaders correctly. It works fine for framework views, but not so well for Views which can come from other loaders (i.e. support lib or custom views) which is why multi-dex triggers this. The platform bug is fixed in N.
We also have a fix for the support library components in 24.0.0. They now use a new support library version of AbsSavedState which handles loaders correctly.
It's up to each View to migrate to fix the issue pre-N though.
pa...@gmail.com <pa...@gmail.com> #52
Will you write a blog post about this issue with more details and how to do that migration for custom views? Or is it just as simple as changing the import to support.vX's AbsSavedState?
ch...@google.com <ch...@google.com> #53
al...@android.com <al...@android.com> #54
ar...@gmail.com <ar...@gmail.com> #55
mt...@gmail.com <mt...@gmail.com> #56
pe...@googlemail.com <pe...@googlemail.com> #57
testing device is api 10.
sh...@gmail.com <sh...@gmail.com> #58
ch...@google.com <ch...@google.com> #59
he...@gmail.com <he...@gmail.com> #60
pe...@googlemail.com <pe...@googlemail.com> #61
pe...@googlemail.com <pe...@googlemail.com> #62
Steps to reproduce:
Open nav-bar and select Finish. The app will open the device's Camera app. Take a picture, which will save to sd card. The app will display. After a few secs, a delayed thread in onActivityResult will run, causing this error.
jo...@visualblasters.com <jo...@visualblasters.com> #63
My test device:
Samsung Galaxy S6 running Android 6.0.1
Important device environment setup!
- Enable "Do not keep activies" on the Developer options.
TIP:
Press the top back icon after setting that option enabled. If you just press the HOME button the state of the setting will NOT be saved! BUG there...
Reproducing the BadParcelableException bug:
1. Get the sample project running. [
2. Open the sample app.
3. Press the HOME button.
4. Press the sample app icon to open the app.
5. CRASHHHHHH...
LOG:
"Caused by: android.os.BadParcelableException: ClassNotFoundException when unmarshalling: android.support.v7.widget.LinearLayoutManager$SavedState"
HOPE THIS HELPS!
ch...@google.com <ch...@google.com> #64
jo...@visualblasters.com <jo...@visualblasters.com> #65
For some reason I thought the Parcelable class would properly find the correct loader.
ch...@google.com <ch...@google.com> #66
bo...@gmail.com <bo...@gmail.com> #67
gm...@gmail.com <gm...@gmail.com> #68
Caused by android.os.BadParcelableException
android.os.Parcel.readParcelable (Parcel.java:1958)
...
android.os.Bundle.unparcel (Bundle.java:208)
android.os.Bundle.getSparseParcelableArray (Bundle.java:1167)
android.support.design.internal.NavigationMenuPresenter.onRestoreInstanceState (SourceFile:174)
android.support.v7.view.menu.MenuBuilder.dispatchRestoreInstanceState (SourceFile:348)
android.support.v7.view.menu.MenuBuilder.restorePresenterStates (SourceFile:360)
android.support.design.widget.NavigationView.onRestoreInstanceState (SourceFile:197)
...
android.support.v4.app.Fragment.restoreViewState (SourceFile:475)
...
android.support.v4.app.FragmentActivity.onStart (SourceFile:615)
gs.envios.app.MainActivity.onStart (SourceFile:325)
mr...@googlemail.com <mr...@googlemail.com> #69
Galaxy S (GT-I9000)
Galaxy Ace (GT-S5830)
Galaxy S Advance (GT-I9070)
Galaxy Ace2 (GT-I8160)
Desire S (saga)
pa...@gmail.com <pa...@gmail.com> #70
gm...@gmail.com <gm...@gmail.com> #71
gm...@gmail.com <gm...@gmail.com> #72
Please work on this, I'm having a lot of issues on 2.3.x devices
ch...@google.com <ch...@google.com> #73
The 'bug' is fixed on API 11+ though.
gm...@gmail.com <gm...@gmail.com> #74
ch...@google.com <ch...@google.com> #75
rm...@gmail.com <rm...@gmail.com> #77
With 24.2.0 I'm still getting (in API<=11):
android.os.BadParcelableException: ClassNotFoundException when unmarshalling: android.support.design.widget.AppBarLayout$Behavior$SavedState
As in the previous post from Dec 7, 2015.
an...@gmail.com <an...@gmail.com> #78
pa...@gmail.com <pa...@gmail.com> #79
ar...@gmail.com <ar...@gmail.com> #81
phone_model: GT-I9070
android_version: 2.3.6
'com.android.support:design:25.0.1'
'com.android.support:appcompat-v7:25.0.1'
'com.android.support:cardview-v7:25.0.1'
'com.android.support:recyclerview-v7:25.0.1'
stacktrace:java.lang.RuntimeException: Unable to start activity ComponentInfo{xxx}: android.os.BadParcelableException: ClassNotFoundException when unmarshalling: android.support.design.widget.AppBarLayout$Behavior$SavedState
ar...@gmail.com <ar...@gmail.com> #82
Pelase help to confirm it.
wo...@gmail.com <wo...@gmail.com> #83
ro...@gmail.com <ro...@gmail.com> #84
Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{lt.tele2.tsa/lt.tele2.tsa.activities.MainActivity}: android.os.BadParcelableException: ClassNotFoundException when unmarshalling: android.support.v7.widget.RecyclerView$SavedState
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2493)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2576)
at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:4191)
at android.app.ActivityThread.access$1100(ActivityThread.java:155)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1427)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5539)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by android.os.BadParcelableException: ClassNotFoundException when unmarshalling: android.support.v7.widget.RecyclerView$SavedState
at android.os.Parcel.readParcelableCreator(Parcel.java:2432)
at android.os.Parcel.readParcelable(Parcel.java:2358)
at android.os.Parcel.readValue(Parcel.java:2264)
at android.os.Parcel.readSparseArrayInternal(Parcel.java:2675)
at android.os.Parcel.readSparseArray(Parcel.java:1967)
at android.os.Parcel.readValue(Parcel.java:2321)
at android.os.Parcel.readArrayMapInternal(Parcel.java:2614)
at android.os.BaseBundle.unparcel(BaseBundle.java:221)
at android.os.Bundle.getSparseParcelableArray(Bundle.java:856)
at com.android.internal.policy.PhoneWindow.restoreHierarchyState(PhoneWindow.java:2038)
at android.app.Activity.onRestoreInstanceState(Activity.java:1013)
at android.app.Activity.performRestoreInstanceState(Activity.java:968)
at android.app.Instrumentation.callActivityOnRestoreInstanceState(Instrumentation.java:1175)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2466)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2576)
at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:4191)
at android.app.ActivityThread.access$1100(ActivityThread.java:155)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1427)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5539)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
br...@gmail.com <br...@gmail.com> #85
ma...@gmail.com <ma...@gmail.com> #86
ma...@gmail.com <ma...@gmail.com> #87
ha...@gmail.com <ha...@gmail.com> #88
ha...@gmail.com <ha...@gmail.com> #89
ma...@gmail.com <ma...@gmail.com> #90
This is a large issue on low-end devices (less RAM and therefore this issue will happen significantly more frequently). Is there any kind of a known workaround / fix?
ha...@gmail.com <ha...@gmail.com> #91
Just start the app with "don't keep activity" option. Click on a item on the list to start another Activity, then wait a few seconds to ensure that the previous activity has been destroyed, and then press the back button to come back to the previous Activity which will recreate the Activity and it's fragments and Views. While restoring a this error occurs.
From my prospective it seems that this is caused by a View which is part of Fragment which is included in XML's layout. It seems that the Fragment doesn't set a ClassLoader internally and therfore it's not able to restore my view's state.
kv...@gmail.com <kv...@gmail.com> #92
wo...@gmail.com <wo...@gmail.com> #93
I opened a new ticket as no one seems to look into old tickets.
They can't compile your sample.
Hava a look at
ch...@beyls.net <ch...@beyls.net> #94
This is because of a bug in CoordinatorLayout: it does not properly restore its state when the CoordinatorLayout.SavedState constructor is given a null ClassLoader (The ClassLoader argument is always null in API < 13). This can easily be fixed like this:
if (loader == null) {
loader = CoordinatorLayout.class.getClassLoader();
}
Until the bug is fixed, I created a "SafeCoordinatorLayout" which works around the bug and that I'm using as a drop-in replacement of CoordinatorLayout in my projects:
su...@gmail.com <su...@gmail.com> #95
Pelase help to confirm it.
07-29 18:01:26.886 15283 15283 E AndroidRuntime: FATAL EXCEPTION: main
07-29 18:01:26.886 15283 15283 E AndroidRuntime: Process: com.xxxx.xxxx, PID: 15283
07-29 18:01:26.886 15283 15283 E AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xxxx.xxxx/com.xxxx.xxxxr}: android.os.BadParcelableException: ClassNotFoundException when unmarshalling: android.support.v7.widget.RecyclerView$SavedState
07-29 18:01:26.886 15283 15283 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2583)
07-29 18:01:26.886 15283 15283 E AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2665)
07-29 18:01:26.886 15283 15283 E AndroidRuntime: at android.app.ActivityThread.-wrap11(ActivityThread.java)
07-29 18:01:26.886 15283 15283 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1499)
07-29 18:01:26.886 15283 15283 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:111)
07-29 18:01:26.886 15283 15283 E AndroidRuntime: at android.os.Looper.loop(Looper.java:207)
07-29 18:01:26.886 15283 15283 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5778)
07-29 18:01:26.886 15283 15283 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
07-29 18:01:26.886 15283 15283 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:801)
07-29 18:01:26.886 15283 15283 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:691)
07-29 18:01:26.886 15283 15283 E AndroidRuntime: Caused by: android.os.BadParcelableException: ClassNotFoundException when unmarshalling: android.support.v7.widget.RecyclerView$SavedState
07-29 18:01:26.886 15283 15283 E AndroidRuntime: at android.os.Parcel.readParcelableCreator(Parcel.java:2411)
07-29 18:01:26.886 15283 15283 E AndroidRuntime: at android.os.Parcel.readParcelable(Parcel.java:2337)
07-29 18:01:26.886 15283 15283 E AndroidRuntime: at android.os.Parcel.readValue(Parcel.java:2243)
07-29 18:01:26.886 15283 15283 E AndroidRuntime: at android.os.Parcel.readSparseArrayInternal(Parcel.java:2653)
07-29 18:01:26.886 15283 15283 E AndroidRuntime: at android.os.Parcel.readSparseArray(Parcel.java:1946)
07-29 18:01:26.886 15283 15283 E AndroidRuntime: at android.os.Parcel.readValue(Parcel.java:2300)
07-29 18:01:26.886 15283 15283 E AndroidRuntime: at android.os.Parcel.readArrayMapInternal(Parcel.java:2592)
07-29 18:01:26.886 15283 15283 E AndroidRuntime: at android.os.BaseBundle.unparcel(BaseBundle.java:222)
07-29 18:01:26.886 15283 15283 E AndroidRuntime: at android.os.Bundle.getSparseParcelableArray(Bundle.java:856)
07-29 18:01:26.886 15283 15283 E AndroidRuntime: at com.android.internal.policy.PhoneWindow.restoreHierarchyState(PhoneWindow.java:2076)
07-29 18:01:26.886 15283 15283 E AndroidRuntime: at android.app.Activity.onRestoreInstanceState(Activity.java:1010)
07-29 18:01:26.886 15283 15283 E AndroidRuntime: at android.app.Activity.performRestoreInstanceState(Activity.java:965)
07-29 18:01:26.886 15283 15283 E AndroidRuntime: at android.app.Instrumentation.callActivityOnRestoreInstanceState(Instrumentation.java:1170)
07-29 18:01:26.886 15283 15283 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2550)
07-29 18:01:26.886 15283 15283 E AndroidRuntime: ... 9 more
pe...@googlemail.com <pe...@googlemail.com> #96
meant to have the "r" after "com.xxxx.xxxx" the second time.
On Tue, 1 Aug 2017 9:07 am , <buganizer-system@google.com> wrote:
sa...@stcpay.com.sa <sa...@stcpay.com.sa> #97
Fatal Exception: android.os.BadParcelableException: ClassNotFoundException when unmarshalling: androidx.appcompat.widget.Toolbar$SavedState
at android.os.Parcel.readParcelableCreator(Parcel.java:2845)
at android.os.Parcel.readParcelable(Parcel.java:2771)
at android.os.Parcel.readValue(Parcel.java:2674)
at android.os.Parcel.readSparseArrayInternal(Parcel.java:3124)
at android.os.Parcel.readSparseArray(Parcel.java:2354)
at android.os.Parcel.readValue(Parcel.java:2731)
at android.os.Parcel.readArrayMapInternal(Parcel.java:3043)
at android.os.BaseBundle.initializeFromParcelLocked(BaseBundle.java:288)
at android.os.BaseBundle.unparcel(BaseBundle.java:232)
at android.os.Bundle.getSparseParcelableArray(Bundle.java:1010)
at com.android.internal.policy.PhoneWindow.restoreHierarchyState(PhoneWindow.java:2196)
at android.app.Activity.onRestoreInstanceState(Activity.java:1201)
at android.app.Activity.performRestoreInstanceState(Activity.java:1155)
at android.app.Instrumentation.callActivityOnRestoreInstanceState(Instrumentation.java:1338)
at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3340)
at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:180)
at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:165)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:142)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2123)
at android.os.Handler.dispatchMessage(Handler.java:109)
at android.os.Looper.loop(Looper.java:207)
at android.app.ActivityThread.main(ActivityThread.java:7470)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:958)
vi...@gmail.com <vi...@gmail.com> #98
Only getting this exception on Realme devices with Android 9.0, but unable to reproduce
Hope this issue is taken into account and is fixed ASAP
android.os.BadParcelableException: ClassNotFoundException when unmarshalling: androidx.appcompat.widget.Toolbar$SavedState
at android.os.Parcel.readParcelableCreator()(Parcel.java:2855)
at android.os.Parcel.readParcelable()(Parcel.java:2781)
at android.os.Parcel.readValue()(Parcel.java:2684)
at android.os.Parcel.readSparseArrayInternal()(Parcel.java:3134)
at android.os.Parcel.readSparseArray()(Parcel.java:2367)
at android.os.Parcel.readValue()(Parcel.java:2741)
at android.os.Parcel.readArrayMapInternal()(Parcel.java:3053)
at android.os.BaseBundle.initializeFromParcelLocked()(BaseBundle.java:288)
at android.os.BaseBundle.unparcel()(BaseBundle.java:232)
at android.os.Bundle.getSparseParcelableArray()(Bundle.java:1010)
at com.android.internal.policy.PhoneWindow.restoreHierarchyState()(PhoneWindow.java:2195)
at android.app.Activity.onRestoreInstanceState()(Activity.java:1189)
at android.app.Activity.performRestoreInstanceState()(Activity.java:1144)
at android.app.Instrumentation.callActivityOnRestoreInstanceState()(Instrumentation.java:1318)
at android.app.ActivityThread.handleStartActivity()(ActivityThread.java:3148)
at android.app.servertransaction.TransactionExecutor.performLifecycleSequence()(TransactionExecutor.java:180)
at android.app.servertransaction.TransactionExecutor.cycleToPath()(TransactionExecutor.java:165)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState()(TransactionExecutor.java:142)
at android.app.servertransaction.TransactionExecutor.execute()(TransactionExecutor.java:70)
at android.app.ActivityThread$H.handleMessage()(ActivityThread.java:1978)
at android.os.Handler.dispatchMessage()(Handler.java:106)
at android.os.Looper.loop()(Looper.java:232)
at android.app.ActivityThread.main()(ActivityThread.java:7165)
at java.lang.reflect.Method.invoke()(Method.java:-2)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run()(RuntimeInit.java:576)
at com.android.internal.os.ZygoteInit.main()(ZygoteInit.java:888)
[Deleted User] <[Deleted User]> #99
mi...@gmail.com <mi...@gmail.com> #100
Brand: Realme
Model: realme U1
Orientation: Portrait
Version: 9
anyFix?
Fatal Exception: android.os.BadParcelableException: ClassNotFoundException when unmarshalling: androidx.recyclerview.widget.RecyclerView$y
at android.os.Parcel.readParcelableCreator(Parcel.java:2855)
at android.os.Parcel.readParcelable(Parcel.java:2781)
at android.os.Parcel.readValue(Parcel.java:2684)
at android.os.Parcel.readSparseArrayInternal(Parcel.java:3134)
at android.os.Parcel.readSparseArray(Parcel.java:2367)
at android.os.Parcel.readValue(Parcel.java:2741)
at android.os.Parcel.readArrayMapInternal(Parcel.java:3053)
at android.os.BaseBundle.initializeFromParcelLocked(BaseBundle.java:288)
at android.os.BaseBundle.unparcel(BaseBundle.java:232)
at android.os.Bundle.getSparseParcelableArray(Bundle.java:1010)
at com.android.internal.policy.PhoneWindow.restoreHierarchyState(PhoneWindow.java:2204)
at android.app.Activity.onRestoreInstanceState(Activity.java:1204)
at android.app.Activity.performRestoreInstanceState(Activity.java:1159)
at android.app.Instrumentation.callActivityOnRestoreInstanceState(Instrumentation.java:1317)
at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3215)
at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:185)
at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:170)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:147)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:73)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2038)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:226)
at android.app.ActivityThread.main(ActivityThread.java:7178)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:576)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:942)
vk...@citc.ru <vk...@citc.ru> #101
Brand: Oppo
Model: realme 1
Orientation: Portrait
Version: 9
Fatal Exception: android.os.BadParcelableException: ClassNotFoundException when unmarshalling: androidx.recyclerview.widget.RecyclerView$SavedState
at android.os.Parcel.readParcelableCreator(Parcel.java:2855)
at android.os.Parcel.readParcelable(Parcel.java:2781)
at android.os.Parcel.readValue(Parcel.java:2684)
at android.os.Parcel.readSparseArrayInternal(Parcel.java:3134)
at android.os.Parcel.readSparseArray(Parcel.java:2367)
at android.os.Parcel.readValue(Parcel.java:2741)
at android.os.Parcel.readArrayMapInternal(Parcel.java:3053)
at android.os.BaseBundle.initializeFromParcelLocked(BaseBundle.java:288)
at android.os.BaseBundle.unparcel(BaseBundle.java:232)
at android.os.Bundle.getSparseParcelableArray(Bundle.java:1010)
at com.android.internal.policy.PhoneWindow.restoreHierarchyState(PhoneWindow.java:2204)
at android.app.Activity.onRestoreInstanceState(Activity.java:1204)
at android.app.Activity.performRestoreInstanceState(Activity.java:1159)
at android.app.Instrumentation.callActivityOnRestoreInstanceState(Instrumentation.java:1317)
at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3215)
at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:185)
at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:170)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:147)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:73)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2038)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:226)
at android.app.ActivityThread.main(ActivityThread.java:7178)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:576)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:942)
sh...@fiverr.com <sh...@fiverr.com> #102
Brand: Only Oppo
Model: Only Realme 2 Pro
Version: Only 9
Fatal Exception: android.os.BadParcelableException: ClassNotFoundException when unmarshalling: androidx.recyclerview.widget.RecyclerView$SavedState
at android.os.Parcel.readParcelableCreator(Parcel.java:2855)
at android.os.Parcel.readParcelable(Parcel.java:2781)
at android.os.Parcel.readValue(Parcel.java:2684)
at android.os.Parcel.readSparseArrayInternal(Parcel.java:3134)
at android.os.Parcel.readSparseArray(Parcel.java:2367)
at android.os.Parcel.readValue(Parcel.java:2741)
at android.os.Parcel.readArrayMapInternal(Parcel.java:3053)
at android.os.BaseBundle.initializeFromParcelLocked(BaseBundle.java:288)
at android.os.BaseBundle.unparcel(BaseBundle.java:232)
at android.os.Bundle.getSparseParcelableArray(Bundle.java:1010)
at com.android.internal.policy.PhoneWindow.restoreHierarchyState(PhoneWindow.java:2204)
at android.app.Activity.onRestoreInstanceState(Activity.java:1204)
at android.app.Activity.performRestoreInstanceState(Activity.java:1159)
at android.app.Instrumentation.callActivityOnRestoreInstanceState(Instrumentation.java:1317)
at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3215)
at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:185)
at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:170)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:147)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:73)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2038)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:226)
at android.app.ActivityThread.main(ActivityThread.java:7178)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:576)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:942)
fe...@gmail.com <fe...@gmail.com> #103
Only getting this exception on Realme devices with Android 10.0, but unable to reproduce
Hope this issue is taken into account and is fixed ASAP
02-01 09:33:29.082585 31587 31587 E AndroidRuntime: android.os.BadParcelableException: ClassNotFoundException when unmarshalling: android.support.v7.widget.RecyclerView$SavedState
02-01 09:33:29.082585 31587 31587 E AndroidRuntime: at android.os.Parcel.readParcelableCreator(Parcel.java:3056)
02-01 09:33:29.082585 31587 31587 E AndroidRuntime: at android.os.Parcel.readParcelable(Parcel.java:2978)
02-01 09:33:29.082585 31587 31587 E AndroidRuntime: at android.os.Parcel.readValue(Parcel.java:2880)
02-01 09:33:29.082585 31587 31587 E AndroidRuntime: at android.os.Parcel.readSparseArrayInternal(Parcel.java:3341)
02-01 09:33:29.082585 31587 31587 E AndroidRuntime: at android.os.Parcel.readSparseArray(Parcel.java:2498)
02-01 09:33:29.082585 31587 31587 E AndroidRuntime: at android.os.Parcel.readValue(Parcel.java:2937)
02-01 09:33:29.082585 31587 31587 E AndroidRuntime: at android.os.Parcel.readArrayMapInternal(Parcel.java:3258)
02-01 09:33:29.082585 31587 31587 E AndroidRuntime: at android.os.BaseBundle.initializeFromParcelLocked(BaseBundle.java:297)
02-01 09:33:29.082585 31587 31587 E AndroidRuntime: at android.os.BaseBundle.unparcel(BaseBundle.java:241)
02-01 09:33:29.082585 31587 31587 E AndroidRuntime: at android.os.Bundle.getSparseParcelableArray(Bundle.java:1029)
02-01 09:33:29.082585 31587 31587 E AndroidRuntime: at com.android.internal.policy.PhoneWindow.restoreHierarchyState(PhoneWindow.java:2279)
02-01 09:33:29.082585 31587 31587 E AndroidRuntime: at android.app.Activity.onRestoreInstanceState(Activity.java:1588)
02-01 09:33:29.082585 31587 31587 E AndroidRuntime: at android.app.Activity.performRestoreInstanceState(Activity.java:1543)
02-01 09:33:29.082585 31587 31587 E AndroidRuntime: at android.app.Instrumentation.callActivityOnRestoreInstanceState(Instrumentation.java:1400)
02-01 09:33:29.082585 31587 31587 E AndroidRuntime: at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3565)
02-01 09:33:29.082585 31587 31587 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)
02-01 09:33:29.082585 31587 31587 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)
02-01 09:33:29.082585 31587 31587 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)
02-01 09:33:29.082585 31587 31587 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
02-01 09:33:29.082585 31587 31587 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2246)
02-01 09:33:29.082585 31587 31587 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:107)
02-01 09:33:29.082585 31587 31587 E AndroidRuntime: at android.os.Looper.loop(Looper.java:230)
02-01 09:33:29.082585 31587 31587 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:7763)
02-01 09:33:29.082585 31587 31587 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
02-01 09:33:29.082585 31587 31587 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:508)
02-01 09:33:29.082585 31587 31587 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1034)
mu...@gmail.com <mu...@gmail.com> #104
ma...@gmail.com <ma...@gmail.com> #105
android.os.BadParcelableException: ClassNotFoundException when unmarshalling: androidx.appcompat.widget.Toolbar$SavedState
at android.os.Parcel.readParcelableCreator(Parcel.java:2847)
at android.os.Parcel.readParcelable(Parcel.java:2768)
at android.os.Parcel.readValue(Parcel.java:2671)
at android.os.Parcel.readSparseArrayInternal(Parcel.java:3126)
at android.os.Parcel.readSparseArray(Parcel.java:2354)
at android.os.Parcel.readValue(Parcel.java:2728)
at android.os.Parcel.readArrayMapInternal(Parcel.java:3045)
at android.os.BaseBundle.initializeFromParcelLocked(BaseBundle.java:288)
at android.os.BaseBundle.unparcel(BaseBundle.java:232)
at android.os.Bundle.getSparseParcelableArray(Bundle.java:1010)
at com.android.internal.policy.PhoneWindow.restoreHierarchyState(PhoneWindow.java:2133)
at android.app.Activity.onRestoreInstanceState(Activity.java:1173)
at android.app.Activity.performRestoreInstanceState(Activity.java:1128)
at android.app.Instrumentation.callActivityOnRestoreInstanceState(Instrumentation.java:1317)
at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3017)
at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:185)
at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:170)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:147)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:73)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1859)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:201)
at android.app.ActivityThread.main(ActivityThread.java:6831)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:927)
Back traces end.
ma...@gmail.com <ma...@gmail.com> #106
and System version is 9 and 10 ;
ji...@gmail.com <ji...@gmail.com> #107
12-08 04:38:53.529 28587 28587 E AndroidRuntime: FATAL EXCEPTION: main 12-08 04:38:53.529 28587 28587 E AndroidRuntime: Process: com.aliyun.rtc, PID: 28587 12-08 04:38:53.529 28587 28587 E AndroidRuntime: android.os.BadParcelableException: ClassNotFoundException when unmarshalling: android.support.v7.widget.RecyclerView$SavedState 12-08 04:38:53.529 28587 28587 E AndroidRuntime: at android.os.Parcel.readParcelableCreator(Parcel.java:2847) 12-08 04:38:53.529 28587 28587 E AndroidRuntime: at android.os.Parcel.readParcelable(Parcel.java:2768) 12-08 04:38:53.529 28587 28587 E AndroidRuntime: at android.os.Parcel.readValue(Parcel.java:2671) 12-08 04:38:53.529 28587 28587 E AndroidRuntime: at android.os.Parcel.readSparseArrayInternal(Parcel.java:3126) 12-08 04:38:53.529 28587 28587 E AndroidRuntime: at android.os.Parcel.readSparseArray(Parcel.java:2354) 12-08 04:38:53.529 28587 28587 E AndroidRuntime: at android.os.Parcel.readValue(Parcel.java:2728) 12-08 04:38:53.529 28587 28587 E AndroidRuntime: at android.os.Parcel.readArrayMapInternal(Parcel.java:3045) 12-08 04:38:53.529 28587 28587 E AndroidRuntime: at android.os.BaseBundle.initializeFromParcelLocked(BaseBundle.java:288) 12-08 04:38:53.529 28587 28587 E AndroidRuntime: at android.os.BaseBundle.unparcel(BaseBundle.java:232) 12-08 04:38:53.529 28587 28587 E AndroidRuntime: at android.os.Bundle.getSparseParcelableArray(Bundle.java:1010) 12-08 04:38:53.529 28587 28587 E AndroidRuntime: at com.android.internal.policy.PhoneWindow.restoreHierarchyState(PhoneWindow.java:2133) 12-08 04:38:53.529 28587 28587 E AndroidRuntime: at android.app.Activity.onRestoreInstanceState(Activity.java:1173) 12-08 04:38:53.529 28587 28587 E AndroidRuntime: at android.app.Activity.performRestoreInstanceState(Activity.java:1128) 12-08 04:38:53.529 28587 28587 E AndroidRuntime: at android.app.Instrumentation.callActivityOnRestoreInstanceState(Instrumentation.java:1318) 12-08 04:38:53.529 28587 28587 E AndroidRuntime: at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3025) 12-08 04:38:53.529 28587 28587 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:180) 12-08 04:38:53.529 28587 28587 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:165) 12-08 04:38:53.529 28587 28587 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:142) 12-08 04:38:53.529 28587 28587 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70) 12-08 04:38:53.529 28587 28587 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1840) 12-08 04:38:53.529 28587 28587 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:106) 12-08 04:38:53.529 28587 28587 E AndroidRuntime: at android.os.Looper.loop(Looper.java:207) 12-08 04:38:53.529 28587 28587 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6878) 12-08 04:38:53.529 28587 28587 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method) 12-08 04:38:53.529 28587 28587 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547) 12-08 04:38:53.529 28587 28587 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:876) 12-08 04:38:53.636 30776 30776 D AndroidRuntime: >>>>>> START com.android.internal.os.RuntimeInit uid 2000 <<<<<< 12-08 04:38:53.814 28587 28587 I MotuCrashSDK: 12-08 04:38:53.528 28587 28587 D AndroidRuntime: Shutting down VM
same crash
Description
Version used: 23.1.1
Theme used: Theme.AppCompat.Light.NoActionBar
Devices/Android versions reproduced on: All Android 2.3.x
Hi everyone,
I'm getting the following on all Android 2.3.x after the devices rotate a couple of times (not on every rotate) and Android tries to recreate the activity:
E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1622)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1638)
at android.app.ActivityThread.access$1500(ActivityThread.java:117)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:928)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:3647)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.os.BadParcelableException: ClassNotFoundException when unmarshalling: android.support.v7.widget.RecyclerView$SavedState
at android.os.Parcel.readParcelable(Parcel.java:1958)
at android.os.Parcel.readValue(Parcel.java:1846)
at android.os.Parcel.readSparseArrayInternal(Parcel.java:2112)
at android.os.Parcel.readSparseArray(Parcel.java:1568)
at android.os.Parcel.readValue(Parcel.java:1903)
at android.os.Parcel.readMapInternal(Parcel.java:2083)
at android.os.Bundle.unparcel(Bundle.java:208)
at android.os.Bundle.getSparseParcelableArray(Bundle.java:1167)
at android.support.design.internal.NavigationMenuPresenter.onRestoreInstanceState(NavigationMenuPresenter.java:175)
at android.support.v7.view.menu.MenuBuilder.dispatchRestoreInstanceState(MenuBuilder.java:349)
at android.support.v7.view.menu.MenuBuilder.restorePresenterStates(MenuBuilder.java:361)
at android.support.design.widget.NavigationView.onRestoreInstanceState(NavigationView.java:191)
at android.view.View.dispatchRestoreInstanceState(View.java:6278)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1211)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1215)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1215)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1215)
at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1215)
at android.view.View.restoreHierarchyState(View.java:6257)
at com.android.internal.policy.impl.PhoneWindow.restoreHierarchyState(PhoneWindow.java:1486)
at android.app.Activity.onRestoreInstanceState(Activity.java:844)
at cm.aptoide.pt.MainActivity.onRestoreInstanceState(MainActivity.java:533)
at android.app.Activity.performRestoreInstanceState(Activity.java:816)
at android.app.Instrumentation.callActivityOnRestoreInstanceState(Instrumentation.java:1096)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1600)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1638)
at android.app.ActivityThread.access$1500(ActivityThread.java:117)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:928)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:3647)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
at dalvik.system.NativeStart.main(Native Method)
We were unable to reproduce it cleanly, it seems only to appear after a few rotates or after a crash on the app.
If more info needed, feel free to ask.
thanks.