Element-android: Crash on startup

Created on 27 Mar 2020  路  2Comments  路  Source: vector-im/element-android

Hello,

Since some version (I upgraded a bunch at once so I can't tell which one), RiotX crashes on startup. Here's what seems to be the relevant logcat parts (I'm not used to Android development so please tell me if I should provide other things):

[03-27 17:26:46.685 2426:2426 W/REALM_JNI]
Java exception has been occurred. Terminate JNI by throwing a c++ exception.
(/Users/cm/Realm/realm-java-release/realm/realm-library/src/main/cpp/io_realm_internal_OsRealmConfig.cpp:163)

[03-27 17:26:46.685 2426:2426 W/REALM_JNI]
There is a pending Java exception.

[03-27 17:26:46.692 2426:2426 D/AndroidRuntime]
Shutting down VM

[03-27 17:26:46.694 2426:2426 E/AndroidRuntime]
FATAL EXCEPTION: main
Process: im.vector.riotx, PID: 2426
java.lang.RuntimeException: Unable to create application im.vector.riotx.VectorApplication: java.io.InvalidClassException: im.vector.matrix.android.internal.crypto.model.MXDeviceInfo; local class incompatible: stream classdesc serialVersionUID = -9102964973591845542, local class serialVersionUID = 5399830165027485869
    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5925)
    at android.app.ActivityThread.access$1100(ActivityThread.java:200)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1656)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loop(Looper.java:193)
    at android.app.ActivityThread.main(ActivityThread.java:6718)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Caused by: java.io.InvalidClassException: im.vector.matrix.android.internal.crypto.model.MXDeviceInfo; local class incompatible: stream classdesc serialVersionUID = -9102964973591845542, local class serialVersionUID = 5399830165027485869
    at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:625)
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1625)
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1520)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1776)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1353)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:373)
    at im.vector.matrix.android.internal.crypto.store.db.HelperKt.deserializeFromRealm(Helper.kt:99)
    at im.vector.matrix.android.internal.crypto.store.db.RealmCryptoStoreMigration$migrate$1.apply(RealmCryptoStoreMigration.kt:99)
    at io.realm.MutableRealmObjectSchema.transform(MutableRealmObjectSchema.java:299)
    at im.vector.matrix.android.internal.crypto.store.db.RealmCryptoStoreMigration.migrate(RealmCryptoStoreMigration.kt:96)
    at io.realm.BaseRealm$6.onMigrationNeeded(BaseRealm.java:782)
    at io.realm.internal.OsSharedRealm.runMigrationCallback(OsSharedRealm.java:533)
    at io.realm.internal.OsSharedRealm.nativeGetSharedRealm(Native Method)
    at io.realm.internal.OsSharedRealm.<init>(OsSharedRealm.java:171)
    at io.realm.internal.OsSharedRealm.getInstance(OsSharedRealm.java:241)
    at io.realm.BaseRealm.<init>(BaseRealm.java:136)
    at io.realm.BaseRealm.<init>(BaseRealm.java:103)
    at io.realm.Realm.<init>(Realm.java:163)
    at io.realm.Realm.createInstance(Realm.java:499)
    at io.realm.RealmCache.doCreateRealmOrGetFromCache(RealmCache.java:360)
    at io.realm.RealmCache.createRealmOrGetFromCache(RealmCache.java:290)
    at io.realm.Realm.getInstance(Realm.java:428)
    at im.vector.matrix.android.internal.crypto.store.db.HelperKt.doRealmQueryAndCopy(Helper.kt:43)
    at im.vector.matrix.android.internal.crypto.store.db.RealmCryptoStore.getAccount(RealmCryptoStore.kt:204)
    at im.vector.matrix.android.internal.crypto.MXOlmDevice.<init>(MXOlmDevice.kt:89)
    at im.vector.matrix.android.internal.crypto.MXOlmDevice_Factory.newInstance(MXOlmDevice_Factory.java:29)
    at im.vector.matrix.android.internal.crypto.MXOlmDevice_Factory.get(MXOlmDevice_Factory.java:21)
    at im.vector.matrix.android.internal.crypto.MXOlmDevice_Factory.get(MXOlmDevice_Factory.java:8)
    at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
    at im.vector.matrix.android.internal.crypto.DefaultCryptoService_Factory.get(DefaultCryptoService_Factory.java:164)
    at im.vector.matrix.android.internal.crypto.DefaultCryptoService_Factory.get(DefaultCryptoService_Factory.java:32)
    at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
    at dagger.internal.DelegateFactory.get(DelegateFactory.java:36)
    at im.vector.matrix.android.internal.session.room.DefaultEventRelationsAggregationTask_Factory.get(DefaultEventRelationsAggregationTask_Factory.java:26)

[03-27 17:26:46.694 2426:2426 E/AndroidRuntime]
    at im.vector.matrix.android.internal.session.room.DefaultEventRelationsAggregationTask_Factory.get(DefaultEventRelationsAggregationTask_Factory.java:9)
    at im.vector.matrix.android.internal.session.room.EventRelationsAggregationUpdater_Factory.get(EventRelationsAggregationUpdater_Factory.java:29)
    at im.vector.matrix.android.internal.session.room.EventRelationsAggregationUpdater_Factory.get(EventRelationsAggregationUpdater_Factory.java:8)
    at dagger.internal.SetFactory.get(SetFactory.java:126)
    at dagger.internal.SetFactory.get(SetFactory.java:37)
    at im.vector.matrix.android.internal.session.DefaultSession_Factory.get(DefaultSession_Factory.java:163)
    at im.vector.matrix.android.internal.session.DefaultSession_Factory.get(DefaultSession_Factory.java:38)
    at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
    at im.vector.matrix.android.internal.session.DaggerSessionComponent.session(DaggerSessionComponent.java:1186)
    at im.vector.matrix.android.internal.SessionManager.getOrCreateSession(SessionManager.kt:42)
    at im.vector.matrix.android.internal.auth.DefaultAuthenticationService.getLastAuthenticatedSession(DefaultAuthenticationService.kt:77)
    at im.vector.riotx.VectorApplication.onCreate(VectorApplication.kt:119)
    at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1154)
    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5920)
    ... 8 more

[03-27 17:26:46.705 3109:5034 W/ActivityManager]
  Force finishing activity im.vector.riotx/.features.Alias

[03-27 17:26:46.728 2426:2426 I/Process]
Sending signal. PID: 2426 SIG: 9

[03-27 17:26:46.747 3109:5034 I/ActivityManager]
Process im.vector.riotx (pid 2426) has died: fore TOP 

Running RiotX v0.18.1 (from F-Droid), on LineageOS v16.0 (Android 9).

Most helpful comment

Yes, we did a bad database migration at somepoint.
You'll have to unsinstall and re-install. sry for inconvenience

All 2 comments

Same issue, latest F-Droid, Android 9 LGv40

Yes, we did a bad database migration at somepoint.
You'll have to unsinstall and re-install. sry for inconvenience

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Yajo picture Yajo  路  3Comments

jwsp1 picture jwsp1  路  3Comments

Kekun picture Kekun  路  3Comments

532910 picture 532910  路  3Comments

532910 picture 532910  路  3Comments