Obsolete
Status Update
Comments
fl...@gmail.com <fl...@gmail.com> #2
First of all, sorry for my poor english.
I really agree.
My app crashes only in cetain phone even if the build number is same!
09-23 11:05:53.718: E 754 Parcel Class not found when unmarshalling: com.samilcts.mpaio.data.Receipt
09-23 11:05:53.718: E 754 Parcel java.lang.ClassNotFoundException: com.samilcts.mpaio.data.Receipt
09-23 11:05:53.718: E 754 Parcel at java.lang.Class.classForName(Native Method)
09-23 11:05:53.718: E 754 Parcel at java.lang.Class.forName(Class.java:251)
09-23 11:05:53.718: E 754 Parcel at java.lang.Class.forName(Class.java:216)
09-23 11:05:53.718: E 754 Parcel at android.os.Parcel.readParcelableCreator(Parcel.java:2133)
09-23 11:05:53.718: E 754 Parcel at android.os.Parcel.readParcelable(Parcel.java:2097)
09-23 11:05:53.718: E 754 Parcel at android.os.Parcel.readValue(Parcel.java:2013)
09-23 11:05:53.718: E 754 Parcel at android.os.Parcel.readArrayMapInternal(Parcel.java:2314)
09-23 11:05:53.718: E 754 Parcel at android.os.Bundle.unparcel(Bundle.java:249)
09-23 11:05:53.718: E 754 Parcel at android.os.Bundle.getString(Bundle.java:1118)
09-23 11:05:53.718: E 754 Parcel at android.content.Intent.getStringExtra(Intent.java:4991)
09-23 11:05:53.718: E 754 Parcel at com.android.server.am.ActivityStackSupervisor.startActivityLocked(ActivityStackSupervisor.java:1394)
09-23 11:05:53.718: E 754 Parcel at com.android.server.am.ActivityStackSupervisor.startActivityMayWait(ActivityStackSupervisor.java:1026)
09-23 11:05:53.718: E 754 Parcel at com.android.server.am.ActivityManagerService.startActivityAsUser(ActivityManagerService.java:3984)
09-23 11:05:53.718: E 754 Parcel at com.android.server.am.ActivityManagerService.startActivity(ActivityManagerService.java:3887)
09-23 11:05:53.718: E 754 Parcel at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:159)
09-23 11:05:53.718: E 754 Parcel at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2576)
09-23 11:05:53.718: E 754 Parcel at android.os.Binder.execTransact(Binder.java:404)
09-23 11:05:53.718: E 754 Parcel at dalvik.system.NativeStart.run(Native Method)
09-23 11:05:53.718: E 754 Parcel Caused by: java.lang.NoClassDefFoundError: com/samilcts/mpaio/data/Receipt
09-23 11:05:53.718: E 754 Parcel ... 18 more
09-23 11:05:53.718: E 754 Parcel Caused by: java.lang.ClassNotFoundException: Didn't find class "com.samilcts.mpaio.data.Receipt" on path: DexPathList[[directory "."],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
09-23 11:05:53.718: E 754 Parcel at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:67)
09-23 11:05:53.718: E 754 Parcel at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
09-23 11:05:53.718: E 754 Parcel at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
09-23 11:05:53.718: E 754 Parcel ... 18 more
I really agree.
My app crashes only in cetain phone even if the build number is same!
09-23 11:05:53.718: E 754 Parcel Class not found when unmarshalling: com.samilcts.mpaio.data.Receipt
09-23 11:05:53.718: E 754 Parcel java.lang.ClassNotFoundException: com.samilcts.mpaio.data.Receipt
09-23 11:05:53.718: E 754 Parcel at java.lang.Class.classForName(Native Method)
09-23 11:05:53.718: E 754 Parcel at java.lang.Class.forName(Class.java:251)
09-23 11:05:53.718: E 754 Parcel at java.lang.Class.forName(Class.java:216)
09-23 11:05:53.718: E 754 Parcel at android.os.Parcel.readParcelableCreator(Parcel.java:2133)
09-23 11:05:53.718: E 754 Parcel at android.os.Parcel.readParcelable(Parcel.java:2097)
09-23 11:05:53.718: E 754 Parcel at android.os.Parcel.readValue(Parcel.java:2013)
09-23 11:05:53.718: E 754 Parcel at android.os.Parcel.readArrayMapInternal(Parcel.java:2314)
09-23 11:05:53.718: E 754 Parcel at android.os.Bundle.unparcel(Bundle.java:249)
09-23 11:05:53.718: E 754 Parcel at android.os.Bundle.getString(Bundle.java:1118)
09-23 11:05:53.718: E 754 Parcel at android.content.Intent.getStringExtra(Intent.java:4991)
09-23 11:05:53.718: E 754 Parcel at com.android.server.am.ActivityStackSupervisor.startActivityLocked(ActivityStackSupervisor.java:1394)
09-23 11:05:53.718: E 754 Parcel at com.android.server.am.ActivityStackSupervisor.startActivityMayWait(ActivityStackSupervisor.java:1026)
09-23 11:05:53.718: E 754 Parcel at com.android.server.am.ActivityManagerService.startActivityAsUser(ActivityManagerService.java:3984)
09-23 11:05:53.718: E 754 Parcel at com.android.server.am.ActivityManagerService.startActivity(ActivityManagerService.java:3887)
09-23 11:05:53.718: E 754 Parcel at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:159)
09-23 11:05:53.718: E 754 Parcel at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2576)
09-23 11:05:53.718: E 754 Parcel at android.os.Binder.execTransact(Binder.java:404)
09-23 11:05:53.718: E 754 Parcel at dalvik.system.NativeStart.run(Native Method)
09-23 11:05:53.718: E 754 Parcel Caused by: java.lang.NoClassDefFoundError: com/samilcts/mpaio/data/Receipt
09-23 11:05:53.718: E 754 Parcel ... 18 more
09-23 11:05:53.718: E 754 Parcel Caused by: java.lang.ClassNotFoundException: Didn't find class "com.samilcts.mpaio.data.Receipt" on path: DexPathList[[directory "."],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
09-23 11:05:53.718: E 754 Parcel at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:67)
09-23 11:05:53.718: E 754 Parcel at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
09-23 11:05:53.718: E 754 Parcel at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
09-23 11:05:53.718: E 754 Parcel ... 18 more
fl...@gmail.com <fl...@gmail.com> #3
I also see the same few reports (usually after an update) and users sometimes complain with bad reviews about it too.
java.lang.RuntimeException: Unable to instantiate applicationcom.mindmeapp.alarmpad.App : java.lang.ClassNotFoundException: Didn't find class "com.mindmeapp.alarmpad.App " on path: DexPathList[[],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
at android.app.LoadedApk.makeApplication(LoadedApk.java:507)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4301)
at android.app.ActivityThread.access$1500(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5001)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.mindmeapp.alarmpad.App " on path: DexPathList[[],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
at android.app.Instrumentation.newApplication(Instrumentation.java:975)
at android.app.LoadedApk.makeApplication(LoadedApk.java:502)
... 11 more
java.lang.RuntimeException: Unable to instantiate application
at android.app.LoadedApk.makeApplication(LoadedApk.java:507)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4301)
at android.app.ActivityThread.access$1500(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5001)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: Didn't find class "
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
at android.app.Instrumentation.newApplication(Instrumentation.java:975)
at android.app.LoadedApk.makeApplication(LoadedApk.java:502)
... 11 more
ga...@gmail.com <ga...@gmail.com> #4
An "operating system" that can't handle properly installing apps?
Hope it's not that, but rather crazy green aliens from outer space... :)
Hope it's not that, but rather crazy green aliens from outer space... :)
na...@gmail.com <na...@gmail.com> #5
It happens when the other sisutation.( not only "Google Play" problem)
In my case, this issue came out when it pass the custom parcelable array between the activities.
I have two phone that same android version(4.4.2).
And testing my app,
it is occurred at the one. but it does not occurred at the other phone.
In my case, this issue came out when it pass the custom parcelable array between the activities.
I have two phone that same android version(4.4.2).
And testing my app,
it is occurred at the one. but it does not occurred at the other phone.
fl...@gmail.com <fl...@gmail.com> #6
Wait, using a custom parcelable and not being able to unparcel it (e.g. when restoring a fragment) gives the parcelable class name in the call stack, and mostly happens on 2.* device (Android 4.* sets the class loader on bundles).
So it looks like a different issue.
So it looks like a different issue.
fl...@gmail.com <fl...@gmail.com> #7
I have a very similar issue. The class specificaaly Click extends application in this case. Runs fine from eclipse in VM or on multiple devices but crashes with this error 100% of the time when downloaded from playstore.
java.lang.RuntimeException: Unable to instantiate application com.ClickApp.click.ClickApp: java.lang.ClassNotFoundException: Didn't find class "com.ClickApp.click.ClickApp" on path: DexPathList[[zip file "/data/app/com.ClickApp.click-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.ClickApp.click-1, /vendor/lib, /system/lib]]
at android.app.LoadedApk.makeApplication(LoadedApk.java:524)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4701)
at android.app.ActivityThread.access$1600(ActivityThread.java:148)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1379)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5473)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:854)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:670)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.ClickApp.click.ClickApp" on path: DexPathList[[zip file "/data/app/com.ClickApp.click-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.ClickApp.click-1, /vendor/lib, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:53)
at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
at android.app.Instrumentation.newApplication(Instrumentation.java:975)
at android.app.LoadedApk.makeApplication(LoadedApk.java:519)
... 11 more
java.lang.RuntimeException: Unable to instantiate application com.ClickApp.click.ClickApp: java.lang.ClassNotFoundException: Didn't find class "com.ClickApp.click.ClickApp" on path: DexPathList[[zip file "/data/app/com.ClickApp.click-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.ClickApp.click-1, /vendor/lib, /system/lib]]
at android.app.LoadedApk.makeApplication(LoadedApk.java:524)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4701)
at android.app.ActivityThread.access$1600(ActivityThread.java:148)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1379)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5473)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:854)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:670)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.ClickApp.click.ClickApp" on path: DexPathList[[zip file "/data/app/com.ClickApp.click-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.ClickApp.click-1, /vendor/lib, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:53)
at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
at android.app.Instrumentation.newApplication(Instrumentation.java:975)
at android.app.LoadedApk.makeApplication(LoadedApk.java:519)
... 11 more
ba...@gmail.com <ba...@gmail.com> #8
Just got this on a Nexus 5 with 5.0.1 (LRX22C).
First time I'm seeing this myself, during development, as opposed to user reports from Google Play.
The class is there, has been for years and years. Just re-starting the app from its launcher icon (without a reinstall) worked fine, no exception this time.
How in the world can an "operating system" lose track of some of application components?
How in the world can a bug like this go unfixed for so long?
I really hope this report isn't ignored for a couple of years and then marked "obsolete" when Android 6.0 is released.
Please.
The output of "adb bugreport" is attached.
---
01-10 02:06:55.721 E/AndroidRuntime(21610): FATAL EXCEPTION: main
01-10 02:06:55.721 E/AndroidRuntime(21610): Process: org.kman.AquaMail, PID: 21610
01-10 02:06:55.721 E/AndroidRuntime(21610): java.lang.RuntimeException: Unable to instantiate application org.kman.AquaMail.core.AquaMailApplication: java.lang.ClassNotFoundException: Didn't find class "org.kman.AquaMail.core.AquaMailApplication" on path: DexPathList[[],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
01-10 02:06:55.721 E/AndroidRuntime(21610): at android.app.LoadedApk.makeApplication(LoadedApk.java:563)
01-10 02:06:55.721 E/AndroidRuntime(21610): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4491)
01-10 02:06:55.721 E/AndroidRuntime(21610): at android.app.ActivityThread.access$1500(ActivityThread.java:144)
01-10 02:06:55.721 E/AndroidRuntime(21610): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1339)
01-10 02:06:55.721 E/AndroidRuntime(21610): at android.os.Handler.dispatchMessage(Handler.java:102)
01-10 02:06:55.721 E/AndroidRuntime(21610): at android.os.Looper.loop(Looper.java:135)
01-10 02:06:55.721 E/AndroidRuntime(21610): at android.app.ActivityThread.main(ActivityThread.java:5221)
01-10 02:06:55.721 E/AndroidRuntime(21610): at java.lang.reflect.Method.invoke(Native Method)
01-10 02:06:55.721 E/AndroidRuntime(21610): at java.lang.reflect.Method.invoke(Method.java:372)
01-10 02:06:55.721 E/AndroidRuntime(21610): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
01-10 02:06:55.721 E/AndroidRuntime(21610): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
01-10 02:06:55.721 E/AndroidRuntime(21610): Caused by: java.lang.ClassNotFoundException: Didn't find class "org.kman.AquaMail.core.AquaMailApplication" on path: DexPathList[[],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
01-10 02:06:55.721 E/AndroidRuntime(21610): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
01-10 02:06:55.721 E/AndroidRuntime(21610): at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
01-10 02:06:55.721 E/AndroidRuntime(21610): at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
01-10 02:06:55.721 E/AndroidRuntime(21610): at android.app.Instrumentation.newApplication(Instrumentation.java:979)
01-10 02:06:55.721 E/AndroidRuntime(21610): at android.app.LoadedApk.makeApplication(LoadedApk.java:558)
01-10 02:06:55.721 E/AndroidRuntime(21610): ... 10 more
01-10 02:06:55.721 E/AndroidRuntime(21610): Suppressed: java.lang.ClassNotFoundException: org.kman.AquaMail.core.AquaMailApplication
01-10 02:06:55.721 E/AndroidRuntime(21610): at java.lang.Class.classForName(Native Method)
01-10 02:06:55.721 E/AndroidRuntime(21610): at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
01-10 02:06:55.721 E/AndroidRuntime(21610): at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
01-10 02:06:55.721 E/AndroidRuntime(21610): at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
01-10 02:06:55.721 E/AndroidRuntime(21610): ... 13 more
01-10 02:06:55.721 E/AndroidRuntime(21610): Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available
01-10 02:06:55.728 W/asset ( 740): Asset path /data/app/org.kman.AquaMail-2/base.apk is neither a directory nor file (type=1).
First time I'm seeing this myself, during development, as opposed to user reports from Google Play.
The class is there, has been for years and years. Just re-starting the app from its launcher icon (without a reinstall) worked fine, no exception this time.
How in the world can an "operating system" lose track of some of application components?
How in the world can a bug like this go unfixed for so long?
I really hope this report isn't ignored for a couple of years and then marked "obsolete" when Android 6.0 is released.
Please.
The output of "adb bugreport" is attached.
---
01-10 02:06:55.721 E/AndroidRuntime(21610): FATAL EXCEPTION: main
01-10 02:06:55.721 E/AndroidRuntime(21610): Process: org.kman.AquaMail, PID: 21610
01-10 02:06:55.721 E/AndroidRuntime(21610): java.lang.RuntimeException: Unable to instantiate application org.kman.AquaMail.core.AquaMailApplication: java.lang.ClassNotFoundException: Didn't find class "org.kman.AquaMail.core.AquaMailApplication" on path: DexPathList[[],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
01-10 02:06:55.721 E/AndroidRuntime(21610): at android.app.LoadedApk.makeApplication(LoadedApk.java:563)
01-10 02:06:55.721 E/AndroidRuntime(21610): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4491)
01-10 02:06:55.721 E/AndroidRuntime(21610): at android.app.ActivityThread.access$1500(ActivityThread.java:144)
01-10 02:06:55.721 E/AndroidRuntime(21610): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1339)
01-10 02:06:55.721 E/AndroidRuntime(21610): at android.os.Handler.dispatchMessage(Handler.java:102)
01-10 02:06:55.721 E/AndroidRuntime(21610): at android.os.Looper.loop(Looper.java:135)
01-10 02:06:55.721 E/AndroidRuntime(21610): at android.app.ActivityThread.main(ActivityThread.java:5221)
01-10 02:06:55.721 E/AndroidRuntime(21610): at java.lang.reflect.Method.invoke(Native Method)
01-10 02:06:55.721 E/AndroidRuntime(21610): at java.lang.reflect.Method.invoke(Method.java:372)
01-10 02:06:55.721 E/AndroidRuntime(21610): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
01-10 02:06:55.721 E/AndroidRuntime(21610): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
01-10 02:06:55.721 E/AndroidRuntime(21610): Caused by: java.lang.ClassNotFoundException: Didn't find class "org.kman.AquaMail.core.AquaMailApplication" on path: DexPathList[[],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
01-10 02:06:55.721 E/AndroidRuntime(21610): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
01-10 02:06:55.721 E/AndroidRuntime(21610): at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
01-10 02:06:55.721 E/AndroidRuntime(21610): at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
01-10 02:06:55.721 E/AndroidRuntime(21610): at android.app.Instrumentation.newApplication(Instrumentation.java:979)
01-10 02:06:55.721 E/AndroidRuntime(21610): at android.app.LoadedApk.makeApplication(LoadedApk.java:558)
01-10 02:06:55.721 E/AndroidRuntime(21610): ... 10 more
01-10 02:06:55.721 E/AndroidRuntime(21610): Suppressed: java.lang.ClassNotFoundException: org.kman.AquaMail.core.AquaMailApplication
01-10 02:06:55.721 E/AndroidRuntime(21610): at java.lang.Class.classForName(Native Method)
01-10 02:06:55.721 E/AndroidRuntime(21610): at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
01-10 02:06:55.721 E/AndroidRuntime(21610): at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
01-10 02:06:55.721 E/AndroidRuntime(21610): at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
01-10 02:06:55.721 E/AndroidRuntime(21610): ... 13 more
01-10 02:06:55.721 E/AndroidRuntime(21610): Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available
01-10 02:06:55.728 W/asset ( 740): Asset path /data/app/org.kman.AquaMail-2/base.apk is neither a directory nor file (type=1).
da...@spotify.com <da...@spotify.com> #9
Looks like a duplicate of 56296
en...@google.com <en...@google.com>
te...@gmail.com <te...@gmail.com> #10
I'm seeing this too when passing a parcelable in a bundle from the Application context to an Activity. I've solved it by setting the class loader on the parcel before trying to extract the parcelable. For example, in my GlobalState
public class GlobalState extends Application {
...
// _profile is: public class Profile implements Parcelable
// this uses a service to send the profile object in a bundle to
// result receivers in activities
Topics.dispatchProfileUpdated(GlobalState.this, _profile);
...
}
in the receiver I have
parcel.setClassLoader(getContext().getClassLoader());
_profile = parcel.getParcelable(Topics.TOPIC_PROFILE_PARAM_PROFILE);
public class GlobalState extends Application {
...
// _profile is: public class Profile implements Parcelable
// this uses a service to send the profile object in a bundle to
// result receivers in activities
Topics.dispatchProfileUpdated(GlobalState.this, _profile);
...
}
in the receiver I have
parcel.setClassLoader(getContext().getClassLoader());
_profile = parcel.getParcelable(Topics.TOPIC_PROFILE_PARAM_PROFILE);
va...@gmail.com <va...@gmail.com> #11
Same issue reported on Android 5.0 version, any solution provided by android development team?
r4...@gmail.com <r4...@gmail.com> #12
I can reproduce it with almost 100% RR with these steps:
1) Open a screen with map fragment
2) Scroll the map constantly
3) While scrolling, update application (install using adb).
In real life this step happens when automatic update starts
4) Observe the crash "Unable to instantiate application" at android.app.LoadedApk.makeApplication(LoadedApk.java:563)
at android.app.LoadedApk.initializeJavaContextClassLoader(LoadedApk.java:409)
Android 5.1, N5.
Activity manager throws warning:
Force removing ActivityRecord{2175709e u0 <cut>MapActivity t5094}: app died, no saved state
Unable to retrieve gids
android.content.pm.PackageManager$NameNotFoundException:com.asda.android
at android.app.ApplicationPackageManager.getPackageGids(ApplicationPackageManager.java:193)
at com.android.server.am.ActivityManagerService.startProcessLocked(ActivityManagerService.java:2930)
at com.android.server.am.ActivityManagerService.startProcessLocked(ActivityManagerService.java:2883)
at com.android.server.am.ActivityManagerService.startProcessLocked(ActivityManagerService.java:2768)
at com.android.server.am.ActivityStackSupervisor.startSpecificActivityLocked(ActivityStackSupervisor.java:1292)
at com.android.server.am.ActivityStack.resumeTopActivityInnerLocked(ActivityStack.java:1891)
at com.android.server.am.ActivityStack.resumeTopActivityLocked(ActivityStack.java:1455)
at com.android.server.am.ActivityStack.resumeTopActivityLocked(ActivityStack.java:1438)
at com.android.server.am.ActivityStack.finishCurrentActivityLocked(ActivityStack.java:2807)
at com.android.server.am.ActivityStack.finishActivityLocked(ActivityStack.java:2736)
at com.android.server.am.ActivityStack.forceStopPackageLocked(ActivityStack.java:3853)
at com.android.server.am.ActivityStackSupervisor.forceStopPackageLocked(ActivityStackSupervisor.java:2419)
at com.android.server.am.ActivityManagerService.forceStopPackageLocked(ActivityManagerService.java:5659)
at com.android.server.am.ActivityManagerService.access$400(ActivityManagerService.java:238)
at com.android.server.am.ActivityManagerService$MainHandler.handleMessage(ActivityManagerService.java:1556)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.os.HandlerThread.run(HandlerThread.java:61)
at com.android.server.ServiceThread.run(ServiceThread.java:46)
Spurious death for ProcessRecord{15de531 14790:com.asda.android/u0a204 }, curProc for 14790: null
I hope this will help to fix this ancient crash. And yes, it is not "obsolete".
1) Open a screen with map fragment
2) Scroll the map constantly
3) While scrolling, update application (install using adb).
In real life this step happens when automatic update starts
4) Observe the crash "Unable to instantiate application" at android.app.LoadedApk.makeApplication(LoadedApk.java:563)
at android.app.LoadedApk.initializeJavaContextClassLoader(LoadedApk.java:409)
Android 5.1, N5.
Activity manager throws warning:
Force removing ActivityRecord{2175709e u0 <cut>MapActivity t5094}: app died, no saved state
Unable to retrieve gids
android.content.pm.PackageManager$NameNotFoundException:
at android.app.ApplicationPackageManager.getPackageGids(ApplicationPackageManager.java:193)
at com.android.server.am.ActivityManagerService.startProcessLocked(ActivityManagerService.java:2930)
at com.android.server.am.ActivityManagerService.startProcessLocked(ActivityManagerService.java:2883)
at com.android.server.am.ActivityManagerService.startProcessLocked(ActivityManagerService.java:2768)
at com.android.server.am.ActivityStackSupervisor.startSpecificActivityLocked(ActivityStackSupervisor.java:1292)
at com.android.server.am.ActivityStack.resumeTopActivityInnerLocked(ActivityStack.java:1891)
at com.android.server.am.ActivityStack.resumeTopActivityLocked(ActivityStack.java:1455)
at com.android.server.am.ActivityStack.resumeTopActivityLocked(ActivityStack.java:1438)
at com.android.server.am.ActivityStack.finishCurrentActivityLocked(ActivityStack.java:2807)
at com.android.server.am.ActivityStack.finishActivityLocked(ActivityStack.java:2736)
at com.android.server.am.ActivityStack.forceStopPackageLocked(ActivityStack.java:3853)
at com.android.server.am.ActivityStackSupervisor.forceStopPackageLocked(ActivityStackSupervisor.java:2419)
at com.android.server.am.ActivityManagerService.forceStopPackageLocked(ActivityManagerService.java:5659)
at com.android.server.am.ActivityManagerService.access$400(ActivityManagerService.java:238)
at com.android.server.am.ActivityManagerService$MainHandler.handleMessage(ActivityManagerService.java:1556)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.os.HandlerThread.run(HandlerThread.java:61)
at com.android.server.ServiceThread.run(ServiceThread.java:46)
Spurious death for ProcessRecord{15de531 14790:
I hope this will help to fix this ancient crash. And yes, it is not "obsolete".
r4...@gmail.com <r4...@gmail.com> #13
There is a new scenario in 5.0+ involving WebView.
Since WebView implementation is now a separate component and gets updates via Play -- it may happen to be in the process of getting updated at the same time as the user is (unknowingly) trying to use WebView in an app.
The result is the app crashing (and of course it's the app, not Android, getting the blame).
I have crash logs from Play Developer Console, and would be happy to post them if needed (if there is any interest... so far, seems like there is none... would be glad to be wrong about it).
Since WebView implementation is now a separate component and gets updates via Play -- it may happen to be in the process of getting updated at the same time as the user is (unknowingly) trying to use WebView in an app.
The result is the app crashing (and of course it's the app, not Android, getting the blame).
I have crash logs from Play Developer Console, and would be happy to post them if needed (if there is any interest... so far, seems like there is none... would be glad to be wrong about it).
pa...@gmail.com <pa...@gmail.com> #14
Unbelievable ! Well done GOOGLE!
pa...@gmail.com <pa...@gmail.com> #15
Could someone from Google comment on how a bug is marked "Obsolete" when 1) no effort is made to find out if it's still there in 5.0 and 2) there is a comment saying the bug is present in 5.0?
Are all bugs reported against 5.0 and 5.1 now considered "obsolete" because you've got Android M coming up?
Are all bugs reported against 5.0 and 5.1 now considered "obsolete" because you've got Android M coming up?
Description
SETUP:
SyncAdapter runs on its own process.
All other code runs on the default application process.
There's a wrapper class around SharedPreferences that has set/get methods for prefs in the prefs file.
I wrote a small test method that loops forever setting and getting values (random) to/from a single pref in the prefs file.
Devices tested: Nexus 5, Nexus 4, Galaxy S3.
Expected behavior:
Value that was 'set' to the pref on either process would then be returned in the next 'get' calls on either process.
FIRST ISSUE:
Initially I had a static SharedPreferences object in the wrapper class that was init once via:
sPrefs = context.getSharedPreferences(PREFS_FILE, Context.MODE_MULTI_PROCESS | Context.MODE_PRIVATE);
Observed behavior:
Each process got the value that it set, not the latest one set.
i.e.
...
getTempString: "481" (process 17079) (time 1393930179666)
setTempString: "602" (process 16847)
getTempString: "481" (process 17079) (time 1393930179767)
getTempString: "602" (process 16847) (time 1393930179792)
getTempString: "481" (process 17079) (time 1393930179867)
...
This is easily reproducible, on all our test devices (Nexus 5, Nexus 4, Galaxy S3)
SECOND ISSUE:
After getting a suggestion on StackOverflow to not keep a static SharedPreferences object, I changed the wrapper class to init the SharedPreferences on each get/set.
That initially seemed to work, producing this log:
setTempString: "977" (process 15679)
getTempString: "977" (process 15679) (time 1393929223589)
getTempString: "977" (process 15415) (time 1393929223609)
getTempString: "977" (process 15679) (time 1393929223689)
getTempString: "977" (process 15415) (time 1393929223709)
However, after some short period of time (~1 min), the following weirdness happens:
...
getTempString: 332 (15679) (1393929288410)
getTempString: 332 (15415) (1393929288506)
getTempString: 332 (15679) (1393929288511)
setTempString: 392 (15415) <= this set was somehow 'ignored'
getTempString: 332 (15679) (1393929288618)
getTempString: 332 (15679) (1393929288718)
getTempString: 332 (15415) (1393929288720)
...
getTempString: 332 (15415) (1393929291536)
setTempString: 846 (15679) <= the next 'set' attempt after an 'ignored' set
getTempString: null (15415) (1393929291642) <= from this line forward, not only the current key was deleted, ALL THE KEYS ON THE FILE GOT DELETED
P.S. I've tried without Context.MODE_PRIVATE flag as well, no difference.