-
-
Notifications
You must be signed in to change notification settings - Fork 6.5k
Closed
Labels
Description
- I have searched open and closed issues for duplicates
- I am submitting a bug report for existing functionality that does not work as intended
- I have read https://github.com/signalapp/Signal-Android/wiki/Submitting-useful-bug-reports
- This isn't a feature request or a discussion topic
Bug description
As title says, upgrading vom v6.14.x to v6.24.3.0-JW, see also log below. Although this is happening on JW fork, this is very certain not anything related to that fork.
See also #12410 where something similar happened on an older upgrade.
It seems something fundamentally is broken with the db migration code.
The "SQLiteLog: (267) statement aborts at 10:" is also very interesting, but I can't figure out what the error is (maybe the log is cutoff here?)
Steps to reproduce
- upgrade version
- start new version
- crash
logcat
06-26 22:57:47.746 25251 25321 D V185_MessageRecipientsA: Executing: DROP index IF EXISTS mms_read_and_notified_and_thread_id_index
06-26 22:57:47.765 25251 25321 D V185_MessageRecipientsA: Executing: DROP index IF EXISTS mms_type_index
06-26 22:57:47.784 25251 25321 D V185_MessageRecipientsA: Executing: DROP index IF EXISTS mms_date_sent_index
06-26 22:57:47.811 25251 25321 D V185_MessageRecipientsA: Executing: DROP index IF EXISTS mms_date_server_index
06-26 22:57:47.828 25251 25321 D V185_MessageRecipientsA: Executing: DROP index IF EXISTS mms_thread_date_index
06-26 22:57:47.850 25251 25321 D V185_MessageRecipientsA: Executing: DROP index IF EXISTS mms_reactions_unread_index
06-26 22:57:47.863 25251 25321 D V185_MessageRecipientsA: Executing: DROP index IF EXISTS mms_story_type_index
06-26 22:57:47.876 25251 25321 D V185_MessageRecipientsA: Executing: DROP index IF EXISTS mms_parent_story_id_index
06-26 22:57:47.888 25251 25321 D V185_MessageRecipientsA: Executing: DROP index IF EXISTS mms_exported_index
06-26 22:57:47.901 25251 25321 D V185_MessageRecipientsA: Executing: DROP index IF EXISTS mms_id_type_payment_transactions_index
06-26 22:57:47.904 25251 25321 D V185_MessageRecipientsA: Executing: DROP index IF EXISTS mms_thread_story_parent_story_scheduled_date_index
06-26 22:57:47.930 25251 25321 D V185_MessageRecipientsA: Executing: DROP trigger IF EXISTS message_ai
06-26 22:57:47.932 25251 25321 D V185_MessageRecipientsA: Executing: DROP trigger IF EXISTS message_ad
06-26 22:57:47.933 25251 25321 D V185_MessageRecipientsA: Executing: DROP trigger IF EXISTS message_au
06-26 22:57:47.934 25251 25321 D V185_MessageRecipientsA: Executing: DROP index IF EXISTS message_quote_id_quote_author_scheduled_date_index
06-26 22:57:47.950 25251 25321 D V185_MessageRecipientsA: Executing: DROP trigger IF EXISTS msl_message_delete
06-26 22:57:49.058 25251 25321 D V185_MessageRecipientsA: Executing: CREATE INDEX message_read_and_notified_and_thread_id_index ON "message"(read, notified, thread_id)
06-26 22:57:49.369 25251 25321 D V185_MessageRecipientsA: Executing: CREATE INDEX message_type_index ON "message" (type)
06-26 22:57:49.569 25251 25321 D V185_MessageRecipientsA: Executing: CREATE INDEX message_date_sent_from_to_thread_index ON message (date_sent, from_recipient_id, to_recipient_id, thread_id)
06-26 22:57:49.770 25251 25321 D V185_MessageRecipientsA: Executing: CREATE INDEX message_date_server_index ON "message" (date_server)
06-26 22:57:49.966 25251 25321 D V185_MessageRecipientsA: Executing: CREATE INDEX message_thread_date_index ON "message" (thread_id, date_received)
06-26 22:57:50.207 25251 25321 D V185_MessageRecipientsA: Executing: CREATE INDEX message_reactions_unread_index ON "message" (reactions_unread)
06-26 22:57:50.387 25251 25321 D V185_MessageRecipientsA: Executing: CREATE INDEX message_story_type_index ON "message" (story_type)
06-26 22:57:50.571 2025 2025 D VideoCall_LowBattery: disconnectVideoCalls on low battery
06-26 22:57:50.571 2025 2025 D VideoCall_LowBattery: disconnectVideoCalls
06-26 22:57:50.572 25251 25321 D V185_MessageRecipientsA: Executing: CREATE INDEX message_parent_story_id_index ON "message" (parent_story_id)
06-26 22:57:50.572 797 797 D lights.sony: setLight : Type::BATTERY
06-26 22:57:50.573 797 797 D lights.sony: set_speaker_light_locked mode 1 colorRGB=4294901760 onMS=125 offMS=2875 result: 1
06-26 22:57:50.744 25251 25321 D V185_MessageRecipientsA: Executing: CREATE INDEX message_exported_index ON "message" (exported)
06-26 22:57:51.042 25251 25321 D V185_MessageRecipientsA: Executing: CREATE INDEX message_id_type_payment_transactions_index ON "message" (_id, type) WHERE type & 12884901888 != 0
06-26 22:57:51.135 25251 25321 D V185_MessageRecipientsA: Executing: CREATE INDEX message_thread_story_parent_story_scheduled_date_latest_revision_id_index ON message (thread_id, date_received, story_type, parent_story_id, scheduled_date, latest_revision_id)
06-26 22:57:51.451 25251 25321 D V185_MessageRecipientsA: Executing: CREATE TRIGGER message_ai AFTER INSERT ON message BEGIN
06-26 22:57:51.451 25251 25321 D V185_MessageRecipientsA: INSERT INTO message_fts(rowid, body, thread_id) VALUES (new._id, new.body, new.thread_id);
06-26 22:57:51.451 25251 25321 D V185_MessageRecipientsA: END
06-26 22:57:51.454 25251 25321 D V185_MessageRecipientsA: Executing: CREATE TRIGGER message_ad AFTER DELETE ON message BEGIN
06-26 22:57:51.454 25251 25321 D V185_MessageRecipientsA: INSERT INTO message_fts(message_fts, rowid, body, thread_id) VALUES ('delete', old._id, old.body, old.thread_id);
06-26 22:57:51.454 25251 25321 D V185_MessageRecipientsA: END
06-26 22:57:51.458 25251 25321 D V185_MessageRecipientsA: Executing: CREATE TRIGGER message_au AFTER UPDATE ON message BEGIN
06-26 22:57:51.458 25251 25321 D V185_MessageRecipientsA: INSERT INTO message_fts(message_fts, rowid, body, thread_id) VALUES('delete', old._id, old.body, old.thread_id);
06-26 22:57:51.458 25251 25321 D V185_MessageRecipientsA: INSERT INTO message_fts(rowid, body, thread_id) VALUES (new._id, new.body, new.thread_id);
06-26 22:57:51.458 25251 25321 D V185_MessageRecipientsA: END
06-26 22:57:51.462 25251 25321 D V185_MessageRecipientsA: Executing: CREATE INDEX message_quote_id_quote_author_scheduled_date_index ON message (quote_id, quote_author, scheduled_date)
06-26 22:57:51.711 25251 25321 D V185_MessageRecipientsA: Executing: CREATE TRIGGER msl_message_delete AFTER DELETE ON message
06-26 22:57:51.711 25251 25321 D V185_MessageRecipientsA: BEGIN
06-26 22:57:51.711 25251 25321 D V185_MessageRecipientsA: DELETE FROM msl_payload WHERE _id IN (SELECT payload_id FROM msl_message WHERE message_id = old._id);
06-26 22:57:51.711 25251 25321 D V185_MessageRecipientsA: END
06-26 22:57:51.900 25251 25321 D V185_MessageRecipientsA: [migration] get-self: 29 drop-dependents: 214 create-table: 3 copy-data: 648 update-data: 262 drop-old-table: 176 rename-table: 15 recreate-dependents: 2658 fk-check: 186 total: 4191
06-26 22:57:53.555 25251 25321 D V186_ForeignKeyIndicesM: [migration] original_message_id: 211 latest_revision_id: 191 from_recipient_id: 218 to_recipient_id: 216 reaction_author: 10 message_fix: 271 analyze: 518 total: 1635
06-26 22:57:53.576 25251 25321 D V187_MoreForeignKeyInde: [migration] call_link: 4 call_peer: 1 dlist_member: 2 msl_payload: 10 total: 17
06-26 22:57:53.602 25251 25321 I V188_FixMessageRecipien: Already performed the migration! No need to do this.
06-26 22:57:53.817 25251 25321 E SQLiteLog: (267) statement aborts at 10: [WITH needs_update AS (
06-26 22:57:53.817 25251 25321 E SQLiteLog: SELECT
06-26 22:57:53.817 25251 25321 E SQLiteLog: _id
06-26 22:57:53.817 25251 25321 E SQLiteLog: FROM
06-26 22:57:53.817 25251 25321 E SQLiteLog: message M
06-26 22:57:53.817 25251 25321 E SQLiteLog: WHERE
06-26 22:57:53.817 25251 25321 E SQLiteLog: (
06-26 22:57:53.817 25251 25321 E SQLiteLog: type & 262144 != 0
06-26 22:57:53.817 25251 25321 E SQLiteLog: OR type & 268435456 != 0
06-26 22:57:53.817 25251 25321 E SQLiteLog:
06-26 22:57:55.578 797 797 D lights.sony: setLight : Type::BATTERY
06-26 22:57:55.578 2025 2025 D VideoCall_LowBattery: disconnectVideoCalls on low battery
06-26 22:57:55.578 2025 2025 D VideoCall_LowBattery: disconnectVideoCalls
06-26 22:57:55.578 797 797 D lights.sony: set_speaker_light_locked mode 1 colorRGB=4294901760 onMS=125 offMS=2875 result: 1
06-26 22:57:56.262 25251 25321 W crime.securesm: JNI critical lock held for 202.939ms on Thread[28,tid=25321,Runnable,Thread*=0x7b147e0000,peer=0x12f83800,"signal-bounded-1"]
06-26 22:57:56.472 25251 25321 W crime.securesm: JNI critical lock held for 199.148ms on Thread[28,tid=25321,Runnable,Thread*=0x7b147e0000,peer=0x12f83800,"signal-bounded-1"]
06-26 22:57:56.477 25251 25321 E SqlCipherErrorHandler: Database 'signal.db' corrupted!
06-26 22:57:56.478 25251 25321 E SqlCipherErrorHandler: [sqlite] FullCode: 267 | ErrorCode: 11 | ExtendedErrorCode: 1 | Message: database disk image is malformed | ExtraMessage: null
06-26 22:57:56.478 25251 25321 E SqlCipherErrorHandler: Diagnostic results:
06-26 22:57:56.478 25251 25321 E SqlCipherErrorHandler: ===== PRAGMA integrity_check (same-connection) =====
06-26 22:57:56.478 25251 25321 E SqlCipherErrorHandler: ok
06-26 22:57:56.478 25251 25321 E SqlCipherErrorHandler:
06-26 22:57:56.478 25251 25321 E SqlCipherErrorHandler: ===== PRAGMA cipher_integrity_check (same-connection) =====
06-26 22:57:56.478 25251 25321 E SqlCipherErrorHandler:
06-26 22:57:56.489 25251 25321 W SearchTable: [fullyResetTables] Dropping tables and triggers...
06-26 22:57:56.494 25251 25321 W SqlCipherErrorHandler: Failed to clear full text search index.
06-26 22:57:56.494 25251 25321 W SqlCipherErrorHandler: java.lang.IllegalStateException: getDatabase called recursively
06-26 22:57:56.494 25251 25321 W SqlCipherErrorHandler: at net.zetetic.database.sqlcipher.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:318)
06-26 22:57:56.494 25251 25321 W SqlCipherErrorHandler: at net.zetetic.database.sqlcipher.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:278)
06-26 22:57:56.494 25251 25321 W SqlCipherErrorHandler: at org.thoughtcrime.securesms.database.SignalDatabase.getSignalWritableDatabase(SignalDatabase.kt:204)
06-26 22:57:56.494 25251 25321 W SqlCipherErrorHandler: at org.thoughtcrime.securesms.database.DatabaseTable.getWritableDatabase(DatabaseTable.java:91)
06-26 22:57:56.494 25251 25321 W SqlCipherErrorHandler: at org.thoughtcrime.securesms.database.SearchTable.fullyResetTables(SearchTable.kt:236)
06-26 22:57:56.494 25251 25321 W SqlCipherErrorHandler: at org.thoughtcrime.securesms.database.SqlCipherErrorHandler.attemptToClearFullTextSearchIndex(SqlCipherErrorHandler.kt:149)
06-26 22:57:56.494 25251 25321 W SqlCipherErrorHandler: at org.thoughtcrime.securesms.database.SqlCipherErrorHandler.onCorruption(SqlCipherErrorHandler.kt:38)
06-26 22:57:56.494 25251 25321 W SqlCipherErrorHandler: at net.zetetic.database.sqlcipher.SQLiteDatabase.onCorruption(SQLiteDatabase.java:348)
06-26 22:57:56.494 25251 25321 W SqlCipherErrorHandler: at net.zetetic.database.sqlcipher.SQLiteProgram.onCorruption(SQLiteProgram.java:117)
06-26 22:57:56.494 25251 25321 W SqlCipherErrorHandler: at net.zetetic.database.sqlcipher.SQLiteStatement.executeUpdateDelete(SQLiteStatement.java:74)
06-26 22:57:56.494 25251 25321 W SqlCipherErrorHandler: at net.zetetic.database.sqlcipher.SQLiteDatabase.executeSql(SQLiteDatabase.java:1993)
06-26 22:57:56.494 25251 25321 W SqlCipherErrorHandler: at net.zetetic.database.sqlcipher.SQLiteDatabase.execSQL(SQLiteDatabase.java:1900)
06-26 22:57:56.494 25251 25321 W SqlCipherErrorHandler: at org.thoughtcrime.securesms.database.helpers.migration.V191_UniqueMessageMigrationV2.migrate(V191_UniqueMessageMigrationV2.kt:43)
06-26 22:57:56.494 25251 25321 W SqlCipherErrorHandler: at org.thoughtcrime.securesms.database.helpers.SignalDatabaseMigrations.migrate(SignalDatabaseMigrations.kt:237)
06-26 22:57:56.494 25251 25321 W SqlCipherErrorHandler: at org.thoughtcrime.securesms.database.SignalDatabase.onUpgrade(SignalDatabase.kt:170)
06-26 22:57:56.494 25251 25321 W SqlCipherErrorHandler: at net.zetetic.database.sqlcipher.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:403)
06-26 22:57:56.494 25251 25321 W SqlCipherErrorHandler: at net.zetetic.database.sqlcipher.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:302)
06-26 22:57:56.494 25251 25321 W SqlCipherErrorHandler: at org.thoughtcrime.securesms.database.SignalDatabase.getRawReadableDatabase(SignalDatabase.kt:195)
06-26 22:57:56.494 25251 25321 W SqlCipherErrorHandler: at org.thoughtcrime.securesms.database.SignalDatabase$Companion.hasTable(SignalDatabase.kt:311)
06-26 22:57:56.494 25251 25321 W SqlCipherErrorHandler: at org.thoughtcrime.securesms.database.SignalDatabase.hasTable(Unknown Source:2)
06-26 22:57:56.494 25251 25321 W SqlCipherErrorHandler: at org.thoughtcrime.securesms.database.JobDatabase.dropTableIfPresent(JobDatabase.java:377)
06-26 22:57:56.494 25251 25321 W SqlCipherErrorHandler: at org.thoughtcrime.securesms.database.JobDatabase.lambda$onOpen$0$org-thoughtcrime-securesms-database-JobDatabase(JobDatabase.java:148)
06-26 22:57:56.494 25251 25321 W SqlCipherErrorHandler: at org.thoughtcrime.securesms.database.JobDatabase$$ExternalSyntheticLambda7.run(Unknown Source:2)
06-26 22:57:56.494 25251 25321 W SqlCipherErrorHandler: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
06-26 22:57:56.494 25251 25321 W SqlCipherErrorHandler: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
06-26 22:57:56.494 25251 25321 W SqlCipherErrorHandler: at java.lang.Thread.run(Thread.java:919)
06-26 22:57:56.494 25251 25321 W SqlCipherErrorHandler: at org.signal.core.util.concurrent.SignalExecutors$NumberedThreadFactory$1.run(SignalExecutors.java:109)
06-26 22:57:56.533 25251 25323 W crime.securesm: Long monitor contention with owner signal-bounded-1 (25321) at int net.zetetic.database.sqlcipher.SQLiteConnection.nativeExecuteForChangedRowCount(long, long)(SQLiteConnection.java:-2) waiters=0 in net.zetetic.database.sqlcipher.SQLiteDatabase net.zetetic.database.sqlcipher.SQLiteOpenHelper.getReadableDatabase() for 16.520s
06-26 22:57:56.538 25251 25321 E AndroidRuntime: FATAL EXCEPTION: signal-bounded-1
06-26 22:57:56.538 25251 25321 E AndroidRuntime: Process: org.thoughtcrime.securesms, PID: 25251
06-26 22:57:56.538 25251 25321 E AndroidRuntime: org.thoughtcrime.securesms.database.SqlCipherErrorHandler$DatabaseCorruptedError_BothChecksPass
06-26 22:57:56.538 25251 25321 E AndroidRuntime: at org.thoughtcrime.securesms.database.SqlCipherErrorHandler.onCorruption(SqlCipherErrorHandler.kt:39)
06-26 22:57:56.538 25251 25321 E AndroidRuntime: at net.zetetic.database.sqlcipher.SQLiteDatabase.onCorruption(SQLiteDatabase.java:348)
06-26 22:57:56.538 25251 25321 E AndroidRuntime: at net.zetetic.database.sqlcipher.SQLiteProgram.onCorruption(SQLiteProgram.java:117)
06-26 22:57:56.538 25251 25321 E AndroidRuntime: at net.zetetic.database.sqlcipher.SQLiteStatement.executeUpdateDelete(SQLiteStatement.java:74)
06-26 22:57:56.538 25251 25321 E AndroidRuntime: at net.zetetic.database.sqlcipher.SQLiteDatabase.executeSql(SQLiteDatabase.java:1993)
06-26 22:57:56.538 25251 25321 E AndroidRuntime: at net.zetetic.database.sqlcipher.SQLiteDatabase.execSQL(SQLiteDatabase.java:1900)
06-26 22:57:56.538 25251 25321 E AndroidRuntime: at org.thoughtcrime.securesms.database.helpers.migration.V191_UniqueMessageMigrationV2.migrate(V191_UniqueMessageMigrationV2.kt:43)
06-26 22:57:56.538 25251 25321 E AndroidRuntime: at org.thoughtcrime.securesms.database.helpers.SignalDatabaseMigrations.migrate(SignalDatabaseMigrations.kt:237)
06-26 22:57:56.538 25251 25321 E AndroidRuntime: at org.thoughtcrime.securesms.database.SignalDatabase.onUpgrade(SignalDatabase.kt:170)
06-26 22:57:56.538 25251 25321 E AndroidRuntime: at net.zetetic.database.sqlcipher.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:403)
06-26 22:57:56.538 25251 25321 E AndroidRuntime: at net.zetetic.database.sqlcipher.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:302)
06-26 22:57:56.538 25251 25321 E AndroidRuntime: at org.thoughtcrime.securesms.database.SignalDatabase.getRawReadableDatabase(SignalDatabase.kt:195)
06-26 22:57:56.538 25251 25321 E AndroidRuntime: at org.thoughtcrime.securesms.database.SignalDatabase$Companion.hasTable(SignalDatabase.kt:311)
06-26 22:57:56.538 25251 25321 E AndroidRuntime: at org.thoughtcrime.securesms.database.SignalDatabase.hasTable(Unknown Source:2)
06-26 22:57:56.538 25251 25321 E AndroidRuntime: at org.thoughtcrime.securesms.database.JobDatabase.dropTableIfPresent(JobDatabase.java:377)
06-26 22:57:56.538 25251 25321 E AndroidRuntime: at org.thoughtcrime.securesms.database.JobDatabase.lambda$onOpen$0$org-thoughtcrime-securesms-database-JobDatabase(JobDatabase.java:148)
06-26 22:57:56.538 25251 25321 E AndroidRuntime: at org.thoughtcrime.securesms.database.JobDatabase$$ExternalSyntheticLambda7.run(Unknown Source:2)
06-26 22:57:56.538 25251 25321 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
06-26 22:57:56.538 25251 25321 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
06-26 22:57:56.538 25251 25321 E AndroidRuntime: at java.lang.Thread.run(Thread.java:919)
06-26 22:57:56.538 25251 25321 E AndroidRuntime: at org.signal.core.util.concurrent.SignalExecutors$NumberedThreadFactory$1.run(SignalExecutors.java:109)
06-26 22:57:56.538 25251 25321 E AndroidRuntime: at [[ ↑↑ Original Trace ↑↑ ]].(:0)
06-26 22:57:56.538 25251 25321 E AndroidRuntime: at [[ ↓↓ Inferred Trace ↓↓ ]].(:0)
06-26 22:57:56.538 25251 25321 E AndroidRuntime: at Database 'signal.db' corrupted!.(:0)
06-26 22:57:56.538 25251 25321 E AndroidRuntime: at [sqlite] FullCode: 267 | ErrorCode: 11 | ExtendedErrorCode: 1 | Message: database disk image is malformed | ExtraMessage: null.(:0)
06-26 22:57:56.538 25251 25321 E AndroidRuntime: at Diagnostics results:.(:0)
06-26 22:57:56.538 25251 25321 E AndroidRuntime: at ===== PRAGMA integrity_check (same-connection) =====.(:0)
06-26 22:57:56.538 25251 25321 E AndroidRuntime: at ok.(:0)
06-26 22:57:56.538 25251 25321 E AndroidRuntime: at .(:0)
06-26 22:57:56.538 25251 25321 E AndroidRuntime: at ===== PRAGMA cipher_integrity_check (same-connection) =====.(:0)
06-26 22:57:56.538 25251 25321 E AndroidRuntime: at .(:0)
06-26 22:57:56.540 25251 25323 I SQLiteConnection: Database keying operation returned:0
06-26 22:57:56.540 25251 25321 E SignalUncaughtException:
06-26 22:57:56.540 25251 25321 E SignalUncaughtException: org.thoughtcrime.securesms.database.SqlCipherErrorHandler$DatabaseCorruptedError_BothChecksPass
06-26 22:57:56.540 25251 25321 E SignalUncaughtException: at org.thoughtcrime.securesms.database.SqlCipherErrorHandler.onCorruption(SqlCipherErrorHandler.kt:39)
06-26 22:57:56.540 25251 25321 E SignalUncaughtException: at net.zetetic.database.sqlcipher.SQLiteDatabase.onCorruption(SQLiteDatabase.java:348)
06-26 22:57:56.540 25251 25321 E SignalUncaughtException: at net.zetetic.database.sqlcipher.SQLiteProgram.onCorruption(SQLiteProgram.java:117)
06-26 22:57:56.540 25251 25321 E SignalUncaughtException: at net.zetetic.database.sqlcipher.SQLiteStatement.executeUpdateDelete(SQLiteStatement.java:74)
06-26 22:57:56.540 25251 25321 E SignalUncaughtException: at net.zetetic.database.sqlcipher.SQLiteDatabase.executeSql(SQLiteDatabase.java:1993)
06-26 22:57:56.540 25251 25321 E SignalUncaughtException: at net.zetetic.database.sqlcipher.SQLiteDatabase.execSQL(SQLiteDatabase.java:1900)
06-26 22:57:56.540 25251 25321 E SignalUncaughtException: at org.thoughtcrime.securesms.database.helpers.migration.V191_UniqueMessageMigrationV2.migrate(V191_UniqueMessageMigrationV2.kt:43)
06-26 22:57:56.540 25251 25321 E SignalUncaughtException: at org.thoughtcrime.securesms.database.helpers.SignalDatabaseMigrations.migrate(SignalDatabaseMigrations.kt:237)
06-26 22:57:56.540 25251 25321 E SignalUncaughtException: at org.thoughtcrime.securesms.database.SignalDatabase.onUpgrade(SignalDatabase.kt:170)
06-26 22:57:56.540 25251 25321 E SignalUncaughtException: at net.zetetic.database.sqlcipher.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:403)
06-26 22:57:56.540 25251 25321 E SignalUncaughtException: at net.zetetic.database.sqlcipher.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:302)
06-26 22:57:56.540 25251 25321 E SignalUncaughtException: at org.thoughtcrime.securesms.database.SignalDatabase.getRawReadableDatabase(SignalDatabase.kt:195)
06-26 22:57:56.540 25251 25321 E SignalUncaughtException: at org.thoughtcrime.securesms.database.SignalDatabase$Companion.hasTable(SignalDatabase.kt:311)
06-26 22:57:56.540 25251 25321 E SignalUncaughtException: at org.thoughtcrime.securesms.database.SignalDatabase.hasTable(Unknown Source:2)
06-26 22:57:56.540 25251 25321 E SignalUncaughtException: at org.thoughtcrime.securesms.database.JobDatabase.dropTableIfPresent(JobDatabase.java:377)
06-26 22:57:56.540 25251 25321 E SignalUncaughtException: at org.thoughtcrime.securesms.database.JobDatabase.lambda$onOpen$0$org-thoughtcrime-securesms-database-JobDatabase(JobDatabase.java:148)
06-26 22:57:56.540 25251 25321 E SignalUncaughtException: at org.thoughtcrime.securesms.database.JobDatabase$$ExternalSyntheticLambda7.run(Unknown Source:2)
06-26 22:57:56.540 25251 25321 E SignalUncaughtException: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
06-26 22:57:56.540 25251 25321 E SignalUncaughtException: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
06-26 22:57:56.540 25251 25321 E SignalUncaughtException: at java.lang.Thread.run(Thread.java:919)
06-26 22:57:56.540 25251 25321 E SignalUncaughtException: at org.signal.core.util.concurrent.SignalExecutors$NumberedThreadFactory$1.run(SignalExecutors.java:109)
06-26 22:57:56.540 25251 25321 E SignalUncaughtException: at [[ ↑↑ Original Trace ↑↑ ]].(:0)
06-26 22:57:56.540 25251 25321 E SignalUncaughtException: at [[ ↓↓ Inferred Trace ↓↓ ]].(:0)
06-26 22:57:56.540 25251 25321 E SignalUncaughtException: at Database 'signal.db' corrupted!.(:0)
06-26 22:57:56.540 25251 25321 E SignalUncaughtException: at [sqlite] FullCode: 267 | ErrorCode: 11 | ExtendedErrorCode: 1 | Message: database disk image is malformed | ExtraMessage: null.(:0)
06-26 22:57:56.540 25251 25321 E SignalUncaughtException: at Diagnostics results:.(:0)
06-26 22:57:56.540 25251 25321 E SignalUncaughtException: at ===== PRAGMA integrity_check (same-connection) =====.(:0)
06-26 22:57:56.540 25251 25321 E SignalUncaughtException: at ok.(:0)
06-26 22:57:56.540 25251 25321 E SignalUncaughtException: at .(:0)
06-26 22:57:56.540 25251 25321 E SignalUncaughtException: at ===== PRAGMA cipher_integrity_check (same-connection) =====.(:0)
06-26 22:57:56.540 25251 25321 E SignalUncaughtException: at .(:0)
06-26 22:57:56.548 25251 25336 D StorageSyncHelper: Scheduling a sync. Last sync was 12925113 ms ago.