Open erjoalgo opened 1 year ago
I'm also receiving this crash with the same backtrace (Signal version 6.28.6), except my database version is 163 (migrating to 201). It happens both from the app migrating its database after an update and from restoring from backup on a separate device.
signalbackup-tools
reports no issues with database integrity (full check).
This was also happening from an earlier version of Signal so it's likely been happening from an earlier database version also.
This appears to be a relevant excerpt and query of the crash:
CREATE VIRTUAL TABLE message_fts USING fts5(body, thread_id UNINDEXED, content=message, content_rowid=_id)
08-11 19:53:33.046 31431 31486 E AndroidRuntime: android.database.sqlite.SQLiteException: FullCode: 1 | ErrorCode: 1 | ExtendedErrorCode: 0 | Message: table message_fts already exists | ExtraMessage: , while compiling: CREATE VIRTUAL TABLE message_fts USING fts5(body, thread_id UNINDEXED, content=message, content_rowid=_id)
08-11 19:53:33.046 31431 31486 E AndroidRuntime: at net.zetetic.database.sqlcipher.SQLiteConnection.nativePrepareStatement(Native Method)
08-11 19:53:33.046 31431 31486 E AndroidRuntime: at net.zetetic.database.sqlcipher.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:925)
08-11 19:53:33.046 31431 31486 E AndroidRuntime: at net.zetetic.database.sqlcipher.SQLiteConnection.prepare(SQLiteConnection.java:536)
08-11 19:53:33.046 31431 31486 E AndroidRuntime: at net.zetetic.database.sqlcipher.SQLiteSession.prepare(SQLiteSession.java:592)
08-11 19:53:33.046 31431 31486 E AndroidRuntime: at net.zetetic.database.sqlcipher.SQLiteProgram.<init>(SQLiteProgram.java:64)
08-11 19:53:33.046 31431 31486 E AndroidRuntime: at net.zetetic.database.sqlcipher.SQLiteStatement.<init>(SQLiteStatement.java:38)
08-11 19:53:33.046 31431 31486 E AndroidRuntime: at net.zetetic.database.sqlcipher.SQLiteDatabase.executeSql(SQLiteDatabase.java:1991)
08-11 19:53:33.046 31431 31486 E AndroidRuntime: at net.zetetic.database.sqlcipher.SQLiteDatabase.execSQL(SQLiteDatabase.java:1900)
08-11 19:53:33.046 31431 31486 E AndroidRuntime: at org.thoughtcrime.securesms.database.helpers.migration.V175_FixFullTextSearchLink.migrate(V175_FixFullTextSearchLink.kt:18)
08-11 19:53:33.046 31431 31486 E AndroidRuntime: at org.thoughtcrime.securesms.database.helpers.SignalDatabaseMigrations.migrate(SignalDatabaseMigrations.kt:177)
08-11 19:53:33.046 31431 31486 E AndroidRuntime: at org.thoughtcrime.securesms.database.SignalDatabase.onUpgrade(SignalDatabase.kt:170)
08-11 19:53:33.046 31431 31486 E AndroidRuntime: at net.zetetic.database.sqlcipher.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:403)
08-11 19:53:33.046 31431 31486 E AndroidRuntime: at net.zetetic.database.sqlcipher.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:302)
08-11 19:53:33.046 31431 31486 E AndroidRuntime: at org.thoughtcrime.securesms.database.SignalDatabase.getSignalReadableDatabase(SignalDatabase.kt:201)
08-11 19:53:33.046 31431 31486 E AndroidRuntime: at org.thoughtcrime.securesms.database.model.AvatarPickerDatabase.getAllAvatars(AvatarPickerDatabase.kt:122)
08-11 19:53:33.046 31431 31486 E AndroidRuntime: at org.thoughtcrime.securesms.avatar.AvatarPickerStorage.cleanOrphans(AvatarPickerStorage.kt:38)
08-11 19:53:33.046 31431 31486 E AndroidRuntime: at org.thoughtcrime.securesms.ApplicationContext.cleanAvatarStorage(ApplicationContext.java:471)
08-11 19:53:33.046 31431 31486 E AndroidRuntime: at org.thoughtcrime.securesms.ApplicationContext.$r8$lambda$ovJzPtEGSgvdzEfbBJQ_xX3JMa4(ApplicationContext.java:0)
08-11 19:53:33.046 31431 31486 E AndroidRuntime: at org.thoughtcrime.securesms.ApplicationContext$$ExternalSyntheticLambda10.run(R8$$SyntheticClass:0)
08-11 19:53:33.046 31431 31486 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
08-11 19:53:33.046 31431 31486 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
08-11 19:53:33.046 31431 31486 E AndroidRuntime: at java.lang.Thread.run(Thread.java:919)
08-11 19:53:33.046 31431 31486 E AndroidRuntime: at org.signal.core.util.concurrent.SignalExecutors$NumberedThreadFactory$1.run(SignalExecutors.java:109)
08-11 19:53:34.071 1733 2381 I chatty : uid=1000(system) Binder:1733_5 expire 8 lines
08-11 19:53:35.141 31544 31599 E AndroidRuntime: FATAL EXCEPTION: signal-bounded-1
08-11 19:53:35.141 31544 31599 E AndroidRuntime: Process: org.thoughtcrime.securesms, PID: 31544
08-11 19:53:35.141 31544 31599 E AndroidRuntime: android.database.sqlite.SQLiteException: FullCode: 1 | ErrorCode: 1 | ExtendedErrorCode: 0 | Message: table message_fts already exists | ExtraMessage: , while compiling: CREATE VIRTUAL TABLE message_fts USING fts5(body, thread_id UNINDEXED, content=message, content_rowid=_id)
08-11 19:53:35.141 31544 31599 E AndroidRuntime: at net.zetetic.database.sqlcipher.SQLiteConnection.nativePrepareStatement(Native Method)
08-11 19:53:35.141 31544 31599 E AndroidRuntime: at net.zetetic.database.sqlcipher.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:925)
08-11 19:53:35.141 31544 31599 E AndroidRuntime: at net.zetetic.database.sqlcipher.SQLiteConnection.prepare(SQLiteConnection.java:536)
08-11 19:53:35.141 31544 31599 E AndroidRuntime: at net.zetetic.database.sqlcipher.SQLiteSession.prepare(SQLiteSession.java:592)
08-11 19:53:35.141 31544 31599 E AndroidRuntime: at net.zetetic.database.sqlcipher.SQLiteProgram.<init>(SQLiteProgram.java:64)
08-11 19:53:35.141 31544 31599 E AndroidRuntime: at net.zetetic.database.sqlcipher.SQLiteStatement.<init>(SQLiteStatement.java:38)
08-11 19:53:35.141 31544 31599 E AndroidRuntime: at net.zetetic.database.sqlcipher.SQLiteDatabase.executeSql(SQLiteDatabase.java:1991)
08-11 19:53:35.141 31544 31599 E AndroidRuntime: at net.zetetic.database.sqlcipher.SQLiteDatabase.execSQL(SQLiteDatabase.java:1900)
08-11 19:53:35.141 31544 31599 E AndroidRuntime: at org.thoughtcrime.securesms.database.helpers.migration.V175_FixFullTextSearchLink.migrate(V175_FixFullTextSearchLink.kt:18)
08-11 19:53:35.141 31544 31599 E AndroidRuntime: at org.thoughtcrime.securesms.database.helpers.SignalDatabaseMigrations.migrate(SignalDatabaseMigrations.kt:177)
08-11 19:53:35.141 31544 31599 E AndroidRuntime: at org.thoughtcrime.securesms.database.SignalDatabase.onUpgrade(SignalDatabase.kt:170)
08-11 19:53:35.141 31544 31599 E AndroidRuntime: at net.zetetic.database.sqlcipher.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:403)
08-11 19:53:35.141 31544 31599 E AndroidRuntime: at net.zetetic.database.sqlcipher.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:302)
08-11 19:53:35.141 31544 31599 E AndroidRuntime: at org.thoughtcrime.securesms.database.SignalDatabase.getRawReadableDatabase(SignalDatabase.kt:195)
08-11 19:53:35.141 31544 31599 E AndroidRuntime: at org.thoughtcrime.securesms.database.SignalDatabase$Companion.hasTable(SignalDatabase.kt:311)
08-11 19:53:35.141 31544 31599 E AndroidRuntime: at org.thoughtcrime.securesms.database.SignalDatabase.hasTable(SignalDatabase.kt:0)
08-11 19:53:35.141 31544 31599 E AndroidRuntime: at org.thoughtcrime.securesms.database.KeyValueDatabase.lambda$onOpen$0(KeyValueDatabase.java:99)
08-11 19:53:35.141 31544 31599 E AndroidRuntime: at org.thoughtcrime.securesms.database.KeyValueDatabase.$r8$lambda$jefACyoHK4h3lvPI5zn7iBuWxuI(KeyValueDatabase.java:0)
08-11 19:53:35.141 31544 31599 E AndroidRuntime: at org.thoughtcrime.securesms.database.KeyValueDatabase$$ExternalSyntheticLambda0.run(R8$$SyntheticClass:0)
08-11 19:53:35.141 31544 31599 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
08-11 19:53:35.141 31544 31599 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
08-11 19:53:35.141 31544 31599 E AndroidRuntime: at java.lang.Thread.run(Thread.java:919)
08-11 19:53:35.141 31544 31599 E AndroidRuntime: at org.signal.core.util.concurrent.SignalExecutors$NumberedThreadFactory$1.run(SignalExecutors.java:109)
08-11 19:53:35.685 31544 31601 E AndroidRuntime: FATAL EXCEPTION: signal-bounded-2
0
Bug description
Signal crashes immediately upon startup. I checked the logs from
adb logcat
, and I see this backtrace:Steps to reproduce
Actual result: Describe here what happens after you run the steps above (i.e. the buggy behaviour)
Expected result: Describe here what should happen after you run the steps above (i.e. what would be the correct behaviour)
Screenshots
Device info
Device: LG K62 Android version: 11 Signal version: 6.28.6
Link to debug log
Impossible to open signal