Closed radvansky-tomas closed 7 years ago
Which Paper version is in use? On which Android version does it happen?
oops, sorry I see the version in the header
How often does it happen? All the time or just for a small percentage of users?
It happened on SKD26 (emulator) and on some xiaomi phone, i think it was android 5.0.2. But on these devices it was constant
Have the same problem on my Pixel and emulator with SDK26. Tried 2.1 and 2.5 paper version.
io.paperdb.PaperDbException: Couldn't read/deserialize file /data/user/0/se.euroaccident.appear.dev/files/io.paperdb/session_id_key.pt for table session_id_key
10-05 11:45:07.613 7371-7371/se.euroaccident.appear.dev E/BaseLoginPresenter: at io.paperdb.DbStoragePlainFile.readTableFile(DbStoragePlainFile.java:281)
10-05 11:45:07.613 7371-7371/se.euroaccident.appear.dev E/BaseLoginPresenter: at io.paperdb.DbStoragePlainFile.readTableFile(DbStoragePlainFile.java:270)
10-05 11:45:07.613 7371-7371/se.euroaccident.appear.dev E/BaseLoginPresenter: at io.paperdb.DbStoragePlainFile.readTableFile(DbStoragePlainFile.java:248)
10-05 11:45:07.613 7371-7371/se.euroaccident.appear.dev E/BaseLoginPresenter: at io.paperdb.DbStoragePlainFile.select(DbStoragePlainFile.java:147)
10-05 11:45:07.613 7371-7371/se.euroaccident.appear.dev E/BaseLoginPresenter: at io.paperdb.Book.read(Book.java:68)
10-05 11:45:07.613 7371-7371/se.euroaccident.appear.dev E/BaseLoginPresenter: at se.euroaccident.appear.data.storage.PersistentStorage.lambda$read$1(PersistentStorage.java:51)
10-05 11:45:07.613 7371-7371/se.euroaccident.appear.dev E/BaseLoginPresenter: at se.euroaccident.appear.data.storage.PersistentStorage$$Lambda$2.call(Unknown Source:6)
10-05 11:45:07.613 7371-7371/se.euroaccident.appear.dev E/BaseLoginPresenter: at io.reactivex.internal.operators.maybe.MaybeFromCallable.subscribeActual(MaybeFromCallable.java:46)
10-05 11:45:07.613 7371-7371/se.euroaccident.appear.dev E/BaseLoginPresenter: at io.reactivex.Maybe.subscribe(Maybe.java:3726)
10-05 11:45:07.613 7371-7371/se.euroaccident.appear.dev E/BaseLoginPresenter: at hu.akarnokd.rxjava2.debug.MaybeOnAssemblyCallable.subscribeActual(MaybeOnAssemblyCallable.java:43)
10-05 11:45:07.613 7371-7371/se.euroaccident.appear.dev E/BaseLoginPresenter: at io.reactivex.Maybe.subscribe(Maybe.java:3726)
10-05 11:45:07.613 7371-7371/se.euroaccident.appear.dev E/BaseLoginPresenter: at io.reactivex.internal.operators.maybe.MaybeFlatMapSingle.subscribeActual(MaybeFlatMapSingle.java:47)
10-05 11:45:07.613 7371-7371/se.euroaccident.appear.dev E/BaseLoginPresenter: at io.reactivex.Single.subscribe(Single.java:2702)
10-05 11:45:07.613 7371-7371/se.euroaccident.appear.dev E/BaseLoginPresenter: at hu.akarnokd.rxjava2.debug.SingleOnAssembly.subscribeActual(SingleOnAssembly.java:41)
10-05 11:45:07.613 7371-7371/se.euroaccident.appear.dev E/BaseLoginPresenter: at io.reactivex.Single.subscribe(Single.java:2702)
10-05 11:45:07.613 7371-7371/se.euroaccident.appear.dev E/BaseLoginPresenter: at io.reactivex.internal.operators.single.SingleFlatMapCompletable.subscribeActual(SingleFlatMapCompletable.java:44)
10-05 11:45:07.613 7371-7371/se.euroaccident.appear.dev E/BaseLoginPresenter: at io.reactivex.Completable.subscribe(Completable.java:1635)
10-05 11:45:07.613 7371-7371/se.euroaccident.appear.dev E/BaseLoginPresenter: at hu.akarnokd.rxjava2.debug.CompletableOnAssembly.subscribeActual(CompletableOnAssembly.java:39)
10-05 11:45:07.613 7371-7371/se.euroaccident.appear.dev E/BaseLoginPresenter: at io.reactivex.Completable.subscribe(Completable.java:1635)
10-05 11:45:07.613 7371-7371/se.euroaccident.appear.dev E/BaseLoginPresenter: at io.reactivex.internal.operators.maybe.MaybeFlatMapCompletable$FlatMapCompletableObserver.onSuccess(MaybeFlatMapCompletable.java:91)
10-05 11:45:07.613 7371-7371/se.euroaccident.appear.dev E/BaseLoginPresenter: at hu.akarnokd.rxjava2.debug.MaybeOnAssembly$OnAssemblyMaybeObserver.onSuccess(MaybeOnAssembly.java:68)
10-05 11:45:07.613 7371-7371/se.euroaccident.appear.dev E/BaseLoginPresenter: at io.reactivex.internal.operators.maybe.MaybeFromCallable.subscribeActual(MaybeFromCallable.java:61)
10-05 11:45:07.613 7371-7371/se.euroaccident.appear.dev E/BaseLoginPresenter: at io.reactivex.Maybe.subscribe(Maybe.java:3726)
10-05 11:45:07.613 7371-7371/se.euroaccident.appear.dev E/BaseLoginPresenter: at hu.akarnokd.rxjava2.debug.MaybeOnAssemblyCallable.subscribeActual(MaybeOnAssemblyCallable.java:43)
10-05 11:45:07.613 7371-7371/se.euroaccident.appear.dev E/BaseLoginPresenter: at io.reactivex.Maybe.subscribe(Maybe.java:3726)
Same for me on SDK26. Paper version 2.1 and 2.5. At the bottom lays next exception.
Caused by: com.esotericsoftware.kryo.KryoException: org.objenesis.ObjenesisException: java.lang.reflect.InvocationTargetException Serialization trace: mContent (io.paperdb.PaperTable) at com.esotericsoftware.kryo.serializers.ObjectField.read(ObjectField.java:144) at com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:543) at com.esotericsoftware.kryo.Kryo.readObject(Kryo.java:712) at io.paperdb.DbStoragePlainFile.readContent(DbStoragePlainFile.java:275) at io.paperdb.DbStoragePlainFile.readTableFile(DbStoragePlainFile.java:259) ... 48 more Caused by: org.objenesis.ObjenesisException: java.lang.reflect.InvocationTargetException at org.objenesis.instantiator.android.Android18Instantiator.findConstructorIdForJavaLangObjectConstructor(Android18Instantiator.java:84) at org.objenesis.instantiator.android.Android18Instantiator.
(Android18Instantiator.java:39) at org.objenesis.strategy.StdInstantiatorStrategy.newInstantiatorOf(StdInstantiatorStrategy.java:86) at com.esotericsoftware.kryo.Kryo$DefaultInstantiatorStrategy.newInstantiatorOf(Kryo.java:1323) at com.esotericsoftware.kryo.Kryo.newInstantiator(Kryo.java:1127) at com.esotericsoftware.kryo.Kryo.newInstance(Kryo.java:1136) at com.esotericsoftware.kryo.serializers.FieldSerializer.create(FieldSerializer.java:562) at com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer.read(CompatibleFieldSerializer.java:71) at com.esotericsoftware.kryo.Kryo.readObject(Kryo.java:734) at com.esotericsoftware.kryo.serializers.ObjectField.read(ObjectField.java:125) ... 52 more Caused by: java.lang.reflect.InvocationTargetException at java.lang.reflect.Method.invoke(Native Method) at org.objenesis.instantiator.android.Android18Instantiator.findConstructorIdForJavaLangObjectConstructor(Android18Instantiator.java:72) ... 61 more Caused by: java.lang.UnsupportedOperationException: ObjectStreamClass.getConstructorId(Class<?>) is not supported on SDK 25 at java.io.ObjectStreamClass.getConstructorId(ObjectStreamClass.java:2294) ... 63 more Caused by: hu.akarnokd.rxjava2.debug.RxJavaAssemblyException
could you upload to GitHub a small project to reproduce this issue?
Sure i'll try to do it now. I also found a bug in Kryo github - that seems should resolve my issue in v4.0.1 and it's strange because paper is already using this version.
Sorry while doing an example project actually found that it was our fault. I found in build file next line:
resolutionStrategy { force 'org.objenesis:objenesis:2.1' }
After updating to 2.5.1 an issue was fixed. Idk right now what part of our project uses 2.1 version, will test it more and message to you if i'll find something else.
Same here sorry
ok, closing the issue
Hi I have this crash happening now:
10-02 11:52:12.161 9782-9782/com.healthera.healtheraapp W/System.err: io.paperdb.PaperDbException: Couldn't read/deserialize file /data/user/0/com.healthera.healtheraapp/files/io.paperdb/key_mini_users.pt for table key_mini_users 10-02 11:52:12.161 9782-9782/com.healthera.healtheraapp W/System.err: at io.paperdb.DbStoragePlainFile.readTableFile(DbStoragePlainFile.java:266) 10-02 11:52:12.161 9782-9782/com.healthera.healtheraapp W/System.err: at io.paperdb.DbStoragePlainFile.select(DbStoragePlainFile.java:151) 10-02 11:52:12.161 9782-9782/com.healthera.healtheraapp W/System.err: at io.paperdb.Book.read(Book.java:68) 10-02 11:52:12.161 9782-9782/com.healthera.healtheraapp W/System.err: at io.paperdb.Book.read(Book.java:53) 10-02 11:52:12.162 9782-9782/com.healthera.healtheraapp W/System.err: at com.healthera.healtheraapp.datamanagers.DataManager.getMiniUsers(DataManager.java:79) 10-02 11:52:12.162 9782-9782/com.healthera.healtheraapp W/System.err: at com.healthera.healtheraapp.datamanagers.DataManager.getMiniUser(DataManager.java:56) 10-02 11:52:12.162 9782-9782/com.healthera.healtheraapp W/System.err: at com.healthera.healtheraapp.datamanagers.DataManager.saveUsersPreferredPharmacy(DataManager.java:29) 10-02 11:52:12.162 9782-9782/com.healthera.healtheraapp W/System.err: at com.healthera.healtheraapp.managers.SyncManager$7.onSuccess(SyncManager.java:238) 10-02 11:52:12.162 9782-9782/com.healthera.healtheraapp W/System.err: at com.healthera.healtheraapp.managers.SyncManager$7.onSuccess(SyncManager.java:221) 10-02 11:52:12.163 9782-9782/com.healthera.healtheraapp W/System.err: at com.healthera.healtheraapp.http.base.BaseHttpClient$1$3.run(BaseHttpClient.java:124) 10-02 11:52:12.163 9782-9782/com.healthera.healtheraapp W/System.err: at android.os.Handler.handleCallback(Handler.java:789) 10-02 11:52:12.163 9782-9782/com.healthera.healtheraapp W/System.err: at android.os.Handler.dispatchMessage(Handler.java:98) 10-02 11:52:12.163 9782-9782/com.healthera.healtheraapp W/System.err: at android.os.Looper.loop(Looper.java:164) 10-02 11:52:12.163 9782-9782/com.healthera.healtheraapp W/System.err: at android.app.ActivityThread.main(ActivityThread.java:6541) 10-02 11:52:12.163 9782-9782/com.healthera.healtheraapp W/System.err: at java.lang.reflect.Method.invoke(Native Method) 10-02 11:52:12.163 9782-9782/com.healthera.healtheraapp W/System.err: at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) 10-02 11:52:12.163 9782-9782/com.healthera.healtheraapp W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767) 10-02 11:52:12.164 9782-9782/com.healthera.healtheraapp W/System.err: Caused by: com.esotericsoftware.kryo.KryoException: org.objenesis.ObjenesisException: java.lang.reflect.InvocationTargetException 10-02 11:52:12.164 9782-9782/com.healthera.healtheraapp W/System.err: Serialization trace: 10-02 11:52:12.164 9782-9782/com.healthera.healtheraapp W/System.err: miniUsers (com.healthera.healtheraapp.datamanagers.objects.MiniUsers) 10-02 11:52:12.164 9782-9782/com.healthera.healtheraapp W/System.err: mContent (io.paperdb.PaperTable) 10-02 11:52:12.164 9782-9782/com.healthera.healtheraapp W/System.err: at com.esotericsoftware.kryo.serializers.ObjectField.read(ObjectField.java:144) 10-02 11:52:12.164 9782-9782/com.healthera.healtheraapp W/System.err: at com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer.read(CompatibleFieldSerializer.java:145) 10-02 11:52:12.165 9782-9782/com.healthera.healtheraapp W/System.err: at com.esotericsoftware.kryo.Kryo.readObject(Kryo.java:734) 10-02 11:52:12.165 9782-9782/com.healthera.healtheraapp W/System.err: at com.esotericsoftware.kryo.serializers.ObjectField.read(ObjectField.java:125) 10-02 11:52:12.165 9782-9782/com.healthera.healtheraapp W/System.err: at com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:543) 10-02 11:52:12.165 9782-9782/com.healthera.healtheraapp W/System.err: at com.esotericsoftware.kryo.Kryo.readObject(Kryo.java:712) 10-02 11:52:12.165 9782-9782/com.healthera.healtheraapp W/System.err: at io.paperdb.DbStoragePlainFile.readContent(DbStoragePlainFile.java:275) 10-02 11:52:12.165 9782-9782/com.healthera.healtheraapp W/System.err: at io.paperdb.DbStoragePlainFile.readTableFile(DbStoragePlainFile.java:259) 10-02 11:52:12.165 9782-9782/com.healthera.healtheraapp W/System.err: ... 16 more 10-02 11:52:12.166 9782-9782/com.healthera.healtheraapp W/System.err: Caused by: org.objenesis.ObjenesisException: java.lang.reflect.InvocationTargetException 10-02 11:52:12.166 9782-9782/com.healthera.healtheraapp W/System.err: at org.objenesis.instantiator.android.Android18Instantiator.findConstructorIdForJavaLangObjectConstructor(Android18Instantiator.java:84) 10-02 11:52:12.166 9782-9782/com.healthera.healtheraapp W/System.err: at org.objenesis.instantiator.android.Android18Instantiator.<init>(Android18Instantiator.java:39) 10-02 11:52:12.166 9782-9782/com.healthera.healtheraapp W/System.err: at org.objenesis.strategy.StdInstantiatorStrategy.newInstantiatorOf(StdInstantiatorStrategy.java:96) 10-02 11:52:12.166 9782-9782/com.healthera.healtheraapp W/System.err: at com.esotericsoftware.kryo.Kryo$DefaultInstantiatorStrategy.newInstantiatorOf(Kryo.java:1323) 10-02 11:52:12.166 9782-9782/com.healthera.healtheraapp W/System.err: at com.esotericsoftware.kryo.Kryo.newInstantiator(Kryo.java:1127) 10-02 11:52:12.166 9782-9782/com.healthera.healtheraapp W/System.err: at com.esotericsoftware.kryo.Kryo.newInstance(Kryo.java:1136) 10-02 11:52:12.166 9782-9782/com.healthera.healtheraapp W/System.err: at com.esotericsoftware.kryo.serializers.FieldSerializer.create(FieldSerializer.java:562) 10-02 11:52:12.167 9782-9782/com.healthera.healtheraapp W/System.err: at com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer.read(CompatibleFieldSerializer.java:71) 10-02 11:52:12.167 9782-9782/com.healthera.healtheraapp W/System.err: at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:816) 10-02 11:52:12.167 9782-9782/com.healthera.healtheraapp W/System.err: at com.esotericsoftware.kryo.serializers.CollectionSerializer.read(CollectionSerializer.java:134) 10-02 11:52:12.167 9782-9782/com.healthera.healtheraapp W/System.err: at com.esotericsoftware.kryo.serializers.CollectionSerializer.read(CollectionSerializer.java:40) 10-02 11:52:12.167 9782-9782/com.healthera.healtheraapp W/System.err: at com.esotericsoftware.kryo.Kryo.readObject(Kryo.java:734) 10-02 11:52:12.168 9782-9782/com.healthera.healtheraapp W/System.err: at com.esotericsoftware.kryo.serializers.ObjectField.read(ObjectField.java:125) 10-02 11:52:12.169 9782-9782/com.healthera.healtheraapp W/System.err: ... 23 more 10-02 11:52:12.169 9782-9782/com.healthera.healtheraapp W/System.err: Caused by: java.lang.reflect.InvocationTargetException 10-02 11:52:12.170 9782-9782/com.healthera.healtheraapp W/System.err: at java.lang.reflect.Method.invoke(Native Method) 10-02 11:52:12.170 9782-9782/com.healthera.healtheraapp W/System.err: at org.objenesis.instantiator.android.Android18Instantiator.findConstructorIdForJavaLangObjectConstructor(Android18Instantiator.java:72) 10-02 11:52:12.170 9782-9782/com.healthera.healtheraapp W/System.err: ... 35 more 10-02 11:52:12.170 9782-9782/com.healthera.healtheraapp W/System.err: Caused by: java.lang.UnsupportedOperationException: ObjectStreamClass.getConstructorId(Class<?>) is not supported on SDK 26 10-02 11:52:12.170 9782-9782/com.healthera.healtheraapp W/System.err: at java.io.ObjectStreamClass.getConstructorId(ObjectStreamClass.java:2294) 10-02 11:52:12.170 9782-9782/com.healthera.healtheraapp W/System.err: ... 37 more