fid02 I submitted a report to Signal, here's the log, seems like the db got messed up somehow with a non-unique entry. Not sure how that would be possible.
`type: crash
osVersion: google/raven/raven:15/AP4A.250105.002/2025012700:user/release-keys
package: org.thoughtcrime.securesms:150800, targetSdk 34
process: org.thoughtcrime.securesms
processUptime: 2468 + 306 ms
installer: org.thoughtcrime.securesms
org.thoughtcrime.securesms.migrations.MigrationJob$FailedMigrationError: android.database.sqlite.SQLiteConstraintException: FullCode: 2067 | ErrorCode: 19 | ExtendedErrorCode: 8 | Message: UNIQUE constraint failed: message.date_sent, message.from_recipient_id, message.thread_id | ExtraMessage: null
at org.thoughtcrime.securesms.migrations.MigrationJob.run(MigrationJob.java:46)
at org.thoughtcrime.securesms.jobmanager.JobRunner.run(JobRunner.java:88)
at org.thoughtcrime.securesms.jobmanager.JobRunner.run(JobRunner.java:51)
at [[ ↑↑ Original Trace ↑↑ ]].(:0)
at [[ ↓↓ Exception Message ↓↓ ]].(:0)
at android.database.sqlite.SQLiteConstraintException: FullCode: 2067 | ErrorCode: 19 | ExtendedErrorCode: 8 | Message: UNIQUE constraint failed: message.date_sent, message.from_recipient_id, message.thread_id | ExtraMessage: null.(:0)
Caused by: android.database.sqlite.SQLiteConstraintException: FullCode: 2067 | ErrorCode: 19 | ExtendedErrorCode: 8 | Message: UNIQUE constraint failed: message.date_sent, message.from_recipient_id, message.thread_id | ExtraMessage: null
at net.zetetic.database.sqlcipher.SQLiteConnection.nativeExecuteForChangedRowCount(Native Method)
at net.zetetic.database.sqlcipher.SQLiteConnection.executeForChangedRowCount(SQLiteConnection.java:818)
at net.zetetic.database.sqlcipher.SQLiteSession.executeForChangedRowCount(SQLiteSession.java:758)
at net.zetetic.database.sqlcipher.SQLiteStatement.executeUpdateDelete(SQLiteStatement.java:90)
at net.zetetic.database.sqlcipher.SQLiteDatabase.updateWithOnConflict(SQLiteDatabase.java:1871)
at org.thoughtcrime.securesms.database.SQLiteDatabase.lambda$updateWithOnConflict$16(SQLiteDatabase.java:404)
at org.thoughtcrime.securesms.database.SQLiteDatabase.$r8$lambda$qx1dYAO84QSSLaHe5_pqljq0bWk(SQLiteDatabase.java:0)
at org.thoughtcrime.securesms.database.SQLiteDatabase$$ExternalSyntheticLambda13.run(R8$$SyntheticClass:0)
at org.thoughtcrime.securesms.database.SQLiteDatabase.traceSql(SQLiteDatabase.java:113)
at org.thoughtcrime.securesms.database.SQLiteDatabase.updateWithOnConflict(SQLiteDatabase.java:404)
at org.thoughtcrime.securesms.database.SQLiteDatabase.update(SQLiteDatabase.java:261)
at org.signal.core.util.UpdateBuilderPart3.run(SQLiteDatabaseExtensions.kt:443)
at org.signal.core.util.UpdateBuilderPart3.run$default(SQLiteDatabaseExtensions.kt:441)
at org.thoughtcrime.securesms.database.MessageTable.remapRecipient(MessageTable.kt:4823)
at org.thoughtcrime.securesms.database.RecipientTable.merge(RecipientTable.kt:4019)
at org.thoughtcrime.securesms.database.RecipientTable.merge$default(RecipientTable.kt:4001)
at org.thoughtcrime.securesms.database.RecipientTable.mergeForMigration(RecipientTable.kt:3994)
at org.thoughtcrime.securesms.migrations.DuplicateE164MigrationJob.performMigration(DuplicateE164MigrationJob.kt:106)
at org.thoughtcrime.securesms.migrations.MigrationJob.run(MigrationJob.java:42)
at org.thoughtcrime.securesms.jobmanager.JobRunner.run(JobRunner.java:88)
at org.thoughtcrime.securesms.jobmanager.JobRunner.run(JobRunner.java:51)`