upgrading from 1.6.2 to 1.6.10 throws migration exception for the encryption keys
unplugged-maksim opened this issue · 5 comments
Steps to reproduce
- Install Element messenger version 1.6.2 or below
- Follow the auth process
- Send some messages
- try to install the latest 1.6.10 or above version, the app crashes at startup and you loose the session and keys
Outcome
Upgrade from old version to new
What happened instead?
Lost my session and encryption keys.
Your phone model
Xiaomi 12T PRo
Operating system version
14
Application version and app store
Element 1.6.2 kotlin crypto
Homeserver
matrix.unpluggedsystems.app
Will you send logs?
Yes
Are you willing to provide a PR?
No
Crash logs:
Failure while calling rust migration method
2024-04-04 14:44:12.763 9076-9201 MigrateEAtoEROperation im.vector.app.debug E ExtractMigrationDataFailure(cause=org.matrix.rustcomponents.sdk.crypto.MigrationException$Generic: errorMessage=Failed to run migrations)
2024-04-04 14:44:12.763 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at org.matrix.android.sdk.internal.crypto.store.db.migration.rust.ExtractMigrationDataUseCase.extractData(ExtractMigrationDataUseCase.kt:34)
2024-04-04 14:44:12.763 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at org.matrix.android.sdk.internal.session.MigrateEAtoEROperation.dynamicExecute(MigrateEAtoEROperation.kt:70)
2024-04-04 14:44:12.763 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at org.matrix.android.sdk.internal.crypto.store.db.migration.MigrateCryptoTo022.doMigrate(MigrateCryptoTo022.kt:40)
2024-04-04 14:44:12.763 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at org.matrix.android.sdk.internal.util.database.RealmMigrator.perform(RealmMigrator.kt:31)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at org.matrix.android.sdk.internal.crypto.store.db.RealmCryptoStoreMigration.doMigrate(RealmCryptoStoreMigration.kt:93)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at org.matrix.android.sdk.internal.util.database.MatrixRealmMigration.migrate(MatrixRealmMigration.kt:31)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at io.realm.BaseRealm$6.onMigrationNeeded(BaseRealm.java:892)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at io.realm.internal.OsSharedRealm.runMigrationCallback(OsSharedRealm.java:581)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at io.realm.internal.OsSharedRealm.nativeGetSharedRealm(Native Method)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at io.realm.internal.OsSharedRealm.(OsSharedRealm.java:175)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at io.realm.internal.OsSharedRealm.getInstance(OsSharedRealm.java:260)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at io.realm.BaseRealm.(BaseRealm.java:142)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at io.realm.BaseRealm.(BaseRealm.java:109)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at io.realm.Realm.(Realm.java:161)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at io.realm.Realm.createInstance(Realm.java:535)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at io.realm.RealmCache.createInstance(RealmCache.java:508)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at io.realm.RealmCache.doCreateRealmOrGetFromCache(RealmCache.java:461)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at io.realm.RealmCache.createRealmOrGetFromCache(RealmCache.java:422)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at io.realm.Realm.getInstance(Realm.java:464)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at org.matrix.android.sdk.internal.crypto.store.db.HelperKt.doRealmTransaction(Helper.kt:62)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at org.matrix.android.sdk.internal.crypto.store.RustCryptoStore.(RustCryptoStore.kt:89)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at org.matrix.android.sdk.internal.crypto.store.RustCryptoStore_Factory.newInstance(RustCryptoStore_Factory.java:82)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at org.matrix.android.sdk.internal.crypto.store.RustCryptoStore_Factory.get(RustCryptoStore_Factory.java:66)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at org.matrix.android.sdk.internal.crypto.store.RustCryptoStore_Factory.get(RustCryptoStore_Factory.java:17)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at org.matrix.android.sdk.internal.crypto.RustCryptoService_Factory.get(RustCryptoService_Factory.java:143)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at org.matrix.android.sdk.internal.crypto.RustCryptoService_Factory.get(RustCryptoService_Factory.java:27)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at dagger.internal.DelegateFactory.get(DelegateFactory.java:36)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at org.matrix.android.sdk.internal.session.room.timeline.RoomSummaryEventDecryptor$1.invokeSuspend(RoomSummaryEventDecryptor.kt:72)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at android.os.Handler.handleCallback(Handler.java:942)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at android.os.Handler.dispatchMessage(Handler.java:99)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at android.os.Looper.loopOnce(Looper.java:240)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at android.os.Looper.loop(Looper.java:351)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at android.os.HandlerThread.run(HandlerThread.java:67)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E Caused by: org.matrix.rustcomponents.sdk.crypto.MigrationException$Generic: errorMessage=Failed to run migrations
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at org.matrix.rustcomponents.sdk.crypto.FfiConverterTypeMigrationError.read(matrix_sdk_crypto_ffi.kt:5197)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at org.matrix.rustcomponents.sdk.crypto.FfiConverterTypeMigrationError.read(matrix_sdk_crypto_ffi.kt:5192)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at org.matrix.rustcomponents.sdk.crypto.FfiConverter$DefaultImpls.liftFromRustBuffer(matrix_sdk_crypto_ffi.kt:171)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at org.matrix.rustcomponents.sdk.crypto.FfiConverterRustBuffer$DefaultImpls.liftFromRustBuffer(matrix_sdk_crypto_ffi.kt:183)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at org.matrix.rustcomponents.sdk.crypto.FfiConverterTypeMigrationError.liftFromRustBuffer(matrix_sdk_crypto_ffi.kt:5192)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at org.matrix.rustcomponents.sdk.crypto.FfiConverterTypeMigrationError.liftFromRustBuffer(matrix_sdk_crypto_ffi.kt:5192)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at org.matrix.rustcomponents.sdk.crypto.FfiConverterRustBuffer$DefaultImpls.lift(matrix_sdk_crypto_ffi.kt:184)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at org.matrix.rustcomponents.sdk.crypto.FfiConverterTypeMigrationError.lift(matrix_sdk_crypto_ffi.kt:5192)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at org.matrix.rustcomponents.sdk.crypto.FfiConverterTypeMigrationError.lift(matrix_sdk_crypto_ffi.kt:5192)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at org.matrix.rustcomponents.sdk.crypto.MigrationException$ErrorHandler.lift(matrix_sdk_crypto_ffi.kt:5186)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at org.matrix.rustcomponents.sdk.crypto.MigrationException$ErrorHandler.lift(matrix_sdk_crypto_ffi.kt:5185)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at org.matrix.rustcomponents.sdk.crypto.Matrix_sdk_crypto_ffiKt.checkCallStatus(matrix_sdk_crypto_ffi.kt:234)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at org.matrix.rustcomponents.sdk.crypto.Matrix_sdk_crypto_ffiKt.access$checkCallStatus(matrix_sdk_crypto_ffi.kt:1)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at org.matrix.rustcomponents.sdk.crypto.Matrix_sdk_crypto_ffiKt.migrate(matrix_sdk_crypto_ffi.kt:7843)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at org.matrix.android.sdk.internal.session.MigrateEAtoEROperation$dynamicExecute$1.invoke(MigrateEAtoEROperation.kt:71)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at org.matrix.android.sdk.internal.session.MigrateEAtoEROperation$dynamicExecute$1.invoke(MigrateEAtoEROperation.kt:70)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at org.matrix.android.sdk.internal.crypto.store.db.migration.rust.ExtractMigrationDataUseCase.extract(ExtractMigrationDataUseCase.kt:52)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E at org.matrix.android.sdk.internal.crypto.store.db.migration.rust.ExtractMigrationDataUseCase.extractData(ExtractMigrationDataUseCase.kt:32)
2024-04-04 14:44:12.764 9076-9201 MigrateEAtoEROperation im.vector.app.debug E ... 37 more
I face the same issue, and this exception is raised from the rust sdk makes, it harder to debug
Before upgrading to element 1.6.10, could you try this modification
Before upgrading to element 1.6.10, could you try this modification
ok let me try
Before upgrading to element 1.6.10, could you try this modification
Yes that changes fix the crash issue. @yostyle thank you !