-
Notifications
You must be signed in to change notification settings - Fork 1.3k
[Bug]: v5.4.0 beta Crash on StartUp (java.lang.IllegalStateException) #6314
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Thanks Chris for the report! 🙂 I have often have this issue when manually switching between versions. The workaround is to reset the app's data. If normal users (as opposed to testers) also get the crash then obviously it would be a big issue. |
Hi, @nicolas-raoul. This was after an update from the Play Store, and before I had to find and install the previous version's APK. |
I don't remember a schema change somehow, will take some time out to confirm this error message before releasing it to all the users. |
I just wanted to confirm that this crash happens after a normal Google Play Store App update. The app works again after deleting the app data but regular users should not need to do this. App version 5.4.0~f977e1677 |
@Discostu36 By "normal", do you mean "not beta testing"? 😱 |
I meant that the issue happens after a "normal" beta update from Google Play, not a manual switch between versions. |
I also experienced a crash. This is a 100% reproducible issue and will likely happen to all the users. Thank you @chrisdebian @Discostu36 for reporting this! |
I'll try bumping up the db version and reproducing this issue again as a mitigation step before figuring out the commit that might be causing this. |
Would Renovate help with this? |
Thanks @chrisdebian for the suggestion! Let me explore this a bit. I have raised #6319 to fix this crash. It will take some time for the Google Play review, but you can test the prodDebug apk available under the PR by the GitHub action :) |
Thanks, @RitikaPahwa4444 . Not sure about the PR action, but I'll try. Chris |
It's available on Google Play Store now. |
Not for me, yet; I'll keep refreshing. |
Summary
I submitted this by email, when the app crashed, but adding here for clarity.
The app tried to open, but crashed immediately, triggering the bug report via email.
I installed version 5.3.0~5b5aeead8 and this behaves as expected.
`USER_COMMENT=Opening the app
APP_VERSION_CODE=1051
APP_VERSION_NAME=5.4.0
ANDROID_VERSION=15
PHONE_MODEL=Pixel 6
STACK_TRACE=java.lang.RuntimeException: Unable to start activity ComponentInfo{fr.free.nrw.commons/fr.free.nrw.commons.contributions.MainActivity}: java.lang.IllegalStateException: Room cannot verify the data integrity. Looks like you've changed schema but forgot to update the version number. You can simply fix this by increasing the version number. Expected identity hash: acf149ff10775684ee87f489f28e0bd3, found: cf6130bbb8de1adab9a76ddd7e57633c
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4206)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4393)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:222)
at android.app.servertransaction.TransactionExecutor.executeNonLifecycleItem(TransactionExecutor.java:133)
at android.app.servertransaction.TransactionExecutor.executeTransactionItems(TransactionExecutor.java:103)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:80)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2773)
at android.os.Handler.dispatchMessage(Handler.java:109)
at android.os.Looper.loopOnce(Looper.java:232)
at android.os.Looper.loop(Looper.java:317)
at android.app.ActivityThread.main(ActivityThread.java:8934)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:591)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:911)
Caused by: java.lang.IllegalStateException: Room cannot verify the data integrity. Looks like you've changed schema but forgot to update the version number. You can simply fix this by increasing the version number. Expected identity hash: acf149ff10775684ee87f489f28e0bd3, found: cf6130bbb8de1adab9a76ddd7e57633c
at androidx.room.RoomOpenHelper.checkIdentity(RoomOpenHelper.kt:146)
at androidx.room.RoomOpenHelper.onOpen(RoomOpenHelper.kt:127)
at androidx.sqlite.db.framework.FrameworkSQLiteOpenHelper$OpenHelper.onOpen(FrameworkSQLiteOpenHelper.kt:287)
at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:426)
at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:316)
at androidx.sqlite.db.framework.FrameworkSQLiteOpenHelper$OpenHelper.getWritableOrReadableDatabase(FrameworkSQLiteOpenHelper.kt:232)
at androidx.sqlite.db.framework.FrameworkSQLiteOpenHelper$OpenHelper.innerGetDatabase(FrameworkSQLiteOpenHelper.kt:190)
at androidx.sqlite.db.framework.FrameworkSQLiteOpenHelper$OpenHelper.getSupportDatabase(FrameworkSQLiteOpenHelper.kt:151)
at androidx.sqlite.db.framework.FrameworkSQLiteOpenHelper.getWritableDatabase(FrameworkSQLiteOpenHelper.kt:104)
at androidx.room.RoomDatabase.inTransaction(RoomDatabase.kt:632)
at androidx.room.RoomDatabase.assertNotSuspendingTransaction(RoomDatabase.kt:451)
at androidx.room.RoomDatabase.query(RoomDatabase.kt:480)
at androidx.room.util.DBUtil.query(DBUtil.kt:75)
at fr.free.nrw.commons.contributions.ContributionDao_Impl$7.call(ContributionDao_Impl.java:1585)
at fr.free.nrw.commons.contributions.ContributionDao_Impl$7.call(ContributionDao_Impl.java:1581)
at androidx.room.RxRoom$5.subscribe(RxRoom.java:227)
at io.reactivex.internal.operators.single.SingleCreate.subscribeActual(SingleCreate.java:39)
at io.reactivex.Single.subscribe(Single.java:3603)
at io.reactivex.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89)
at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:578)
at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
at java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:307)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at java.lang.Thread.run(Thread.java:1012)
IS_SILENT=false
USER_CRASH_DATE=2025-05-19T13:02:38.086+01:00
REPORT_ID=bb3c6bd1-6643-4dae-8692-0ee320b4d4bb
USER_EMAIL=
`
Steps to reproduce
Open app in Android, using the stock app icon.
Expected behaviour
The app should open and allow further actions to take place.
Actual behaviour
App briefly opened, then crashed.
Device name
Pixel 6
Android version
15
Commons app version
5.4.0
Device logs
USER_COMMENT=Opening the app
APP_VERSION_CODE=1051
APP_VERSION_NAME=5.4.0
ANDROID_VERSION=15
PHONE_MODEL=Pixel 6
STACK_TRACE=java.lang.RuntimeException: Unable to start activity ComponentInfo{fr.free.nrw.commons/fr.free.nrw.commons.contributions.MainActivity}: java.lang.IllegalStateException: Room cannot verify the data integrity. Looks like you've changed schema but forgot to update the version number. You can simply fix this by increasing the version number. Expected identity hash: acf149ff10775684ee87f489f28e0bd3, found: cf6130bbb8de1adab9a76ddd7e57633c
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4206)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4393)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:222)
at android.app.servertransaction.TransactionExecutor.executeNonLifecycleItem(TransactionExecutor.java:133)
at android.app.servertransaction.TransactionExecutor.executeTransactionItems(TransactionExecutor.java:103)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:80)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2773)
at android.os.Handler.dispatchMessage(Handler.java:109)
at android.os.Looper.loopOnce(Looper.java:232)
at android.os.Looper.loop(Looper.java:317)
at android.app.ActivityThread.main(ActivityThread.java:8934)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:591)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:911)
Caused by: java.lang.IllegalStateException: Room cannot verify the data integrity. Looks like you've changed schema but forgot to update the version number. You can simply fix this by increasing the version number. Expected identity hash: acf149ff10775684ee87f489f28e0bd3, found: cf6130bbb8de1adab9a76ddd7e57633c
at androidx.room.RoomOpenHelper.checkIdentity(RoomOpenHelper.kt:146)
at androidx.room.RoomOpenHelper.onOpen(RoomOpenHelper.kt:127)
at androidx.sqlite.db.framework.FrameworkSQLiteOpenHelper$OpenHelper.onOpen(FrameworkSQLiteOpenHelper.kt:287)
at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:426)
at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:316)
at androidx.sqlite.db.framework.FrameworkSQLiteOpenHelper$OpenHelper.getWritableOrReadableDatabase(FrameworkSQLiteOpenHelper.kt:232)
at androidx.sqlite.db.framework.FrameworkSQLiteOpenHelper$OpenHelper.innerGetDatabase(FrameworkSQLiteOpenHelper.kt:190)
at androidx.sqlite.db.framework.FrameworkSQLiteOpenHelper$OpenHelper.getSupportDatabase(FrameworkSQLiteOpenHelper.kt:151)
at androidx.sqlite.db.framework.FrameworkSQLiteOpenHelper.getWritableDatabase(FrameworkSQLiteOpenHelper.kt:104)
at androidx.room.RoomDatabase.inTransaction(RoomDatabase.kt:632)
at androidx.room.RoomDatabase.assertNotSuspendingTransaction(RoomDatabase.kt:451)
at androidx.room.RoomDatabase.query(RoomDatabase.kt:480)
at androidx.room.util.DBUtil.query(DBUtil.kt:75)
at fr.free.nrw.commons.contributions.ContributionDao_Impl$7.call(ContributionDao_Impl.java:1585)
at fr.free.nrw.commons.contributions.ContributionDao_Impl$7.call(ContributionDao_Impl.java:1581)
at androidx.room.RxRoom$5.subscribe(RxRoom.java:227)
at io.reactivex.internal.operators.single.SingleCreate.subscribeActual(SingleCreate.java:39)
at io.reactivex.Single.subscribe(Single.java:3603)
at io.reactivex.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89)
at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:578)
at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
at java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:307)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at java.lang.Thread.run(Thread.java:1012)
IS_SILENT=false
USER_CRASH_DATE=2025-05-19T13:02:38.086+01:00
REPORT_ID=bb3c6bd1-6643-4dae-8692-0ee320b4d4bb
USER_EMAIL=
Screen-shots
No response
Would you like to work on the issue?
Prefer not
The text was updated successfully, but these errors were encountered: