Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Signal keeps crashing a second after opening #13814

Open
3 tasks done
wpank opened this issue Nov 23, 2024 · 8 comments
Open
3 tasks done

Signal keeps crashing a second after opening #13814

wpank opened this issue Nov 23, 2024 · 8 comments

Comments

@wpank
Copy link

wpank commented Nov 23, 2024

Guidelines

  • I have searched searched open and closed issues for duplicates
  • I am submitting a bug report for existing functionality that does not work as intended
  • This isn't a feature request or a discussion topic

Bug description

Since yesterday, signal keeps crashing a second or two after opening it. It will be able to open the list of messages (with new messages), and can click into them, however after a second or two will back out of the current screen, then eventually the list of messages and crash with Signal keeps stopping.

I tried updating to the latest 7.26.1 and this still occurs.

Something that might be related: the past few days have been having an issue with sending pictures and videos. Sometimes it's intermittent. It originally had a hard time sending videos files over 100mb (it would fail), but was able to send them by compressing them. At some point sending new videos would just not work, it would hang at "processing". (I think I may have run out of device storage at some point around here, but have since freed up device storage). Sometimes sending things would eventually work, perhaps this was after clearing device storage. I tried to "delete for me" and "delete for everyone" the failed messages that didn't send so they didnt cloud up the chat history with failed attempts. Some of these could not be removed, and I think after trying this the crashing may have started.

I tried searching through other issues and similar things people mentioned, though most of the issues were either resolved with a new release or were sightly different. Something suspect might me the job manager for sending pending messages related to the video compressing or something, but that's just a shot in the dark, as was some of the only related things right before it started continuously crashing.

Relatedly - is there a way to backup messages to another device without losing history? I currently have it linked to my computer and ipad. I haven't tried clearing cache or app data since I'm reluctant to lose anything.

Screenshots

No response

Device

No response

Android version

15

Signal version

version 7.26.1

Link to debug log

No response

@wpank
Copy link
Author

wpank commented Nov 23, 2024

I've tried to submit a debug log, but it keeps crashing before it works to submit :/

The closest I can get is taking a screenshot like this:

Screenshot_20241123-094147

Also wanted to mention the crashing still occurs on airplane mode, as that was something suggested to try in other issues that were slightly related.

@greyson-signal
Copy link
Contributor

The only remaining way to get logs would be to use the android logcat tool. You can download it here, and then run logcat > logs.txt, reproduce the crash, and then share the log file. Apologies, I know it's a lot!

@wpank
Copy link
Author

wpank commented Nov 28, 2024

log.txt

@greyson-signal thanks, I ran adb logcat > log.txt, opened the app, waited for it to crash, then stopped. Let me know if the above logs suffice.

Looks like some kind of db corruption related to deleting the messages that failed to send (per the context of my first post)?

11-23 15:34:21.358 24438 24510 E AndroidRuntime: FATAL EXCEPTION: pool-14-thread-1
11-23 15:34:21.358 24438 24510 E AndroidRuntime: Process: org.thoughtcrime.securesms, PID: 24438
11-23 15:34:21.358 24438 24510 E AndroidRuntime: org.thoughtcrime.securesms.database.SqlCipherErrorHandler$DatabaseCorruptedError_BothChecksPass
11-23 15:34:21.358 24438 24510 E AndroidRuntime: 	at org.thoughtcrime.securesms.database.SqlCipherErrorHandler.onCorruption(SqlCipherErrorHandler.kt:52)
11-23 15:34:21.358 24438 24510 E AndroidRuntime: 	at net.zetetic.database.sqlcipher.SQLiteDatabase.onCorruption(SQLiteDatabase.java:348)
11-23 15:34:21.358 24438 24510 E AndroidRuntime: 	at net.zetetic.database.sqlcipher.SQLiteProgram.onCorruption(SQLiteProgram.java:117)
11-23 15:34:21.358 24438 24510 E AndroidRuntime: 	at net.zetetic.database.sqlcipher.SQLiteStatement.executeUpdateDelete(SQLiteStatement.java:93)
11-23 15:34:21.358 24438 24510 E AndroidRuntime: 	at net.zetetic.database.sqlcipher.SQLiteDatabase.delete(SQLiteDatabase.java:1794)
11-23 15:34:21.358 24438 24510 E AndroidRuntime: 	at org.thoughtcrime.securesms.database.SQLiteDatabase.lambda$delete$14(SQLiteDatabase.java:394)
11-23 15:34:21.358 24438 24510 E AndroidRuntime: 	at org.thoughtcrime.securesms.database.SQLiteDatabase.$r8$lambda$tw0Fv9xDoZzgnkzgX2fwZPNTwog(SQLiteDatabase.java:0)
11-23 15:34:21.358 24438 24510 E AndroidRuntime: 	at org.thoughtcrime.securesms.database.SQLiteDatabase$$ExternalSyntheticLambda1.run(R8$$SyntheticClass:0)
11-23 15:34:21.358 24438 24510 E AndroidRuntime: 	at org.thoughtcrime.securesms.database.SQLiteDatabase.traceSql(SQLiteDatabase.java:113)
11-23 15:34:21.358 24438 24510 E AndroidRuntime: 	at org.thoughtcrime.securesms.database.SQLiteDatabase.delete(SQLiteDatabase.java:394)
11-23 15:34:21.358 24438 24510 E AndroidRuntime: 	at org.thoughtcrime.securesms.database.SQLiteDatabase.delete(SQLiteDatabase.java:256)
11-23 15:34:21.358 24438 24510 E AndroidRuntime: 	at org.signal.core.util.DeleteBuilderPart2.run(SQLiteDatabaseExtensions.kt:493)
11-23 15:34:21.358 24438 24510 E AndroidRuntime: 	at org.thoughtcrime.securesms.database.MessageTable.deleteMessage(MessageTable.kt:3298)
11-23 15:34:21.358 24438 24510 E AndroidRuntime: 	at org.thoughtcrime.securesms.database.MessageTable.deleteMessage$default(MessageTable.kt:3288)
11-23 15:34:21.358 24438 24510 E AndroidRuntime: 	at org.thoughtcrime.securesms.database.MessageTable.deleteMessage(MessageTable.kt:3284)
11-23 15:34:21.358 24438 24510 E AndroidRuntime: 	at org.thoughtcrime.securesms.service.ExpiringMessageManager$ProcessTask.run(ExpiringMessageManager.java:112)
11-23 15:34:21.358 24438 24510 E AndroidRuntime: 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
11-23 15:34:21.358 24438 24510 E AndroidRuntime: 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
11-23 15:34:21.358 24438 24510 E AndroidRuntime: 	at java.lang.Thread.run(Thread.java:1012)
11-23 15:34:21.358 24438 24510 E AndroidRuntime: 	at [[ ↑↑ Original Trace ↑↑ ]].(:0)
11-23 15:34:21.358 24438 24510 E AndroidRuntime: 	at [[ ↓↓ Inferred Trace ↓↓ ]].(:0)
11-23 15:34:21.358 24438 24510 E AndroidRuntime: 	at Database 'signal.db' corrupted!.(:0)
11-23 15:34:21.358 24438 24510 E AndroidRuntime: 	at [sqlite] FullCode: 267 | ErrorCode: 11 | ExtendedErrorCode: 1 | Message: database disk image is malformed | ExtraMessage: null.(:0)

@md-weber
Copy link

md-weber commented Nov 28, 2024

I have the same behavior on my Google Pixel 8. I did not do anything out of the ordinary but now the behavior is like this:

  1. Starting the app
  2. Select a Chat
  3. Crash

Following link contains my logcat:
https://privatebin.net/?992297d4e722f7b5#AHtvDkqtimwVV9YQ6KqRkAXVKcHm4D8qmNXjPpwzddCD

@greyson-signal
Copy link
Contributor

@wpank

Looks like some kind of db corruption

Unfortunately that does seem to be the case, I'm sorry. It looks like the specific issue is that an expiring message is being deleted at startup, which is somehow triggering a SQLite corruption error. One thing you could try is turning your system clock back? A bunch of other weird things could happen as a result, but you may be able to make a backup in Settings > Chats > Backups?

@md-weber

Following link contains my logcat:

Unfortunately I'm not seeing any crashes in there :( Any chance you could try again?

@wpank
Copy link
Author

wpank commented Dec 3, 2024

@greyson-signal thanks. I went to change the system clock to be back two months. This was able to stop signal from crashing - I then enabled backups and made a backup on disk. Then reset clock to be back to automatic time.

@wpank wpank closed this as completed Dec 3, 2024
@wpank
Copy link
Author

wpank commented Dec 3, 2024

Hmm, it looked like setting the clock back, then setting it to automatic again made it not crash for a bit (so I closed this), but now the same thing is happening again (so reopening). I think the difference since then was I received a few new messages (from chats that werent related to any I had the pending failed deleted messages. Will see if there's different logs later today 🤔.

If I set my clock back, signal won't crash, but when I set it back to automatic time it will continue to crash when opening things. I was able to get a backup.

@greyson-signal any other suggestions on what to do from here, or would there be any other helpful information I can provide?

One question is if I clear the app storage (right now android says it's 26gb), what does that all remove? Would that clear the SQL db? And since I now have a backup, if I clear the app storage and restore the backup, it should have the same state now right?

@wpank wpank reopened this Dec 3, 2024
@greyson-signal
Copy link
Contributor

Yeah, so the idea is that setting the clock back lets you make a backup, and then after making the backup (and saving the passphrase), you can uninstall signal. Then you can reinstall it and restore from the backup file you created.

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

No branches or pull requests

3 participants