Fixed
Status Update
Comments
ku...@google.com <ku...@google.com>
ku...@google.com <ku...@google.com> #2
Thank you for reporting this issue. For us to further investigate this issue, please provide the following additional information:
Android build
Which Android build are you using? (e.g. OPM1.171019.011)
Device used
Which device did you use to reproduce this issue?
Steps to reproduce
Please provide source code or apk of a sample application to reproduce the issue.
Also kindly mention the steps to be followed for reproducing the issue with the given sample application.
Frequency
How frequently does this issue occur? (e.g 100% of the time, 10% of the time)
Expected output
What is the expected output?
Current output
What is the current output?
Android bug report
After reproducing the issue, press the volume up, volume down, and power button simultaneously. This will capture a bug report on your device in the “bug reports” directory. Attach the bug report file to this issue.
Alternate method:
After reproducing the issue, navigate to developer settings, ensure ‘USB debugging’ is enabled, then enable ‘Bug report shortcut’. To take bug report, hold the power button and select the ‘Take bug report’ option.
Android build
Which Android build are you using? (e.g. OPM1.171019.011)
Device used
Which device did you use to reproduce this issue?
Steps to reproduce
Please provide source code or apk of a sample application to reproduce the issue.
Also kindly mention the steps to be followed for reproducing the issue with the given sample application.
Frequency
How frequently does this issue occur? (e.g 100% of the time, 10% of the time)
Expected output
What is the expected output?
Current output
What is the current output?
Android bug report
After reproducing the issue, press the volume up, volume down, and power button simultaneously. This will capture a bug report on your device in the “bug reports” directory. Attach the bug report file to this issue.
Alternate method:
After reproducing the issue, navigate to developer settings, ensure ‘USB debugging’ is enabled, then enable ‘Bug report shortcut’. To take bug report, hold the power button and select the ‘Take bug report’ option.
[Deleted User] <[Deleted User]> #3
These are crashes I am seeing on production. I haven't been able to reproduce it.
More details can be found herehttp://crashes.to/s/4a21396a5ce
More details can be found here
si...@google.com <si...@google.com> #4
If you are still facing this issue, please provide the information requested earlier, we would be happy to take a closer look to learn more about the root cause, otherwise I'll be closing this bug.
oa...@gmail.com <oa...@gmail.com> #5
I've just had a very similar crash in my app in production (app's package name has been changed):
android.os.BadParcelableException:
at android.os.Parcel.readParcelableCreator (Parcel.java:2545)
at android.os.Parcel.readParcelable (Parcel.java:2471)
at android.os.Parcel.readValue (Parcel.java:2374)
at android.os.Parcel.readArrayMapInternal (Parcel.java:2727)
at android.os.BaseBundle.unparcel (BaseBundle.java:269)
at android.os.BaseBundle.putBoolean (BaseBundle.java:406)
at android.support.v4.app.Fragment.setUserVisibleHint (Fragment.java:960)
at android.support.v4.app.FragmentStatePagerAdapter.instantiateItem (FragmentStatePagerAdapter.java:121)
at com.myorg.myapp.GoalPagerActivity$GoalPagerAdapter.instantiateItem (GoalPagerActivity.java:316)
at android.support.v4.view.ViewPager.addNewItem (ViewPager.java:1004)
at android.support.v4.view.ViewPager.populate (ViewPager.java:1186)
at android.support.v4.view.ViewPager.populate (ViewPager.java:1086)
at android.support.v4.view.ViewPager$3.run (ViewPager.java:267)
at android.view.Choreographer$CallbackRecord.run (Choreographer.java:959)
at android.view.Choreographer.doCallbacks (Choreographer.java:734)
at android.view.Choreographer.doFrame (Choreographer.java:667)
at android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:945)
at android.os.Handler.handleCallback (Handler.java:751)
at android.os.Handler.dispatchMessage (Handler.java:95)
at android.os.Looper.loop (Looper.java:154)
at android.app.ActivityThread.main (ActivityThread.java:6776)
at java.lang.reflect.Method.invoke (Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1496)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1386)
I've never seen this crash before and have not been able to reproduce it. My app's been published for years and I have not changed GoalPagerAdapter.instantiateItem() for ages.
The crash above occurred on 14 March on a Samsung Galaxy J5(2017) (j5y17lte), 2048MB RAM, Android 7.0
This version of my app was only released on 12 March and it had few changes compared to the previous version. One of those changes was I upgraded from com.android.support:support-v13:27.0.2 to com.android.support:support-v13:27.1.0 in my build.gradle so I wonder if this bug was introduced between those 2 versions? I notice the OP was using 27.1.0 of the support library too (although v4 rather than v13 in my case).
android.os.BadParcelableException:
at android.os.Parcel.readParcelableCreator (Parcel.java:2545)
at android.os.Parcel.readParcelable (Parcel.java:2471)
at android.os.Parcel.readValue (Parcel.java:2374)
at android.os.Parcel.readArrayMapInternal (Parcel.java:2727)
at android.os.BaseBundle.unparcel (BaseBundle.java:269)
at android.os.BaseBundle.putBoolean (BaseBundle.java:406)
at android.support.v4.app.Fragment.setUserVisibleHint (Fragment.java:960)
at android.support.v4.app.FragmentStatePagerAdapter.instantiateItem (FragmentStatePagerAdapter.java:121)
at com.myorg.myapp.GoalPagerActivity$GoalPagerAdapter.instantiateItem (GoalPagerActivity.java:316)
at android.support.v4.view.ViewPager.addNewItem (ViewPager.java:1004)
at android.support.v4.view.ViewPager.populate (ViewPager.java:1186)
at android.support.v4.view.ViewPager.populate (ViewPager.java:1086)
at android.support.v4.view.ViewPager$3.run (ViewPager.java:267)
at android.view.Choreographer$CallbackRecord.run (Choreographer.java:959)
at android.view.Choreographer.doCallbacks (Choreographer.java:734)
at android.view.Choreographer.doFrame (Choreographer.java:667)
at android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:945)
at android.os.Handler.handleCallback (Handler.java:751)
at android.os.Handler.dispatchMessage (Handler.java:95)
at android.os.Looper.loop (Looper.java:154)
at android.app.ActivityThread.main (ActivityThread.java:6776)
at java.lang.reflect.Method.invoke (Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1496)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1386)
I've never seen this crash before and have not been able to reproduce it. My app's been published for years and I have not changed GoalPagerAdapter.instantiateItem() for ages.
The crash above occurred on 14 March on a Samsung Galaxy J5(2017) (j5y17lte), 2048MB RAM, Android 7.0
This version of my app was only released on 12 March and it had few changes compared to the previous version. One of those changes was I upgraded from com.android.support:support-v13:27.0.2 to com.android.support:support-v13:27.1.0 in my build.gradle so I wonder if this bug was introduced between those 2 versions? I notice the OP was using 27.1.0 of the support library too (although v4 rather than v13 in my case).
oa...@gmail.com <oa...@gmail.com> #6
I should say that after updating to com.android.support:support-v13:27.1.0 I got warnings in Android Studio about android.support.v13.app.FragmentStatePagerAdapter being deprecated.
To resolve those I changed the fragment class handled by the ViewPager from android.app.Fragment to android.support.v4.app.Fragment. So maybe the BadParcelableException was something to do with this switch...?
To resolve those I changed the fragment class handled by the ViewPager from android.app.Fragment to android.support.v4.app.Fragment. So maybe the BadParcelableException was something to do with this switch...?
oa...@gmail.com <oa...@gmail.com> #7
I also had to change my GoalPagerActivity class to inherit from android.support.v4.app.FragmentActivity instead of android.app.Activity as part of the previous changes.
si...@google.com <si...@google.com> #8
Can you please provide the information requested in comment #2 to investigate further.
oa...@gmail.com <oa...@gmail.com> #10
I tried following the steps in comment #6 of https://issuetracker.google.com/issues/74607887 using my own app on an Android 7.0 phone but I wasn't able to make the app crash. Also, there was no ClassNotFoundException in my stacktrace ( comment #5 above), although the error did also occur at Parcel.java:2545.
BTW My app uses android:Theme.Holo, not AppCompat like issue 74607887 .
BTW My app uses android:Theme.Holo, not AppCompat like
oa...@gmail.com <oa...@gmail.com> #11
@ si...@google.com - re comment #8 if you're addressing that to me rather than tr...@amsiq.com then I've told you everything I know in comments 5-7. I'd rather not give you my apk, and even if I did you might never be able to reproduce it. The only time I've ever seen it is in that crash report in comment #5 .
But it looks like you should have everything you need in issue 74607887 anyway.
But it looks like you should have everything you need in
[Deleted User] <[Deleted User]> #12
this also happened to me after upgrading the support library from 27.0.2 to 27.1.0. i have a viewpager within a viewpager. Specifically, its actually a tab layout thats in a viewpager and one of the tabs has a viewpager inside of it. occurs on android o/s: 5.0.2, 7.0 and android 8.
the respective devices is: Redmi Note 3,SM-G610F,Xperia X
Fatal Exception: android.os.BadParcelableException: ClassNotFoundException when unmarshalling: android.support.v4.app.FragmentManagerState
at android.os.Parcel.readParcelableCreator(Parcel.java:2888)
at android.os.Parcel.readParcelable(Parcel.java:2814)
at android.os.Parcel.readValue(Parcel.java:2717)
at android.os.Parcel.readArrayMapInternal(Parcel.java:3084)
at android.os.BaseBundle.unparcel(BaseBundle.java:257)
at android.os.BaseBundle.putBoolean(BaseBundle.java:500)
at android.support.v4.app.Fragment.setUserVisibleHint(SourceFile:960)
at android.support.v4.app.FragmentStatePagerAdapter.instantiateItem(SourceFile:121)
at android.support.v4.view.ViewPager.addNewItem(SourceFile:1004)
at android.support.v4.view.ViewPager.populate(SourceFile:1186)
at android.support.v4.view.ViewPager.setCurrentItemInternal(SourceFile:663)
at android.support.v4.view.ViewPager.setCurrentItemInternal(SourceFile:625)
at android.support.v4.view.ViewPager.setCurrentItem(SourceFile:606)
at com.mobile.pomelo.presentation.view.controllers.landing.LandingPageActivity.onTabSelected(SourceFile:291)
at android.support.design.widget.TabLayout.dispatchTabSelected(SourceFile:1165)
at android.support.design.widget.TabLayout.selectTab(SourceFile:1158)
at android.support.design.widget.TabLayout.selectTab(SourceFile:1128)
at android.support.design.widget.TabLayout$Tab.select(SourceFile:1427)
at android.support.design.widget.TabLayout$TabView.performClick(SourceFile:1537)
at android.view.View$PerformClick.run(View.java:24710)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:251)
at android.app.ActivityThread.main(ActivityThread.java:6589)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
the respective devices is: Redmi Note 3,SM-G610F,Xperia X
Fatal Exception: android.os.BadParcelableException: ClassNotFoundException when unmarshalling: android.support.v4.app.FragmentManagerState
at android.os.Parcel.readParcelableCreator(Parcel.java:2888)
at android.os.Parcel.readParcelable(Parcel.java:2814)
at android.os.Parcel.readValue(Parcel.java:2717)
at android.os.Parcel.readArrayMapInternal(Parcel.java:3084)
at android.os.BaseBundle.unparcel(BaseBundle.java:257)
at android.os.BaseBundle.putBoolean(BaseBundle.java:500)
at android.support.v4.app.Fragment.setUserVisibleHint(SourceFile:960)
at android.support.v4.app.FragmentStatePagerAdapter.instantiateItem(SourceFile:121)
at android.support.v4.view.ViewPager.addNewItem(SourceFile:1004)
at android.support.v4.view.ViewPager.populate(SourceFile:1186)
at android.support.v4.view.ViewPager.setCurrentItemInternal(SourceFile:663)
at android.support.v4.view.ViewPager.setCurrentItemInternal(SourceFile:625)
at android.support.v4.view.ViewPager.setCurrentItem(SourceFile:606)
at com.mobile.pomelo.presentation.view.controllers.landing.LandingPageActivity.onTabSelected(SourceFile:291)
at android.support.design.widget.TabLayout.dispatchTabSelected(SourceFile:1165)
at android.support.design.widget.TabLayout.selectTab(SourceFile:1158)
at android.support.design.widget.TabLayout.selectTab(SourceFile:1128)
at android.support.design.widget.TabLayout$Tab.select(SourceFile:1427)
at android.support.design.widget.TabLayout$TabView.performClick(SourceFile:1537)
at android.view.View$PerformClick.run(View.java:24710)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:251)
at android.app.ActivityThread.main(ActivityThread.java:6589)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
[Deleted User] <[Deleted User]> #13
i CANT seem to edit my statement. i should have said my architecture is like this:
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android "
xmlns:app="http://schemas.android.com/apk/res-auto "
android:id="@+id/main_content_landing_page"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@color/white" />
<android.support.design.widget.TabLayout
android:id="@+id/tabLayout"
style="@style/MyCustomTabLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabGravity="fill"
app:tabMinWidth="71dp"
app:tabMode="fixed" />
</LinearLayout>
</android.support.design.widget.CoordinatorLayout>
then in the tablayout a few of my tabs have viewpagers in it.
<android.support.design.widget.CoordinatorLayout xmlns:android="
xmlns:app="
android:id="@+id/main_content_landing_page"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@color/white" />
<android.support.design.widget.TabLayout
android:id="@+id/tabLayout"
style="@style/MyCustomTabLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabGravity="fill"
app:tabMinWidth="71dp"
app:tabMode="fixed" />
</LinearLayout>
</android.support.design.widget.CoordinatorLayout>
then in the tablayout a few of my tabs have viewpagers in it.
[Deleted User] <[Deleted User]> #14
Here, I have a simple sample which reproduces the issue: https://github.com/runningcode/classnotfound
Run `./gradlew connectedCheck` to reproduce.
The manual repro steps are as follows:
open an activity (with button)
press back
switch to 3rd tab
ppen activity again (with button)
Press back
switch back to 1st tab
This is very urgent to us. We are getting a lot of crashes because of this issue on support lib 27.1.0.
Run `./gradlew connectedCheck` to reproduce.
The manual repro steps are as follows:
open an activity (with button)
press back
switch to 3rd tab
ppen activity again (with button)
Press back
switch back to 1st tab
This is very urgent to us. We are getting a lot of crashes because of this issue on support lib 27.1.0.
ne...@gmail.com <ne...@gmail.com> #15
To clarify, the repro steps are only 100% reproducible on SDK 19 (Kitkat) but we are seeing it happen in production against all SDK levels.
il...@google.com <il...@google.com>
il...@google.com <il...@google.com> #16
This is fixed internally and will be available in future versions of the Support Library
oa...@gmail.com <oa...@gmail.com> #17
Can someone from Google at least give us a rough idea of when we can expect a version of the Support Library containing the fix to be released? Please.
Underhttps://developer.android.com/topic/libraries/support-library/revisions.html#28-0-0-alpha1 it mentioned this under "Bug fixes":
onLoadFinished() called multiple times in ViewPager with FragmentPagerAdapter (AOSP issue 74182171 )
- but I can't access the issue link to determine whether this is the same issue. Plus I'd rather wait for a stable release ideally.
Under
onLoadFinished() called multiple times in ViewPager with FragmentPagerAdapter (AOSP
- but I can't access the issue link to determine whether this is the same issue. Plus I'd rather wait for a stable release ideally.
ra...@voltella.com <ra...@voltella.com> #18
i think they have resolved the issue on the april release 27.1.1
https://developer.android.com/topic/libraries/support-library/revisions.html#27-1-1
change appcompat 27.1.0 to 27.1.1
The bug gone after changing the compact,
Check the following link for moreinfo:
https://stackoverflow.com/questions/49228979/badparcelableexceptionclassnotfoundexception-when-unmarshalling-android-suppor/49709851
Thank you google for the fix
change appcompat 27.1.0 to 27.1.1
The bug gone after changing the compact,
Check the following link for moreinfo:
Thank you google for the fix
kk...@google.com <kk...@google.com> #19
This bug has been fixed in Support Library 27.1.1.
ma...@gmail.com <ma...@gmail.com> #20
For info, I could see many occurences of this crash in Crashlytics, even using Support Library 27.1.1
The fix is to migrate the app to use AndroidX, instead of using the original support libraries.
The fix is to migrate the app to use AndroidX, instead of using the original support libraries.
Description
Version used: 27.1.0
Theme used:
Devices/Android versions reproduced on:
```
Fatal Exception: android.os.BadParcelableException: ClassNotFoundException when unmarshalling: android.support.v4.app.FragmentManagerState
at android.os.Parcel.readParcelableCreator(Parcel.java:2545)
at android.os.Parcel.readParcelable(Parcel.java:2471)
at android.os.Parcel.readValue(Parcel.java:2374)
at android.os.Parcel.readArrayMapInternal(Parcel.java:2727)
at android.os.BaseBundle.unparcel(BaseBundle.java:269)
at android.os.BaseBundle.putBoolean(BaseBundle.java:406)
at android.support.v4.app.Fragment.setUserVisibleHint(Fragment.java:960)
at com.soudfa.Fragments.SoudfaFragment.setUserVisibleHint(SoudfaFragment.kt:120)
at com.soudfa.Fragments.Match.MatchFragment.setUserVisibleHint(MatchFragment.kt:1161)
at android.support.v4.app.FragmentStatePagerAdapter.instantiateItem(FragmentStatePagerAdapter.java:121)
at com.soudfa.Fragments.Main.Adapter.MainPagerAdapter.instantiateItem(MainPagerAdapter.kt:53)
at android.support.v4.view.ViewPager.addNewItem(ViewPager.java:1004)
at android.support.v4.view.ViewPager.populate(ViewPager.java:1152)
at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:663)
at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:625)
at android.support.v4.view.ViewPager.setCurrentItem(ViewPager.java:617)
at com.app.Fragments.Main.MainPagerFragment.selectPage(MainPagerFragment.kt:42)
at com.app.activities.main.MainActivity.onBackPressed(MainActivity.kt:476)
at android.app.Activity.onKeyUp(Activity.java:2864)
at android.view.KeyEvent.dispatch(KeyEvent.java:3358)
at android.app.Activity.dispatchKeyEvent(Activity.java:3165)
at android.support.v7.app.AppCompatActivity.dispatchKeyEvent(AppCompatActivity.java:534)
at android.support.v7.view.WindowCallbackWrapper.dispatchKeyEvent(WindowCallbackWrapper.java:58)
at android.support.v7.app.AppCompatDelegateImplBase$AppCompatWindowCallbackBase.dispatchKeyEvent(AppCompatDelegateImplBase.java:316)
at android.support.v7.view.WindowCallbackWrapper.dispatchKeyEvent(WindowCallbackWrapper.java:58)
at com.android.internal.policy.DecorView.dispatchKeyEvent(DecorView.java:428)
at android.view.ViewRootImpl$ViewPostImeInputStage.processKeyEvent(ViewRootImpl.java:5003)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4965)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4500)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4553)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4519)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4652)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4527)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4709)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4500)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4553)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4519)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4527)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4500)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4553)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4519)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4685)
at android.view.ViewRootImpl$ImeInputStage.onFinishedInputEvent(ViewRootImpl.java:4854)
at android.view.inputmethod.InputMethodManager$PendingEvent.run(InputMethodManager.java:3035)
at android.view.inputmethod.InputMethodManager.invokeFinishedInputEventCallback(InputMethodManager.java:2571)
at android.view.inputmethod.InputMethodManager.finishedInputEvent(InputMethodManager.java:2562)
at android.view.inputmethod.InputMethodManager$ImeInputEventSender.onInputEventFinished(InputMethodManager.java:3012)
at android.view.InputEventSender.dispatchInputEventFinished(InputEventSender.java:141)
at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
at android.os.MessageQueue.next(MessageQueue.java:323)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:6682)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410)
```