Skip to content
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

Startup crash #6838

Closed
2 tasks done
franziskuskiefer opened this issue Aug 1, 2017 · 57 comments
Closed
2 tasks done

Startup crash #6838

franziskuskiefer opened this issue Aug 1, 2017 · 57 comments

Comments

@franziskuskiefer
Copy link

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.

@McLoo
Copy link
Contributor

McLoo commented Aug 1, 2017

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

@bgoerner
Copy link

bgoerner commented Aug 1, 2017

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

@franziskuskiefer
Copy link
Author

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)

@Dyras
Copy link

Dyras commented Aug 1, 2017

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

@teutat3s
Copy link

teutat3s commented Aug 1, 2017

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

@gartenriese2
Copy link

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

@rhaist
Copy link

rhaist commented Aug 1, 2017

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.

@roth-a
Copy link

roth-a commented Aug 1, 2017

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

@McLoo
Copy link
Contributor

McLoo commented Aug 1, 2017

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

@johanw666
Copy link
Contributor

johanw666 commented Aug 1, 2017

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

@moxie0
Copy link
Contributor

moxie0 commented Aug 1, 2017

@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.

@kpuljek
Copy link

kpuljek commented Aug 1, 2017

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

@moxie0
Copy link
Contributor

moxie0 commented Aug 1, 2017

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

@franziskuskiefer
Copy link
Author

@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

@kpuljek
Copy link

kpuljek commented Aug 1, 2017

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

@moxie0
Copy link
Contributor

moxie0 commented Aug 1, 2017

Thanks @franziskuskiefer, would you be comfortable emailing me (moxie+github@whispersystems.org) 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.

@moxie0
Copy link
Contributor

moxie0 commented Aug 1, 2017

@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 (moxie+github@whispersystems.org). Thanks!

@kpuljek
Copy link

kpuljek commented Aug 1, 2017

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

@moxie0
Copy link
Contributor

moxie0 commented Aug 1, 2017

@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

@kpuljek
Copy link

kpuljek commented Aug 1, 2017

Still no numbers
log3.txt

@McLoo
Copy link
Contributor

McLoo commented Aug 1, 2017

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?!

@mr-gosh
Copy link

mr-gosh commented Aug 1, 2017

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?

@kpuljek
Copy link

kpuljek commented Aug 1, 2017

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

@Dyras
Copy link

Dyras commented Aug 1, 2017

@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.

@Adalan
Copy link

Adalan commented Aug 1, 2017

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

@kpuljek
Copy link

kpuljek commented Aug 1, 2017

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

@cyrill62
Copy link

cyrill62 commented Aug 1, 2017

Same issue too.

dreamlte (Galaxy S8)
android 7.0
XEF (France)

@rhaist
Copy link

rhaist commented Aug 1, 2017

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

Sent from my OnePlus ONEPLUS A3003 using FastHub

@moxie0 moxie0 closed this as completed in 6ed549c Aug 1, 2017
@RiseT
Copy link
Contributor

RiseT commented Aug 1, 2017

@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"

@ghost
Copy link

ghost commented Aug 1, 2017

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

@moxie0
Copy link
Contributor

moxie0 commented Aug 1, 2017

@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.

@RiseT
Copy link
Contributor

RiseT commented Aug 1, 2017

@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.

@ghost
Copy link

ghost commented Aug 1, 2017

@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

@RiseT
Copy link
Contributor

RiseT commented Aug 1, 2017

@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.

@ghost
Copy link

ghost commented Aug 1, 2017

@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

@roth-a
Copy link

roth-a commented Aug 2, 2017

Still crashing on version 4.9.1

@roth-a
Copy link

roth-a commented Aug 2, 2017

4.9.2 works

@bgoerner
Copy link

bgoerner commented Aug 2, 2017

Also 4.9.2 does not work. annoying.

@thomasnadler
Copy link

4.9.2 does not work here.

@franziskuskiefer
Copy link
Author

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

@gartenriese2
Copy link

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

@grendello
Copy link

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

@McLoo
Copy link
Contributor

McLoo commented Aug 2, 2017

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

@mammuth
Copy link
Contributor

mammuth commented Aug 2, 2017

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.

@kpuljek
Copy link

kpuljek commented Aug 2, 2017

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

@Natanji
Copy link

Natanji commented Aug 2, 2017

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```

@grendello
Copy link

@Natanji I filed #6846 with the same issue, /cc @McLoo

@bgoerner
Copy link

bgoerner commented Aug 2, 2017

Version 4.9.3 is okay now! Yeah!

@gartenriese2
Copy link

Can confirm, 4.9.3 works for me too!

@cyrill62
Copy link

cyrill62 commented Aug 2, 2017

4.9.3 fixes the issue for me.

@grendello
Copy link

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

@moxie0
Copy link
Contributor

moxie0 commented Aug 3, 2017

@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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests