-
-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
Database Error prevents Signal-Desktop to start #6970
Comments
Thank you for logging this @ronidee
|
You won't have all your history, but you can try using signal-desktop-beta for the time being. Version 7.20.0~beta.1 works fine for me. |
This is affecting me too (Arch linux). I tried downgrading to an older version but they also fail.
|
@ronidee Thanks for providing your debug log. Based on these log lines, Signal Desktop successfully (as far as it understood) decrypted your database key via Electron's
My questions to all are:
|
Hello, thank you for your reply!
What should I do next? Kind regards ronidee |
@ronidee If you could give us your logs from |
Following up on our experience: I was able to resolve this for myself and team with the following, which may or may not help others. We are all running Rocky 9.4 and Gnome 40.10 NOTE: Some of us did have at least partial restore of messages and others did not, but all of us have had Signal Desktop running normally again since. Obviously, use caution here if you are tying to retain all of your current messages this worked for what we need but may not end up being the optimal solution for you!
|
@jenkniss Moving from snap to flatpack worked for you - do you have any idea why? Perhaps it has something to do with how each of those systems mediates access to privileged storage locations used by Electron's safeStorage API? |
Hmm... well this wont necessarily explain why snap has the issue vs flatpak that I can see but it definitely feels like something is up with the keys/db. Something is preventing the db from initializing (as we see in the error presented). I did notice this comment at line 1687 from commit e449702 which seems to fit the the error some of us are getting when I looked at sql.sqlCall's defined errors:
There is a new await prior to that in the function. I have not dug much deeper than that. |
@jenkniss Please let us know if you find anything else interesting, especially differences between those two packages or details of your system. I took a look at the code you pointed out, and in the latest version of Lines 1723 to 1763 in 00e6071
|
Same here. I migrated from linux mint 20.2 MATE to 21.3 MATE and Signal gives the same database error. I haven't tried linking to my phone because I'm afraid that would ruin any chance of keeping my chat history. I did not have this issue migrating from linux mint 18.3 to 19.3 to 20.2. I installed Signal Desktop with the install instructions from https://signal.org/download |
Is there a way to back-up the key from the (Electron) safeStorage and restore it - say - after migrating e.g. to a different desktop, different distro/OS, or a new installation after a crash - along with the Signal folder (i.e. the desktop's history)? In my main.log I have on one system:
but on the other:
(I used to mount the one Signal folder from a Veracrypt container on an external USB to the desktop or laptop, whichever I was just on - now I learned that the signal-dektop will start with it's history only on that single system which holds the key in the safeStorage; so I'm curious again how to do a backup and restore - similiar to what I can have Signal doing on Android with local backups.) Many thanks, |
See my comment on another thread #6944 (comment) |
I'm pretty sure vegantostada is on to something. Signal works fine if I delete my entire old DB and recreate it (but I've now sadly lost my entire 3 years of message history), the issue is something with the way the latest version is storing keys. |
My point is that I'd very much desire a supported and maintained solution over a temporary. From the various reports I got the impression that the safeStorage use may fail to decrypt the key correctly after any (Linux/Windows?) system upgrade - and definitely after a re-installation and plain restore of the "Signal/" folder. I'm not the only one who'd be unhappy losing all the history on the desktop. Since things are evolving further, this workaround to temporarily store the key unencrypted before starting the Signal-desktop again with the folder placed to the new desired location, may work just until the next step in the developement. And if I read the script right which vegantostada provided, it is for Windows - I'm not sure, to what it would resolve app.getpath('appdata') on linux - perhaps Signal-desktop just decided to use .config/Signal/ while it's e.g. .mozilla/firefox/ for the browser ("~" stands for /home/[username]/ and names starting with a dot are normally hidden). |
For what it's worth, I restored access to the Signal database by replacing the keyring directory on my linux mint 21.3 installation with that of my linux mint 20.3. |
Similar to: |
Same here, fresh installation on OpenSuse Leap 15.6. Installed via snap: https://snapcraft.io/signal-desktop I installed it for the first time with no prior installation. I get the same error also when starting it from the command-line:
|
Even if I delete everything under |
Same problem here with snap version 7.21 in Fedora 40. The flatpak works fine but I'd prefer to use the snap install instead. |
running on "Linux Mint 20 Ulyana" downgrading to 7.21.0 fixes the issue for me, looks like the new version was compiled against a newer EBI/API version of libstdc++ please release a new compatible version.
|
Solved with |
I started experiencing the issue just recently. I'm using Debian sid using the Debian package provided by Signal.org. One notable thing is that I'm running signal-desktop through Firejail. When not doing that it seems to work fine. I think Snap/Flatpak variants might add some kind of sandboxing as well, so if it's indeed the same issue, maybe there's something to look at? Maybe the new API requires an update of the Firejail/Snap/Flatpak sandboxing profiles? |
Still the same error with version 7.23.0. |
@corsac-s If Signal Desktop cannot access a consistently-available form of protected storage (or basic, if the system doesn't support it), it will save it database password somewhere which it cannot later access. That will cause the errors you are seeing, since the database can't be decrypted. But maybe there's something else going on in your configuration? Can you provide debug logs ( |
I can confirm this issue (code=26: file is not a database) on Arch. Mobile app reports last activity on 23.8.2024 corresponding to the version 7.19.1 of signal-desktop. This is a device paired since 2020. Recently, I noticed, I was being asked by kwallet to allow Signal access. And indeed it is set in Signal config as: And allowing access on the other device and reloggin fixes the issue. |
It's possible I've run signal both under and outside Firejail, so maybe at one point (outside of Firejail) it identified a way to save the password, then can't access it under Firejail. Following the comment by @xvado00 I checked the configuration and I have:
(I'm running Debian sid with Xfce desktop environment, but I do have gnome keyring available somewhere). The debug logs are attached. I can't really see issues there but on the terminal output I get:
I guess it might be linked because I assume gnome_libsecret might try to access gnome keyring with DBus. It was working previously but maybe the password was saved somewhere else? Also, when looking in seahorse I can't see a password for Signal so I'm not sure about all of the above. |
@corsac-s Going back and reading your original report, it seems that the answer is simply that you cannot run Signal Desktop in Firejail. Firejail somehow prevents access to the secure storage location it normally has access to. Note that you might be able to start your Desktop installation over from scratch and run it only within Firejail, giving Desktop the consistent access it needs. My theory is that you ran the first version that upgraded its database key storage outside of Firejail, so that's where the database key was saved. |
You could update again. This was a mistake in the message dialog. The Flathub version will now fallback to |
I would like to propose that, due to what appears to be fairly widespread message history loss on desktop, feature requests like these deserve revisiting and possible elevation of priority. |
Thanks to @salim-b I'm now getting somewhere, but the database migration is failing:
|
Today I'm suddenly experiencing this on Fedora 40 GNOME with flatpak signal. I'm not aware of having changed anything. |
For user-installed flatpak: |
When I set
|
@wtogami You likely suffer from the same bug many others have when the Signal Flatpak first started to expose the OS keystore to Signal. There are serious bugs in the keystore implementation of Electron and/or Signal under Linux. Hence the default of the Signal Flatpak was reverted to storing the key in plain-text ( If you don't mind losing your data/message history on Signal Desktop, I recommend:
|
Is there really no way to restore my history? I don't want to lose years of chat. |
See this comment. You will need to have a backup of your plain-text |
Because it encrypted the history with a key that was subsequently lost? |
Exactly, see my comment. |
If anybody is on NixOS unstable with home manager, I was able to resolve the error by merely:
my chats were untouched |
None of the proposed solutions here worked on PopOS 22.04 (6.9.3 kernel); each restart of signal reports a corrupted DB. How are flatpaks still a thing these days I wonder lol |
so this problem has nothing to do with snap version, I've been using and stay in 7.15.0 but as of today it show the version is expired and cannot send any message |
@scottnonnenberg-signal As you probably noticed, this issue surfaced in the Flatpak version of Signal as well as soon as it started to grant permission to use the OS keystore. Meanwhile we've learned that the underlying problem is Chromium (bundled by Electron) using the |
... Would explain why signal runs when compiled locally. Tried yesterday with 7.26.0 on Fedora 39. Seems to work ... |
For people experiencing the issue under Firejail, adding |
Also see netblue30/firejail#6498 for the relevant profile |
Switching to |
You need to delete Signal's data manually in order to be able to switch the auth method, either via
flathub/org.signal.Signal#756 will fix the issue with |
I'm actually using the deb version and the error still persists. I didn't try deleting all data however, because I'm trying to avoid that. But seeing this issue is two months old now, maybe I'll have to delete my data anyway. |
My current understanding is that:
|
Hello Signal bros and sisters! Windows 11 / Signal Desktop - database error since early August 2024 (since the last update maybe late July). |
Here under fedora 41 kde a new installation singal via flathub it does not work either
|
Please report this to the Flatpak repo. Also, you can see that you're using two command line switches. |
What is the situation on this issue? Can I upgrade my signal version on Flatpak? I can't try because I have too many messages... I lock my Flatpak version locally. It dos not update until I allow it manually. I am checking this task everyday. |
I've been seeing this issue regularly on Fedora 40 and Fedora 41 as well. I ended up completely moving some conversations from Signal to Matrix because it was interfering with productivity. |
Using a supported version?
Overall summary
Seemingly out of the blue Signal always shows a database error popup whenever I attempt to start the application. It prompts me to quit or to delete all data, i.e. I can't use Signal without deleting my data (which I'm trying to avoid).
Steps to reproduce
Expected result
Actual result
Screenshots
I receive this error when trying to start Signal:
When I click "Copy error and quit", sometimes this second error message appears:
Signal version
7.19.0 (deb version. Not flatpak, not snap)
Operating system
Ubuntu 23.10
Version of Signal on your phone
7.12.3
Link to debug log
https://pastebin.com/cnikkkFs
The text was updated successfully, but these errors were encountered: