SQLite error 11 database disk image is malformed after iOS crash while Signal was open in background of low storage message
- [x] I have searched open and closed issues for duplicates
- [x] I am submitting a bug report for existing functionality that does not work as intended
- [x] This isn't a feature request or a discussion topic
Bug description
The bug has occurred when I'm trying to take multiple screenshots on my iPad with low storage while Signal is open in background with low storage warning message.
Steps to reproduce
- On my iPad with low storage, open Signal app and I see low storage message which I can't use Signal until my storage is enough.
- Press home button to exit Signal app by keep background open.
- Select any app
- Tried to screenshot with power and home button together means it didn't come out
- Screenshot multiple times until iOS system crashes.
- Entering passcode and open Signal app.
Actual result: Signal couldn't load database after crash with low storage and still open in background of Signal app.
Expected result: Before system crashes, Signal app may exit not forcing before crash, should recover database and back to there or make backup database of another file before crashes again. After iOS crash, Signal should open database correctly with normal operation.
Quick log:
2024/05/20 08:18:08:903 ❤️ [NotificationService.swift:114 didReceive(_:withContentHandler:)]: Couldn't load database: SQLite error 11: Optional("database disk image is malformed") (extended result code: 11)
2024/05/20 08:18:19:403 💛 [NSEEnvironment.swift:120 setUp(logger:)]: [NSE] pid: 856, memoryUsage: 3343160 {{xxxx-xx-xx-xxxB82}}
2024/05/20 08:18:19:405 ❤️ [OWSFileSystem.m:78 +[OWSFileSystem protectFileOrFolderAtPath:fileProtectionType:]]: Could not protect file or folder: NSCocoaErrorDomain/513, NSPOSIXErrorDomain/1
Screenshots (this was on May 3rd 2024 screenshotted, still I have an issue ongoing after I published an issue)
Device info
Device: iPad 9th Generation
iOS version: 17.5.1
Signal version: 7.11
Link to debug log
b8437e19c349b54243bce4b44cf6c0b86a156a5886862506ccf20a7a67a55a39.zip (permanent link from GitHub)
If you would like to request more debug logs from past dates, let me know. Thanks! :)
Sincerely, Martin Eesmaa
I have the same error and it started with low storage on the iPhone. Just deleted a few GBs and updated iPhone and Signal App to the newest version of today but still the same error. Now even Push-Notifications don't work anymore in Background as a pop up message.
Support-Ticket is open: [XWJ5E6-NWxxx]
Filter: Signal - iOS Debug Log - LaunchFailure_DatabaseUnrecoverablyCorrupted Hardware: iPhone SE 2020 HID: 12,8 iOS-Version: 17.5.1 (21F90) Signal-Version: 7.18.0.190 Region: de_DE
Screenshot containing the error message: "Datenbank konnte nicht geladen werden. Signal kann nicht starten. Bitte sende ein Diagnoseprotokoll an [email protected], damit wir dieses Problem beheben können." Button: "Diagnoseprotokoll übermitteln"
Is there any chance that i will be able to continue to use my signal app with all my chats and photos aber an upcoming update? Or do I have to delete my app and start from a clean app to be able to use signal?
Could anyone please give a forecast to this issue? On the one hand i really need to text with people using Signal but on the other hand I need my messages and pictures and dont want to loose it.
What should i do?
exact same problem here
Hi @Foxdelmar!
He replied to my support ticket about on May 28:
Alexander Berkman (Signal Support)
May 28, 2024, 07:03 PDT
Hi, thanks for writing in to Signal support.
The only options currently available are to attempt to resolve the issue by reinstalling the app and wiping all data, or wait until a bugfix is available. I unfortunately can't give out a specific timeline for a resolution.
Thanks again for your help in reporting this and improving Signal for everyone.
Well, if you don't want to lose conversations on Signal app with malformed database, then we have to wait bugfix is resolved about this issue or if you wanna still continue using Signal app of malformed database, then that's only one choice is to reinstall it and you may lose conversations.
Here's my feature request: I wonder what if I make sure next time internal storage is almost empty by opened in background or in app, pending messages... then I wanna just make simple to pop up a standard iOS warning message when app exits itself and also needs to empty the storage before launch use app.
If user tries to open the app again after iOS standard warning message popped up, then it will appear again message until empty and can use app to enter once storage is enough without iOS standard message.
Let me know if you have question or issue. Thanks! :)
- Martin Eesmaa
@MartinEesmaa : Thank you for your reply. I also received a similar answer. I decided to uninstall and reinstall the app with all data lost. I need the app so there was no other option for me.
Hopefully Signal will be hardened in a way that it stops working when the space is too low instead of destroying its own database.
Hi, @Foxdelmar! Thanks for the info.
Well, you chose to reinstall Signal app with fresh clean, so data is lost 😞, if it's fine for you by choice.
For me, I use Android my main device for Signal app to backup chats just in case.
However it would be good idea for future update to support backup file for iOS and Android (already supported).
If you have friends that you chatted it before you reinstalled app, you can request your friends to take screenshot of your written chats conversations on friend's phone like iOS or Android of screenshot or backup file using signalbackup-tools.
- Martin Eesmaa
It has been almost four months since I started to post issue... waiting for still updates
- Martin Eesmaa
+1, hitting this too, more info here.
Same error here. My wife's iPhone had no empty space and signal crashed. After getting some space we got the same error as above.
I have spent more time looking into this, and I believe the following steps would solve the problem:
- allow the user to export the SQLlite database
- the user fixes the database, for example via
sqlite3 mydata.db ".dump" | sqlite3 new.db - allow the user to re-import the database.
1 and 3 can be done from the current failure UI screen. 2 is the responsibility of the user.
I have reached out to the signal team but have not heard back on whether they are willing to implement steps 1 and 3.
In lieu of that, the next question to answer is whether if I build Signal from source myself (to implement 1), and put it on my iPhone, will it be able to see my data that was written by the Signal app from the app store?
I have spent more time looking into this, and I believe the following steps would solve the problem:
- allow the user to export the SQLlite database
- the user fixes the database, for example via
sqlite3 mydata.db ".dump" | sqlite3 new.db- allow the user to re-import the database.
1 and 3 can be done from the current failure UI screen. 2 is the responsibility of the user.
I have reached out to the signal team but have not heard back on whether they are willing to implement steps 1 and 3.
In lieu of that, the next question to answer is whether if I build Signal from source myself (to implement 1), and put it on my iPhone, will it be able to see my data that was written by the Signal app from the app store?
@mihaelacr I have the same problem, did you find any solution for this?
I have spent more time looking into this, and I believe the following steps would solve the problem:
- allow the user to export the SQLlite database
- the user fixes the database, for example via
sqlite3 mydata.db ".dump" | sqlite3 new.db- allow the user to re-import the database.
1 and 3 can be done from the current failure UI screen. 2 is the responsibility of the user. I have reached out to the signal team but have not heard back on whether they are willing to implement steps 1 and 3. In lieu of that, the next question to answer is whether if I build Signal from source myself (to implement 1), and put it on my iPhone, will it be able to see my data that was written by the Signal app from the app store?
@mihaelacr I have the same problem, did you find any solution for this?
@1din555go Unfortunately the signal team has not replied to me on this matter.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Thanks for annoying humans with automatic bots. Bugs don't fix themselves.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
It's still one year and three months before a complete fix is available. Waiting patiently...
- Martin Eesmaa
Oh wow.
This is so incredibly frustrating and such a massive f*** up! How in the world does the app manage to corrupt the database if the system is running low on storage?! And nobody addresses this at all? Just wow. I just lost multiple years worth of conversations because I took a picture on my phone and ran out of space (Signal wasn't even open). This is so incredibly infuriating, I truly hope my writing doesn't come across too impolite towards anyone, I just don't remember being so frustrated with a piece of software in a long long time.
For anyone else having had the absolutely unfortunate destiny of ending up in this thread, a few things I have found in this terrifying journey:
- If you have Signal Desktop, you can create a backup of whatever messages had been sent/backed up on the Desktop app (I know for a fact that Signal sometimes misses some messages when synchronizing to the desktop, which is also very unfortunate, so all of those are gone for good).
- The database's encryption is so convoluted that, even though all the data is there in your computer in an sqlite database, the only way I found of decrypting it was using Signal Export, I'm on a Macbook running Big Sur, so I couldn't install anything else.
- I failed at every single attempt at trying to manually access the database (even having access to my own Keychain and all the necessary PINs and passwords), and I tried for a few hours.
- There is no way to recover the corrupted database in your phone, it is gone, dead, over.
- If you delete the Signal app from your phone you WILL LOSE ALL DATA (chats, contacts, attachments, etc), but, the "good news" (ugh!) is that your Signal Desktop data will not be affected, which means that: you can delete the iOS app and then re-install it. I think you WILL NEED YOUR SIGNAL PIN (I had mine; I assume that if you don't have or don't remember that, you're pretty much done for).
- After you re-install Signal on iOS you can re-link the same Desktop app and it will just continue with all the chats/groups/media/etc as if nothing had happened; you will be kicked out of it temporarily, immediately after going through with the iOS app's installation: at some point it will say something like "Continuing will disable Signal on other devices currently registered with the same phone number". As soon as you re-link the Desktop app to the newly-installed iOS app, all the conversations, contacts and everything else will still be there (in the Desktop App) as it was before.
- The only thing that will be recovered when you re-install the iOS app are your groups (?), but just the placeholders (names and members), no message nor anything else will show up from before. You're effectively resetting your entire account.
- All your contacts will be informed, in their message threads with you, that your "safety number has changed".
Good luck to us all.
This issue just affected me. The fact that Signal can corrupt my entire message and media history through no fault of my own, while at the same time STILL having no way for me to back up and restore my data outside of that single point of failure, is a service-breaking issue. Database corruption issues that are out of a user's control such as this should be a top priority, and the fact this has been an issue for more than a YEAR without ANY communication other than an acknowledgement is frankly infuriating and speaks poorly of the team.
Until this is fixed, I will not be using Signal for everyday messaging anymore. I hope to see this issue fixed soon so I can continue using it without fear of anything like this happening again.
Hey guys... I read stories why you guys had database failure of corruption cause of Signal won't open it unless needs to manually work it to attempt retrieve database, otherwise have to uninstall Signal app and start over again with fresh conversations...
Now... Signal iOS app repository of GitHub left like almost 80+ issues opened, including I created an issue about malformed database corruption. There is NO GUARANTEE to protect it whenever could happen to affect database corruption when you almost ran out of space. So my option guess is to warn all iOS users before using Signal app first time or returning to say there is no backup protection. Well... Android has a local backups support already with strong passphrases.
If you want to like really retrieve manually database corrupted on your iOS device, there were some devices are supported with targeted iOS versions that must be jailbreak to get a database copy and do manually fix to the database using like SQLite.
I found the blog that may be interesting to all: https://sebastiencouture.com/backup-signal-ios-jailbreak/
And also... if you want to backup conversations to the cloud, you can try self-host server of libsignal by modifying changes to increase like from 45 days to unlimited days or whatever you like it.
Alternatively, an official Signal blog announced already on 8th September 2025 about "Introducing Signal Secure Backups". Last than 45 days of media and full conversations are free to backup to Signal via cloud with full secure encrypted.
Official Signal blog link: https://signal.org/blog/introducing-secure-backups/
Also, it costs $1.99 USD per month to store full text messages & media backup, 100 GB storage and also special mention thanks supporting to Signal.
If you don't like it to backup via cloud due to your security, personal, privacy or anything reasons, you don't have to do it or like I said to self-host server via libsignal to backup all your medias & messages to your local home server, not third parties.
It already started with Android beta release to test secure backups and later full public release with iOS, Desktop and Android support are coming soon.
So that is my theory and opinions I have... Feel free to reply or ask questions to me. Thanks! :)
Kind regards, Martin Eesmaa
I'm not using Signal on iOS myself, but someone I recommended to use Signal hit this issue as well and will probably loose the full Signal history on the iPhone. This is a severe issue.
This also works if you have Signal Desktop somewhere an in sync:
https://github.com/bepaald/signalbackup-tools