Signal-android: Startup crash

Created on 1 Aug 2017  路  57Comments  路  Source: signalapp/Signal-Android

I have:


Bug description

Signal for Android crashes on startup-.

Steps to reproduce

  • install latest Signal for Android beta (Version 4.9.0 from the play store)
  • open Signal for Android

Actual result: Signal for Android crashes
Expected result: Signal for Android should open

Screenshots

image

Device info

Device: Huawei Nexus 6P
Android version: 7.1.2
Signal version: 4.9.0

Link to debug log

No adb handy right now, but log is in the screenshot above. Signal debug info isn't available because it's a startup crash.

Most helpful comment

4.9.3 fixes the issue for me.

All 57 comments

same here. Sent the error report.
Edit: OnUpgrade() fails

same here.... with no error. App closed.

This is the stack trace

08-01 11:26:48.115 16733 16757 E AndroidRuntime: FATAL EXCEPTION: pool-2-thread-1
08-01 11:26:48.115 16733 16757 E AndroidRuntime: Process: org.thoughtcrime.securesms, PID: 16733
08-01 11:26:48.115 16733 16757 E AndroidRuntime: android.database.sqlite.SQLiteConstraintException: UNIQUE constraint failed: recipient_preferences.recipient_ids (code 2067)
08-01 11:26:48.115 16733 16757 E AndroidRuntime:    at android.database.sqlite.SQLiteConnection.nativeExecuteForChangedRowCount(Native Method)
08-01 11:26:48.115 16733 16757 E AndroidRuntime:    at android.database.sqlite.SQLiteConnection.executeForChangedRowCount(SQLiteConnection.java:734)
08-01 11:26:48.115 16733 16757 E AndroidRuntime:    at android.database.sqlite.SQLiteSession.executeForChangedRowCount(SQLiteSession.java:754)
08-01 11:26:48.115 16733 16757 E AndroidRuntime:    at android.database.sqlite.SQLiteStatement.executeUpdateDelete(SQLiteStatement.java:64)
08-01 11:26:48.115 16733 16757 E AndroidRuntime:    at android.database.sqlite.SQLiteDatabase.updateWithOnConflict(SQLiteDatabase.java:1579)
08-01 11:26:48.115 16733 16757 E AndroidRuntime:    at android.database.sqlite.SQLiteDatabase.update(SQLiteDatabase.java:1525)
08-01 11:26:48.115 16733 16757 E AndroidRuntime:    at org.thoughtcrime.securesms.database.DatabaseFactory$DatabaseHelper.onUpgrade(DatabaseFactory.java:1000)
08-01 11:26:48.115 16733 16757 E AndroidRuntime:    at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:256)
08-01 11:26:48.115 16733 16757 E AndroidRuntime:    at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:187)
08-01 11:26:48.115 16733 16757 E AndroidRuntime:    at org.thoughtcrime.securesms.database.SmsDatabase.getExpirationStartedMessages(SmsDatabase.java:654)
08-01 11:26:48.115 16733 16757 E AndroidRuntime:    at org.thoughtcrime.securesms.service.ExpiringMessageManager$LoadTask.run(ExpiringMessageManager.java:57)
08-01 11:26:48.115 16733 16757 E AndroidRuntime:    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
08-01 11:26:48.115 16733 16757 E AndroidRuntime:    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
08-01 11:26:48.115 16733 16757 E AndroidRuntime:    at java.lang.Thread.run(Thread.java:761)

Moto G4 with Nougat 7.0 here, I'm signing up on this crash. Can't post a log because well, I can't get that far into the app before it crashes

Updated to latest beta 4.9 from Play Store and now Signal crashes for me too. The app shows'updating database and then crashes at startup

Same problem with a Pixel on Android 7.1.2 with security patches from july. I've also sent a bug report.

4.9.0 crashes on my OPO3 with 7.1.1 on startup too. Tried to clear the app cache but this didn't work.

Same problem in android marshmallow. Can't downgrade without uninstalling.

Is this an issue that affects mostly German users? Or are there just more German beta users?

The Americans are probably mostly still asleep. Those who wake up early and read this may want to wait for 4.9.1.

@franziskuskiefer Thanks for the stack trace.

Can anyone who's seeing this with the ability to capture ADB update to this debug APK:
https://mega.nz/#!AplBBLrR!RtDYHMuDpMyQtAQOMriwRT7W3VOxhxdokwqrDc8kebk

...and post the log here? It will still crash, but should include more information to help me understand what is failing to fix it.

Upgraded to 4.9.0 today and it worked fine until I received an SMS. Now it crashes on start without any errors.

@kpuljek Please post a debug log here for us to be able to determine the source of the crash.

@moxie0 not sure what's supposed to be in the debug log. But this is what I get when running the APK you provided. (I replaced the phone numbers with **.) It looks like it's crashing while migrating the SMS/phone numbers.

08-01 18:18:56.991 32259 32264 I art     : Compiler allocated 4MB to compile void org.thoughtcrime.securesms.database.DatabaseFactory$DatabaseHelper.onUpgrade(android.database.sqlite.SQLiteDatabase, int, int)
08-01 18:18:57.012 32259 32259 W PassphraseRequiredActionBarActivity: onDestroy()
08-01 18:18:57.026 32259 32283 W DatabaseHelper: Migrating: 115 to: ******
08-01 18:18:57.027 32259 32283 W DatabaseHelper: Migrating: 116 to: ******
08-01 18:18:57.028 32259 32283 W DatabaseHelper: Migrating: 12 to: ******
08-01 18:18:57.028 32259 32283 W DatabaseHelper: Migrating: 121 to: ******
08-01 18:18:57.029 32259 32283 W DatabaseHelper: Migrating: 131 to: ******
08-01 18:18:57.030 32259 32283 W DatabaseHelper: Migrating: 133 to: ******
08-01 18:18:57.030 32259 32283 W DatabaseHelper: Migrating: 134 to: ******
08-01 18:18:57.031 32259 32283 W DatabaseHelper: Migrating: 147 to: ******
08-01 18:18:57.031 32259 32283 W DatabaseHelper: Migrating: 151 to: ******
08-01 18:18:57.032 32259 32283 W DatabaseHelper: Migrating: 166 to: ******
08-01 18:18:57.032 32259 32283 W DatabaseHelper: Migrating: 17 to: ******
08-01 18:18:57.033 32259 32283 W DatabaseHelper: Migrating: 170 to: ******
08-01 18:18:57.033 32259 32283 W DatabaseHelper: Migrating: 171 to: ******
08-01 18:18:57.033 32259 32283 W DatabaseHelper: Migrating: 172 to: ******
08-01 18:18:57.034 32259 32283 W DatabaseHelper: Migrating: 177 to: ******
08-01 18:18:57.034 32259 32283 W DatabaseHelper: Migrating: 179 to: ******
08-01 18:18:57.035 32259 32283 W DatabaseHelper: Migrating: 181 to: ******
08-01 18:18:57.036 32259 32283 W DatabaseHelper: Migrating: 183 to: ******
08-01 18:18:57.036 32259 32283 W DatabaseHelper: Migrating: 196 to: ******
08-01 18:18:57.037 32259 32283 W DatabaseHelper: Migrating: 208 to: ******
08-01 18:18:57.037 32259 32283 W DatabaseHelper: Migrating: 212 to: ******
08-01 18:18:57.038 32259 32283 W DatabaseHelper: Migrating: 214 to: ******
08-01 18:18:57.038 32259 32283 W DatabaseHelper: Migrating: 216 to: ******
08-01 18:18:57.039 32259 32283 W DatabaseHelper: Migrating: 219 to: ******
08-01 18:18:57.039 32259 32283 W DatabaseHelper: Migrating: 238 to: __textsecure_group__!******
08-01 18:18:57.039 32259 32283 W DatabaseHelper: Migrating: 248 to: ******
08-01 18:18:57.040 32259 32283 W DatabaseHelper: Migrating: 249 to: ******
08-01 18:18:57.041 32259 32283 W DatabaseHelper: Migrating: 252 to: ******
08-01 18:18:57.041 32259 32283 W DatabaseHelper: Migrating: 253 to: ******
08-01 18:18:57.042 14588 14588 I PBSessionCacheImpl: Deleted sessionId[74506928821596] from persistence.
08-01 18:18:57.042 32259 32283 W DatabaseHelper: Migrating: 260 to: ******
08-01 18:18:57.043 32259 32283 W DatabaseHelper: Migrating: 261 to: ******
08-01 18:18:57.043 32259 32283 W DatabaseHelper: Migrating: 263 to: ******
08-01 18:18:57.044 32259 32283 W DatabaseHelper: Migrating: 268 to: ******
08-01 18:18:57.044 32259 32283 W DatabaseHelper: Migrating: 269 to: ******
08-01 18:18:57.044 32259 32283 W DatabaseHelper: Migrating: 270 to: ******
08-01 18:18:57.045 32259 32283 W DatabaseHelper: Migrating: 278 to: ******
08-01 18:18:57.046 32259 32283 W DatabaseHelper: Migrating: 279 to: ******
08-01 18:18:57.046 32259 32283 W DatabaseHelper: Migrating: 285 to: ******
08-01 18:18:57.047 32259 32283 W DatabaseHelper: Migrating: 29 to: ******
08-01 18:18:57.047 32259 32283 I SQLiteConnectionPool: The connection pool for /data/user/0/org.thoughtcrime.securesms/databases/messages.db has been closed but there are still 1 connections in use.  They will be closed as they are released back to the pool.
--------- beginning of crash
08-01 18:18:57.049 32259 32283 E AndroidRuntime: FATAL EXCEPTION: pool-2-thread-1
08-01 18:18:57.049 32259 32283 E AndroidRuntime: Process: org.thoughtcrime.securesms, PID: 32259
08-01 18:18:57.049 32259 32283 E AndroidRuntime: android.database.sqlite.SQLiteConstraintException: UNIQUE constraint failed: recipient_preferences.recipient_ids (code 2067)
08-01 18:18:57.049 32259 32283 E AndroidRuntime:  at android.database.sqlite.SQLiteConnection.nativeExecuteForChangedRowCount(Native Method)
08-01 18:18:57.049 32259 32283 E AndroidRuntime:  at android.database.sqlite.SQLiteConnection.executeForChangedRowCount(SQLiteConnection.java:734)
08-01 18:18:57.049 32259 32283 E AndroidRuntime:  at android.database.sqlite.SQLiteSession.executeForChangedRowCount(SQLiteSession.java:754)
08-01 18:18:57.049 32259 32283 E AndroidRuntime:  at android.database.sqlite.SQLiteStatement.executeUpdateDelete(SQLiteStatement.java:64)
08-01 18:18:57.049 32259 32283 E AndroidRuntime:  at android.database.sqlite.SQLiteDatabase.updateWithOnConflict(SQLiteDatabase.java:1579)
08-01 18:18:57.049 32259 32283 E AndroidRuntime:  at android.database.sqlite.SQLiteDatabase.update(SQLiteDatabase.java:1525)
08-01 18:18:57.049 32259 32283 E AndroidRuntime:  at org.thoughtcrime.securesms.database.DatabaseFactory$DatabaseHelper.onUpgrade(DatabaseFactory.java:1002)
08-01 18:18:57.049 32259 32283 E AndroidRuntime:  at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:256)
08-01 18:18:57.049 32259 32283 E AndroidRuntime:  at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:187)
08-01 18:18:57.049 32259 32283 E AndroidRuntime:  at org.thoughtcrime.securesms.database.SmsDatabase.getExpirationStartedMessages(SmsDatabase.java:654)
08-01 18:18:57.049 32259 32283 E AndroidRuntime:  at org.thoughtcrime.securesms.service.ExpiringMessageManager$LoadTask.run(ExpiringMessageManager.java:57)
08-01 18:18:57.049 32259 32283 E AndroidRuntime:  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
08-01 18:18:57.049 32259 32283 E AndroidRuntime:  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
08-01 18:18:57.049 32259 32283 E AndroidRuntime:  at java.lang.Thread.run(Thread.java:761)
08-01 18:18:57.050  3751 29208 W ActivityManager:   Force finishing activity org.thoughtcrime.securesms/.PassphrasePromptActivity

Hey! I ran adb logcat and used the .apk you provided and tried running it 5 times (all five crashed) and piped it into a txt file. I hope this can be of help. If I did it wrong, just let me know and I'll do it again. :) If there is any private information in the log (I couldn't find any, but it's huge), download it and please delete the post/attachment.

log.txt

Thanks @franziskuskiefer, would you be comfortable emailing me ([email protected]) the full unredacted log? It's something to do with the numbers, so I'd need to see them in order to figure out why it's failing.

@kpuljek Thanks, that's helpful. Looks like you're experiencing something different from the other folks here, I've created another build with additional logging in the area where your crash is occurring:
https://mega.nz/#!Y8tjDTqb!mr054EMpSLtKXDTYUNuNh0QMHf4X0rK_kc-Ji3XoD3Y

If you could get me the logcat output from that, it should help clarify what's going on with your crash. This log might include phone numbers, so feel free to email it to me if you'd prefer ([email protected]). Thanks!

Upraded, redid the logcat and I don't see any numbers in the log, so I'll post it here. I hope this helps, it looks the same as the first to me.
log2.txt

@kpuljek Thanks! Hah the problem is that there isn't a number in there =)

Here's another one with more debugging:
https://mega.nz/#!t8c1jS4Z!vRPd8EgKcNkFnuv7G-e4fdY9x8o6c6B4EWKry48q2PA

Still no numbers
log3.txt

OK, I was a bad guy and used TitatniumBackup this morning to backup before updating to 4.9.0.
After the crash - that generated an android crash report - I restored the backup.
Now with your Debug2 version there is no android crash report. Just a "Signal stopped working" message.

Anyway, found these two entries:

08-01 19:12:20.981 15440 15480 W PersistentStore: java.io.InvalidClassException: org.thoughtcrime.securesms.jobs.AttachmentDownloadJob; Incompatible class (SUID): org.thoughtcrime.securesms.jobs.AttachmentDownloadJob: static final long serialVersionUID =1L; but expected org.thoughtcrime.securesms.jobs.AttachmentDownloadJob: static final long serialVersionUID =2L;
08-01 19:12:20.981 15440 15480 W PersistentStore:   at java.io.ObjectInputStream.verifyAndInit(ObjectInputStream.java:2336)
08-01 19:12:20.981 15440 15480 W PersistentStore:   at java.io.ObjectInputStream.readNewClassDesc(ObjectInputStream.java:1643)
08-01 19:12:20.981 15440 15480 W PersistentStore:   at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:657)
08-01 19:12:20.981 15440 15480 W PersistentStore:   at java.io.ObjectInputStream.readNewObject(ObjectInputStream.java:1782)
08-01 19:12:20.981 15440 15480 W PersistentStore:   at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:761)
08-01 19:12:20.981 15440 15480 W PersistentStore:   at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1983)
08-01 19:12:20.981 15440 15480 W PersistentStore:   at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1940)
08-01 19:12:20.981 15440 15480 W PersistentStore:   at org.whispersystems.jobqueue.persistence.JavaJobSerializer.deserialize(JavaJobSerializer.java:57)
08-01 19:12:20.981 15440 15480 W PersistentStore:   at org.thoughtcrime.securesms.jobs.persistence.EncryptingJobSerializer.deserialize(EncryptingJobSerializer.java:50)
08-01 19:12:20.981 15440 15480 W PersistentStore:   at org.whispersystems.jobqueue.persistence.PersistentStorage.getJobs(PersistentStorage.java:92)
08-01 19:12:20.981 15440 15480 W PersistentStore:   at org.whispersystems.jobqueue.persistence.PersistentStorage.getAllUnencrypted(PersistentStorage.java:71)
08-01 19:12:20.981 15440 15480 W PersistentStore:   at org.whispersystems.jobqueue.JobManager$LoadTask.run(JobManager.java:153)
08-01 19:12:20.981 15440 15480 W PersistentStore:   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
08-01 19:12:20.981 15440 15480 W PersistentStore:   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
08-01 19:12:20.981 15440 15480 W PersistentStore:   at java.lang.Thread.run(Thread.java:818)

[...]

--------- beginning of crash
08-01 19:12:21.936 15440 15488 E AndroidRuntime: FATAL EXCEPTION: pool-2-thread-1
08-01 19:12:21.936 15440 15488 E AndroidRuntime: Process: org.thoughtcrime.securesms, PID: 15440
08-01 19:12:21.936 15440 15488 E AndroidRuntime: java.lang.AssertionError: Unable to resolve: -1
08-01 19:12:21.936 15440 15488 E AndroidRuntime:    at org.thoughtcrime.securesms.database.DatabaseFactory$DatabaseHelper.onUpgrade(DatabaseFactory.java:923)
08-01 19:12:21.936 15440 15488 E AndroidRuntime:    at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:256)
08-01 19:12:21.936 15440 15488 E AndroidRuntime:    at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:187)
08-01 19:12:21.936 15440 15488 E AndroidRuntime:    at org.thoughtcrime.securesms.database.SmsDatabase.getExpirationStartedMessages(SmsDatabase.java:654)
08-01 19:12:21.936 15440 15488 E AndroidRuntime:    at org.thoughtcrime.securesms.service.ExpiringMessageManager$LoadTask.run(ExpiringMessageManager.java:57)
08-01 19:12:21.936 15440 15488 E AndroidRuntime:    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
08-01 19:12:21.936 15440 15488 E AndroidRuntime:    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
08-01 19:12:21.936 15440 15488 E AndroidRuntime:    at java.lang.Thread.run(Thread.java:818)
08-01 19:12:21.940  2174  3676 D ActivityManager: New dropbox entry: org.thoughtcrime.securesms, data_app_crash, 08b2cad2-b8a6-4e17-b02f-9b69a295a86b
08-01 19:12:21.978  2174  3676 W ActivityManager:   Force finishing activity org.thoughtcrime.securesms/.PassphrasePromptActivity
08-01 19:12:21.984  1244  4365 W SurfaceFlinger: FB is protected: PERMISSION_DENIED
08-01 19:12:21.985  2174  3676 W WindowManager: Screenshot failure taking screenshot for (720x1280) to layer 21040

I'm pretty sure I have no pending expiring messages. Maybe from some old old beta?!

Don't want to mess around in this bug but I am unsure if its related or should be a standalone issue.
My startup shutdown shows "Database migration" and than shuts down without a failure...
Should i throw in logs of this from my oneplus3t on android 7.1.2 in here too?

@mr-gosh Well, if anything we have the same device. Maybe there's something to that

@McLoo I'm Swedish and I have this exact issue, so if it turns out there's a reason Americans aren't affected I'd say it's because of the letters we Europeans use that you guys don't.

I'm in the US and having the maybe same problem. Everything was working until the beta update. This morning, I uninstalled and reinstall Signal and it opened and worked fine. I then linked it to my desktop and now signal crashes on open and the desktop app is working.

EDIT: This is #6840

@ruicruzpt this could easily be my problem, too, considering it started crashing after I received an SMS from my mobile provider.

Same issue too.

dreamlte (Galaxy S8)
android 7.0
XEF (France)

@Adalan That is fixed in 4229c21bdcc2a49d2b88219d06d5a75983e83ee9
@kpuljek I think your crash should be fixed in a67d0b18ff874c4fd42f8711f03849218c65a0d6

@moxie0 thanks :) great! Thanks for the quick fix. And yeah, my provider bonbon keeps sending messages with no number attached. that's what probably did it. It even crashes when I try to share things from other apps and it starts loading Signal contacts and groups in the quick share menu.

@mr-gosh Yes logs are always helpful. This issue is for a specific problem that @franziskuskiefer encountered during migration, it's possible that you are experiencing something else. Without logs there's no way for me to know.

@McLoo Thanks, looks like your crash is different from @franziskuskiefer. I've made an APK with some additional logging for your issue here: https://mega.nz/#!90tDiYjL!FMjpbPsgr0K6oAYUfcdo0EU7V0cdfN1NT6r8Qp5XqWs

Could you open a new issue with the output of that? Thanks!

In debugging with OP, it looks as if the problem is that there are two conversation "preferences" (mute, ringtone, etc) for two different contacts:

One of them is (sample): +4901234567890
The other is (sample): +491234567890

As we do the migration, we clean them both up to the same number: +491234567890. That fails a unique constraint, since now we have two different sets of preferences for the same number.

For the Germans here, are they the same number? Is the first version supposed to work?

@moxie0 only the second version should be a valid number.

_Sent from my OnePlus ONEPLUS A3003 using FastHub_

@moxie0 I guess many people store phone numbers in their phone's address book without the international prefix (I don't - but many do).
When calling a German phone number from Germany, "01234567890" works. But if you are using the international prefix for Germany ("+49"), you have to omit that leading "0" in front of the area code, i. e. "+49 1234567890"

:thinking: I'm confused. Just changed a valid number in android contact app from valid +491234567890 to +4901234567890 and sending messages worked well :confused:

@RiseT Thanks, I think this is why non-Americans are mostly affected. This change should eliminate this kind of confusion in the future, but it's tripping up the migration. The bad news is that I think I have to somewhat arbitrarily delete "recipient preferences" in cases like this where a conflict emerges.

@p4nci I've tried to call myself using "+4901234567890" and I got a message that the number wasn't allocated, i. e. it didn't work.

The official format when using an international prefix is definitely without that "0", but perhaps some providers filter that "0" in order to fix the faulty number and make it work.

@RiseT I did not tried calling but sending signal messages and that worked well

EDIT: just tested aslo with a signal call: had no problems and as expected a "normal" call it's not possible

@p4nci Ah, Signal message, ok.

I guess the reason is another odd thing I've noticed some time ago: The phone number of an existing Signal contact doesn't change in Signal if you change that contact's phone number in Android's address book.

I've just tried this and appended a "1" to the phone number of an existing Signal contact in Android's address book. Even after refreshing, that appended "1" didn't show up in Signal.

I would expect that contact getting listed as "non-Signal", as with the appended "1" it's a new phone number that's not registered with Signal's server.

@RiseT well in my case signal "updated" a number from +49123... to +490123...
EDIT: I think for real testing after a change in Android's address book I need to delete signal account and then refreshing contact list in signal

Still crashing on version 4.9.1

4.9.2 works

Also 4.9.2 does not work. annoying.

4.9.2 does not work here.

It looks like 4.9.2 is touching the right code but isn't fully resolving the issue (or my database is completely broken now). The trace looks pretty much the same except for the last line. It can't find the recipient_preferences table.

08-02 07:41:31.179 18129 18153 W DatabaseHelper: android.database.sqlite.SQLiteConstraintException: UNIQUE constraint failed: recipient_preferences.recipient_ids (code 2067)
08-02 07:41:31.179 18129 18153 W DatabaseHelper:  at android.database.sqlite.SQLiteConnection.nativeExecuteForChangedRowCount(Native Method)
08-02 07:41:31.179 18129 18153 W DatabaseHelper:  at android.database.sqlite.SQLiteConnection.executeForChangedRowCount(SQLiteConnection.java:734)
08-02 07:41:31.179 18129 18153 W DatabaseHelper:  at android.database.sqlite.SQLiteSession.executeForChangedRowCount(SQLiteSession.java:754)
08-02 07:41:31.179 18129 18153 W DatabaseHelper:  at android.database.sqlite.SQLiteStatement.executeUpdateDelete(SQLiteStatement.java:64)
08-02 07:41:31.179 18129 18153 W DatabaseHelper:  at android.database.sqlite.SQLiteDatabase.updateWithOnConflict(SQLiteDatabase.java:1579)
08-02 07:41:31.179 18129 18153 W DatabaseHelper:  at android.database.sqlite.SQLiteDatabase.update(SQLiteDatabase.java:1525)
08-02 07:41:31.179 18129 18153 W DatabaseHelper:  at org.thoughtcrime.securesms.database.DatabaseFactory$DatabaseHelper.onUpgrade(DatabaseFactory.java:1007)
08-02 07:41:31.179 18129 18153 W DatabaseHelper:  at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:256)
08-02 07:41:31.179 18129 18153 W DatabaseHelper:  at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:187)
08-02 07:41:31.179 18129 18153 W DatabaseHelper:  at org.thoughtcrime.securesms.database.SmsDatabase.getExpirationStartedMessages(SmsDatabase.java:654)
08-02 07:41:31.179 18129 18153 W DatabaseHelper:  at org.thoughtcrime.securesms.service.ExpiringMessageManager$LoadTask.run(ExpiringMessageManager.java:57)
08-02 07:41:31.179 18129 18153 W DatabaseHelper:  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
08-02 07:41:31.179 18129 18153 W DatabaseHelper:  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
08-02 07:41:31.179 18129 18153 W DatabaseHelper:  at java.lang.Thread.run(Thread.java:761)
08-02 07:41:31.180 18129 18153 E SQLiteLog: (1) no such table: recipient_preference

4.9.2 still crashes on my phone, so it seems there are several issues concerning crashes on startup.

4.9.2 crashes for me as well, this time there's a new SQL exception (looks like a typo in table name?):

08-02 08:41:40.027 30835 30856 W DatabaseHelper:
08-02 08:41:40.027 30835 30856 W DatabaseHelper: android.database.sqlite.SQLiteConstraintException: UNIQUE constraint failed: recipient_preferences.recipient_ids (code 2067)
08-02 08:41:40.027 30835 30856 W DatabaseHelper:    at android.database.sqlite.SQLiteConnection.nativeExecuteForChangedRowCount(Native Method)
08-02 08:41:40.027 30835 30856 W DatabaseHelper:    at android.database.sqlite.SQLiteConnection.executeForChangedRowCount(SQLiteConnection.java:734)
08-02 08:41:40.027 30835 30856 W DatabaseHelper:    at android.database.sqlite.SQLiteSession.executeForChangedRowCount(SQLiteSession.java:754)
08-02 08:41:40.027 30835 30856 W DatabaseHelper:    at android.database.sqlite.SQLiteStatement.executeUpdateDelete(SQLiteStatement.java:64)
08-02 08:41:40.027 30835 30856 W DatabaseHelper:    at android.database.sqlite.SQLiteDatabase.updateWithOnConflict(SQLiteDatabase.java:1606)
08-02 08:41:40.027 30835 30856 W DatabaseHelper:    at android.database.sqlite.SQLiteDatabase.update(SQLiteDatabase.java:1552)
08-02 08:41:40.027 30835 30856 W DatabaseHelper:    at org.thoughtcrime.securesms.database.DatabaseFactory$DatabaseHelper.onUpgrade(DatabaseFactory.java:1007)
08-02 08:41:40.027 30835 30856 W DatabaseHelper:    at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:256)
08-02 08:41:40.027 30835 30856 W DatabaseHelper:    at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:187)
08-02 08:41:40.027 30835 30856 W DatabaseHelper:    at org.thoughtcrime.securesms.database.SmsDatabase.getExpirationStartedMessages(SmsDatabase.java:654)
08-02 08:41:40.027 30835 30856 W DatabaseHelper:    at org.thoughtcrime.securesms.service.ExpiringMessageManager$LoadTask.run(ExpiringMessageManager.java:57)
08-02 08:41:40.027 30835 30856 W DatabaseHelper:    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
08-02 08:41:40.027 30835 30856 W DatabaseHelper:    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
08-02 08:41:40.027 30835 30856 W DatabaseHelper:    at java.lang.Thread.run(Thread.java:761)
08-02 08:41:40.028 30835 30856 E SQLiteLog: (1) no such table: recipient_preference
08-02 08:41:40.028 30835 30856 I SQLiteConnectionPool: The connection pool for /data/user/0/org.thoughtcrime.securesms/databases/messages.db has been closed but there are still 1 connections in use.  They will be closed as they are released back to the pool.
08-02 08:41:40.029 30835 30856 E AndroidRuntime: FATAL EXCEPTION: pool-2-thread-1
08-02 08:41:40.029 30835 30856 E AndroidRuntime: Process: org.thoughtcrime.securesms, PID: 30835
08-02 08:41:40.029 30835 30856 E AndroidRuntime: android.database.sqlite.SQLiteException: no such table: recipient_preference (code 1): , while compiling: DELETE FROM recipient_preference WHERE _id = ?
08-02 08:41:40.029 30835 30856 E AndroidRuntime:    at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
08-02 08:41:40.029 30835 30856 E AndroidRuntime:    at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889)
08-02 08:41:40.029 30835 30856 E AndroidRuntime:    at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500)
08-02 08:41:40.029 30835 30856 E AndroidRuntime:    at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
08-02 08:41:40.029 30835 30856 E AndroidRuntime:    at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
08-02 08:41:40.029 30835 30856 E AndroidRuntime:    at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:31)
08-02 08:41:40.029 30835 30856 E AndroidRuntime:    at android.database.sqlite.SQLiteDatabase.delete(SQLiteDatabase.java:1526)
08-02 08:41:40.029 30835 30856 E AndroidRuntime:    at org.thoughtcrime.securesms.database.DatabaseFactory$DatabaseHelper.onUpgrade(DatabaseFactory.java:1010)
08-02 08:41:40.029 30835 30856 E AndroidRuntime:    at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:256)
08-02 08:41:40.029 30835 30856 E AndroidRuntime:    at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:187)
08-02 08:41:40.029 30835 30856 E AndroidRuntime:    at org.thoughtcrime.securesms.database.SmsDatabase.getExpirationStartedMessages(SmsDatabase.java:654)
08-02 08:41:40.029 30835 30856 E AndroidRuntime:    at org.thoughtcrime.securesms.service.ExpiringMessageManager$LoadTask.run(ExpiringMessageManager.java:57)
08-02 08:41:40.029 30835 30856 E AndroidRuntime:    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
08-02 08:41:40.029 30835 30856 E AndroidRuntime:    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
08-02 08:41:40.029 30835 30856 E AndroidRuntime:    at java.lang.Thread.run(Thread.java:761)
08-02 08:41:40.029 30835 30856 D AppTracker: App Event: crash

@grendello could you file a new issue for this?
And a typo it is :)

I can confirm that 4.9.2 also crashes always. I sent the log via Google Play since I've currently no way to get a catlog manually.

Both 4.9.1 and 4.9.2 fixed my issue, just to report!

4.9.2 still crashes for me, but at a different point at 4.9.0. The latter crashed immediately when the app window opened, now after updating to 4.9.2 it crashes a second later: after it already shows the "enter passphrase" dialog.

08-02 10:52:19.247 4391 4391 I TWILIGHT: [10:52:19.247, main]: Accessibility CHANGED org.thoughtcrime.securesms android.widget.FrameLayout 08-02 10:52:19.254 3538 3806 I NetworkController.MobileSignalController(1): showDisableIcon:false 08-02 10:52:19.290 4391 4391 I TWILIGHT: [10:52:19.290, main]: Accessibility CHANGED com.touchtype.swiftkey android.inputmethodservice.SoftInputWindow 08-02 10:52:19.430 2333 2334 E ANDR-PERF-OPTSHANDLER: perf_lock_rel: updated /sys/class/scsi_host/host0/../../../clkscale_enable with 1 08-02 10:52:19.430 2333 2334 E ANDR-PERF-OPTSHANDLER: return value 2 08-02 10:52:19.448 12965 12986 W DatabaseHelper: 08-02 10:52:19.448 12965 12986 W DatabaseHelper: android.database.sqlite.SQLiteConstraintException: UNIQUE constraint failed: recipient_preferences.recipient_ids (code 2067) 08-02 10:52:19.448 12965 12986 W DatabaseHelper: at android.database.sqlite.SQLiteConnection.nativeExecuteForChangedRowCount(Native Method) 08-02 10:52:19.448 12965 12986 W DatabaseHelper: at android.database.sqlite.SQLiteConnection.executeForChangedRowCount(SQLiteConnection.java:734) 08-02 10:52:19.448 12965 12986 W DatabaseHelper: at android.database.sqlite.SQLiteSession.executeForChangedRowCount(SQLiteSession.java:754) 08-02 10:52:19.448 12965 12986 W DatabaseHelper: at android.database.sqlite.SQLiteStatement.executeUpdateDelete(SQLiteStatement.java:64) 08-02 10:52:19.448 12965 12986 W DatabaseHelper: at android.database.sqlite.SQLiteDatabase.updateWithOnConflict(SQLiteDatabase.java:1606) 08-02 10:52:19.448 12965 12986 W DatabaseHelper: at android.database.sqlite.SQLiteDatabase.update(SQLiteDatabase.java:1552) 08-02 10:52:19.448 12965 12986 W DatabaseHelper: at org.thoughtcrime.securesms.database.DatabaseFactory$DatabaseHelper.onUpgrade(DatabaseFactory.java:1007) 08-02 10:52:19.448 12965 12986 W DatabaseHelper: at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:256) 08-02 10:52:19.448 12965 12986 W DatabaseHelper: at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:187) 08-02 10:52:19.448 12965 12986 W DatabaseHelper: at org.thoughtcrime.securesms.database.SmsDatabase.getExpirationStartedMessages(SmsDatabase.java:654) 08-02 10:52:19.448 12965 12986 W DatabaseHelper: at org.thoughtcrime.securesms.service.ExpiringMessageManager$LoadTask.run(ExpiringMessageManager.java:57) 08-02 10:52:19.448 12965 12986 W DatabaseHelper: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 08-02 10:52:19.448 12965 12986 W DatabaseHelper: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 08-02 10:52:19.448 12965 12986 W DatabaseHelper: at java.lang.Thread.run(Thread.java:761) 08-02 10:52:19.448 12965 12986 E SQLiteLog: (1) no such table: recipient_preference 08-02 10:52:19.449 12965 12986 I SQLiteConnectionPool: The connection pool for /data/user/0/org.thoughtcrime.securesms/databases/messages.db has been closed but there are still 1 connections in use. They will be closed as they are released back to the pool. 08-02 10:52:19.450 12965 12986 E AndroidRuntime: FATAL EXCEPTION: pool-2-thread-1 08-02 10:52:19.450 12965 12986 E AndroidRuntime: Process: org.thoughtcrime.securesms, PID: 12965 08-02 10:52:19.450 12965 12986 E AndroidRuntime: android.database.sqlite.SQLiteException: no such table: recipient_preference (code 1): , while compiling: DELETE FROM recipient_preference WHERE _id = ? 08-02 10:52:19.450 12965 12986 E AndroidRuntime: at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method) 08-02 10:52:19.450 12965 12986 E AndroidRuntime: at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889) 08-02 10:52:19.450 12965 12986 E AndroidRuntime: at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500) 08-02 10:52:19.450 12965 12986 E AndroidRuntime: at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588) 08-02 10:52:19.450 12965 12986 E AndroidRuntime: at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58) 08-02 10:52:19.450 12965 12986 E AndroidRuntime: at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:31) 08-02 10:52:19.450 12965 12986 E AndroidRuntime: at android.database.sqlite.SQLiteDatabase.delete(SQLiteDatabase.java:1526) 08-02 10:52:19.450 12965 12986 E AndroidRuntime: at org.thoughtcrime.securesms.database.DatabaseFactory$DatabaseHelper.onUpgrade(DatabaseFactory.java:1010) 08-02 10:52:19.450 12965 12986 E AndroidRuntime: at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:256) 08-02 10:52:19.450 12965 12986 E AndroidRuntime: at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:187) 08-02 10:52:19.450 12965 12986 E AndroidRuntime: at org.thoughtcrime.securesms.database.SmsDatabase.getExpirationStartedMessages(SmsDatabase.java:654) 08-02 10:52:19.450 12965 12986 E AndroidRuntime: at org.thoughtcrime.securesms.service.ExpiringMessageManager$LoadTask.run(ExpiringMessageManager.java:57) 08-02 10:52:19.450 12965 12986 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 08-02 10:52:19.450 12965 12986 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 08-02 10:52:19.450 12965 12986 E AndroidRuntime: at java.lang.Thread.run(Thread.java:761) 08-02 10:52:19.450 12965 12986 D AppTracker: App Event: crash

@Natanji I filed https://github.com/WhisperSystems/Signal-Android/issues/6846 with the same issue, /cc @McLoo

Version 4.9.3 is okay now! Yeah!

Can confirm, 4.9.3 works for me too!

4.9.3 fixes the issue for me.

Confirmed that 4.9.3 fixes the crash for me as well, yay! :)

@bgoerner Thank you for being a beta tester, if you would like a less "annoying" life of peace and tranquility, consider running the production releases instead.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

FeuRenard picture FeuRenard  路  3Comments

j3fffff picture j3fffff  路  3Comments

5boro picture 5boro  路  3Comments

ilikenwf picture ilikenwf  路  3Comments

wesinator picture wesinator  路  3Comments