-
Notifications
You must be signed in to change notification settings - Fork 38
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 #723
Comments
I'm getting this at the second start after the recent update for #729 . And by that I mean EVERY second time. New profile: Works first time, at second start I get this dialog. Delete all data > connect > works > at second start broken. Hope this is some weird problem with my system bc if not the recent update just wrecked the local data of all Signal Flatpak users... |
Another pointer: There were reports about keyring integration trashing the db weeks ago in another bug report #691 So I'm definitely not alone with this. |
Same here. Spent 30 minutes trying to find a fix but it doesn't work yet. Lost a long history unfortunately.
I wonder if the recent change regarding the system keyring requires user action to give more permissions (e.g. reading/writing the keyring)? Could it be possible to add these permissions via the |
Only way to fix it right now for me is by deleting all data, removing org.freedesktop.secrets via Flatseal and do a fresh setup. |
Thank you! 🙏 I can confirm that works as a workaround until the underlying issue is resolved. Definitely is related to |
This is typically not a flatpak issue but an issue of the password storage. Are you using kwallet, kwallet5, kwallet5, or gnome-keyring? You could use |
I'm using |
I can confirm that evades the problem. Is there also an environment variable to configure this, so we could set this via
I'm also using ❯ gnome-keyring version
gnome-keyring: 42.1 Using Key Rack I could see entries created for Signal. Of course, they aren't created anymore with |
This seems to be an error chain. Electron doesn't tell Signal the correct running instance ( |
Getting this issue as well now with the latest update. I expect as the latest update filters through there will be more people hitting this issue. |
I have the same issue, see here #729 (comment) :( |
I did some digging in the electron project and apparently this bug is known but was just closed with no fix? See bug: electron/electron#32598 |
In your case, do you use Gnome, KDE or xfce? There, chromium should be able to detect the desktop environment correctly and use the corresponding password store. However, e.g. for niche environments like i3, this detection will return "unknown" or fallback to "basic_string". If you want to use the gnome-keyring for generating and storing the encryption key, you must append the Without a proper log this can't be diagnosed why OPs message is shown. What you also could do is change your Fortunately, chromium supports a list of current desktops and it will use the first one it supports. I've added this to my
This will tell chromium to fallback to XFCE, if the first one is not supported (in my case |
I'm seeing this problem on GNOME though…
What kind of log do you need?
|
I'm getting the same error...time and time again. Do you need to add
|
I tried doing: flatpak run org.signal.Signal --password-store=gnome-libsecret The bug persisted so something else is a problem here. Also: [📦 org.signal.Signal ~]$ printenv XDG_CURRENT_DESKTOP
XFCE $ gnome-keyring version
gnome-keyring: 46.2 |
Same issue here -
|
Btw, if you got a backup of The file gets overwritten whenever you launch the app though, so while the issue is ongoing, you gotta restore the file before every launch. ps: I haven't tried the suggested workarounds in this thread yet; maybe they're better than this temp one, dunno. |
Sorry to ask so bluntly, but: Why is PR #729 not being reverted right now? It's clear that it broke Signal for nearly all users of the Flatpak (At least on GNOME I've yet to encounter anyone where it didn't destroy the local db). And yes, this destruction can't be reverted. But right now you can't use the current stable Flatpak at all, cause it will break again and again after deleting the data and doing a fresh setup. Unless you know one of the tricks to prevent this (like playing around with Flatseal), but this is nothing any regular users will (or should have to) know. What am I missing? |
I tried the three most recent commits available from the flathub repo:
The most recent one is just reverting the previous one. I'm probably missing something but how did this cause the database error; why would 295c break, while 0eda doesn't? Also obvious question, but given that the latest version breaks the app, is there a way to mark that update as bad so it stops getting pushed out to people? |
Are you sure you didn't experience #723 (comment) ? |
Not sure I understand. When I update to 295cc3f0e266ecec6a0971cbfeb8559c18d0a12d51116680aa241ec34471afab, I experience the database error described in this thread, which is what that comment describes. I got a bit lost between the several commits, reverts, and trying to match up the flathub hashes to github commits. |
The very first time (fresh install / no profile DB), Signal starts fine and writes its key to the keystore (gnome-keyring). The second time Signal starts, it fails to get its key from the keystore again and hence presents the user with a DB corruption error. At least that's what I experienced, same as what @sukahiroaki described in #723 (comment). So you might also experience this while switching between these revisions, I guessed... |
Specifically, I installed each of those three commits in turn, and re-launched signal several times on each. The database was only unreadable when launching commit 295cc3f0e266ecec6a0971cbfeb8559c18d0a12d51116680aa241ec34471afab several times. |
Can you start Signal with the We could add this switch as a workaround, so that it at least runs as before (until chromium, electron, and Signal have a fix). |
This is effectively the same as rolling back the commit that introduced the issue — with the bonus of not having people swarming on the issue tracker. Moreover, there are plenty of Signal users who aren't going to be able to do it or even find out how to do it. This issue is almost generic for all Electron applications that rely on Electron's safeStorage, regardless of the packaging. It's happening with Wire and many others. The implementation and fallback mechanism for Signal is quite poor though (my opinion), to the point that the application becomes useless, and the database corrupted. |
I can confirm that always starting the broken build with This issue has existed for four days, but I only got the update on both of my systems today. The sooner a fix is pushed the fewer systems will be borked. |
@Cybercountry just copy the content of the
from your backup to your current directory and re-launch Signal. Make sure you're using the latest flatpak version of the app before opening it. |
So should I do this with the latest Signal update available on flathub (7.24.1)? Should I not rollback? |
The latest version already revered the commit introducing this issue. 7.24.1 works fine for me. |
Alright, I'll test it. |
The version number is not enough to know which build is installed. Check the link I posted for instructions
If you see |
@minosimo Amazing! It worked. Thank you so much for the help! Are there any precautions I should take from now on until the issue is fully resolved, like avoiding updates or anything like that? Or is everything safe to proceed as usual? Thanks again! |
Glad to hear it! You can check the output of |
Here is the output of the command with the first three commits:
Should I use the command And when I decide to update manually, should I rerun the Also, is there any other precaution I should take to ensure I avoid this issue in the future? |
If you look lower you will see the problematic commit. The three you listed all come after the problematic one, so you are ok to keep updating. You can always delay updates and update manually after some time has passed. I have always had auto-updates on, but after this I will probably opt for manual updates instead. |
@minosimo Thank you very much again! Have a great day! |
I have updated troubleshooting instructions here: https://community.signalusers.org/t/warning-do-not-update-from-flathub-database-error/63222 If you need help, please ask in that thread rather than on github. |
Hello!
Thank you |
I managed to resolve this due to finding an unintentional backup of my config file located at ~/.config/Signal/config.json from when I used to use a non-flatpak version of Signal, whereas my current config file (which only conatined the encrypted key) is located at ~/.var/app/org.signal.Signal/config/Signal/config.json. This may be helpful to anyone who previously used a non-flatpak signal package before switching to flatkpak, or vice versa, due to different package formats using different config file paths. |
I managed to resolve it because I realised I take regular file system snapshots using ZFS, and was able to find the backup of the file in ~/.config/ from earlier in the day before the upgrade. |
Any updates for this issue ? |
For me helped switching back to basic store (previous version used it): |
You can be sure that when there is progress, it will be posted. The PR that re-enables (the use of) gnome-libsecret (on GNOME) is here: #756 |
The PR tries to fix an issue with libsecret. It does not "enable" gnome-libsecret. |
I am seeing the same database error on my desktop comp however, signal desktop on my latptop still works. Can I, backup the chat history on my laptop to restore chat history on my desktop whenever signal desktop works again? I am using Zorin OS Pro (Ubuntu fork) on both comps. |
Having the same issue, cannot use Signal on Desktop anymore since weeks. I don't want to delete the database, because some messages are only stored on my computer, not on my phone. |
I have no idea, but I would definitely make a backup copy of the whole ~/.var/app/org.signal.Signal/ tree just in case, before doing anything else. Maybe there is hope after all. |
With secret-tool we can identify the password but it's encoded see #753) . |
No clue :( it might be genuinely impossible to recover. I'm just waiting until the day Signal will magically start working again until there is a new update is released to the Flatpak and just use my phone in the meantime, but it is possible that it was broken enough that the encryption key was never stored anywhere (which is what seems to be implied) so in the absence of a backup, it might be impossible to recover. I am also waiting to see if I have the time and energy to find a backup, but I haven't found any backup. I think this is a sign for everyone to backup your home folder using filesystem snapshots or something like https://apps.gnome.org/PikaBackup/ |
That's great news! I do see the key in there, so it has not been lost to the void; thank you for recommending Key Rack! |
Some more complete instructions that should recover the message history:
For me this does not work, but I don't see why it wouldn't, so testing help is very appreciated! |
Without fail, after having Signal installed for a few days, this error ends up appearing after trying to open it.
The text was updated successfully, but these errors were encountered: