Closed CoSoCo closed 1 month ago
Hi, this sounds like a DB encryption key decryption error. To store the decryption key, we use electron safeStorage which uses a keyring backend (such as gnome libsecret or kwallet). Based on the commands you listed it seems like it should work, but I'm not sure where the keyring is stored and it's required to decrypt the key.
On Linux a possible workaround is to skip the encrypted db key by using the command line flag --password-store="basic"
(for details see https://www.electronjs.org/docs/latest/api/safe-storage#safestoragegetselectedstoragebackend-linux). Note this will only affect a fresh run of the app, and will not decrypt an existing encrypted db key, and you must continue to run the app with this command line flag.
Based on the commands you listed it seems like it should work, but I'm not sure where the keyring is stored and it's required to decrypt the key.
Thanks for your hints. I now tried to find such a missing keyring, but was not successful. As you can see from the inode numbers, all files are identical in old and current HOME dir.\
$ find ../old/ -iname "*keyring*" -exec ls -ali {} \;
insgesamt 56
656672 drwx------ 2 ich ich 4096 Okt 4 13:28 .
656671 drwx------ 5 ich ich 4096 Apr 26 2017 ..
669198 -rw------- 2 ich ich 17835 Okt 4 13:28 login.keyring
657421 -rw------- 4 ich ich 10093 Dez 29 2020 login.keyring.temp-1839844398
657421 -rw------- 4 ich ich 10093 Dez 29 2020 login.keyring.temp-1898464673
656960 -rw------- 2 ich ich 207 Jun 13 2013 user.keystore
657421 -rw------- 4 ich ich 10093 Dez 29 2020 ../old/.gnome2/keyrings/login.keyring.temp-1898464673
657421 -rw------- 4 ich ich 10093 Dez 29 2020 ../old/.gnome2/keyrings/login.keyring.temp-1839844398
669198 -rw------- 2 ich ich 17835 Okt 4 13:28 ../old/.gnome2/keyrings/login.keyring
657735 -rw-r----- 1 ich ich 108 Feb 28 2016 ../old/.cache/upstart/gnome-keyring-gpg.log.1.gz
662806 -rw-r----- 1 ich ich 108 Feb 1 2016 ../old/.cache/upstart/gnome-keyring-gpg.log.7.gz
675588 -rw-r----- 1 ich ich 109 Sep 24 2018 ../old/.cache/upstart/gnome-keyring-ssh.log.2.gz
657889 -rw-r----- 1 ich ich 108 Feb 23 2016 ../old/.cache/upstart/gnome-keyring-gpg.log.3.gz
670403 -rw-r----- 1 ich ich 108 Feb 10 2016 ../old/.cache/upstart/gnome-keyring-gpg.log.5.gz
673207 -rw-r----- 1 ich ich 109 Sep 14 2018 ../old/.cache/upstart/gnome-keyring-ssh.log.4.gz
675628 -rw-r----- 1 ich ich 109 Sep 25 2018 ../old/.cache/upstart/gnome-keyring-ssh.log.1.gz
673484 -rw-r----- 1 ich ich 109 Aug 3 2018 ../old/.cache/upstart/gnome-keyring-ssh.log.6.gz
671087 -rw-r----- 1 ich ich 108 Feb 5 2016 ../old/.cache/upstart/gnome-keyring-gpg.log.6.gz
671081 -rw-r----- 1 ich ich 108 Feb 11 2016 ../old/.cache/upstart/gnome-keyring-gpg.log.4.gz
675574 -rw-r----- 1 ich ich 109 Sep 23 2018 ../old/.cache/upstart/gnome-keyring-ssh.log.3.gz
673942 -rw-r----- 1 ich ich 109 Sep 14 2018 ../old/.cache/upstart/gnome-keyring-ssh.log.5.gz
673971 -rw-r----- 1 ich ich 109 Aug 2 2018 ../old/.cache/upstart/gnome-keyring-ssh.log.7.gz
658325 -rw-r----- 1 ich ich 108 Feb 28 2016 ../old/.cache/upstart/gnome-keyring-gpg.log.2.gz
ich@T500:~$ find . -iname "*keyring*" -exec ls -ali {} \;
insgesamt 56
230719 drwx------ 2 ich ich 4096 Okt 5 11:36 .
230718 drwx------ 5 ich ich 4096 Apr 26 2017 ..
669198 -rw------- 2 ich ich 17835 Okt 4 13:28 login.keyring
657421 -rw------- 4 ich ich 10093 Dez 29 2020 login.keyring.temp-1839844398
657421 -rw------- 4 ich ich 10093 Dez 29 2020 login.keyring.temp-1898464673
656960 -rw------- 2 ich ich 207 Jun 13 2013 user.keystore
657421 -rw------- 4 ich ich 10093 Dez 29 2020 ./.gnome2/keyrings/login.keyring.temp-1898464673
657421 -rw------- 4 ich ich 10093 Dez 29 2020 ./.gnome2/keyrings/login.keyring.temp-1839844398
669198 -rw------- 2 ich ich 17835 Okt 4 13:28 ./.gnome2/keyrings/login.keyring
insgesamt 16
131350 drwx------ 2 ich ich 4096 Okt 5 11:29 .
131338 drwxrwxr-x 39 ich ich 4096 Okt 5 11:28 ..
131352 -rw------- 1 ich ich 1208 Okt 5 11:29 login.keyring
131354 -rw------- 1 ich ich 207 Sep 28 01:41 user.keystore
131352 -rw------- 1 ich ich 1208 Okt 5 11:29 ./.local/share/keyrings/login.keyring
$ find ../old/ -iname "*wallet*" -exec ls -ali {} \;
923505 -rw-rw-r-- 1 ich ich 4100 Jul 2 2018 ../old/.cache/gnome-software/icons/15b0c38ccb8183cec8603033ef52e561a716728d-lindacoin-wallet1.png
750477 -rw------- 2 ich ich 59 Mär 4 2019 ../old/.config/kwalletrc
787979 -rw------- 1 ich ich 48 Mai 28 2014 ../old/.kde/share/config/kwalletrc
insgesamt 8
812767 drwx------ 2 ich ich 4096 Jan 12 2018 .
788221 drwx------ 9 ich ich 4096 Jan 12 2018 ..
insgesamt 20
747510 drwxrwxr-x 2 ich ich 4096 Mai 14 2019 .
656675 drwxr-xr-x 77 ich ich 4096 Okt 4 15:54 ..
665897 -rw------- 2 ich ich 713 Mai 14 2019 kdewallet.kwl
747601 -rw------- 2 ich ich 16 Mär 8 2019 kdewallet.kwl.h11555
657109 -rw-r--r-- 2 ich ich 56 Jul 1 2018 kdewallet.salt
657109 -rw-r--r-- 2 ich ich 56 Jul 1 2018 ../old/.local/share/kwalletd/kdewallet.salt
665897 -rw------- 2 ich ich 713 Mai 14 2019 ../old/.local/share/kwalletd/kdewallet.kwl
747601 -rw------- 2 ich ich 16 Mär 8 2019 ../old/.local/share/kwalletd/kdewallet.kwl.h11555
ich@T500:~$ find . -iname "*wallet*" -exec ls -ali {} \;
750477 -rw------- 2 ich ich 59 Mär 4 2019 ./.config/kwalletrc
787979 -rw------- 2 ich ich 48 Mai 28 2014 ./.kde/share/config/kwalletrc
insgesamt 8
139682 drwx------ 2 ich ich 4096 Jan 12 2018 .
139672 drwx------ 9 ich ich 4096 Jan 12 2018 ..
insgesamt 20
148742 drwxrwxr-x 2 ich ich 4096 Mai 14 2019 .
131338 drwxrwxr-x 39 ich ich 4096 Okt 5 15:18 ..
665897 -rw------- 2 ich ich 713 Mai 14 2019 kdewallet.kwl
747601 -rw------- 2 ich ich 16 Mär 8 2019 kdewallet.kwl.h11555
657109 -rw-r--r-- 2 ich ich 56 Jul 1 2018 kdewallet.salt
657109 -rw-r--r-- 2 ich ich 56 Jul 1 2018 ./.local/share/kwalletd/kdewallet.salt
665897 -rw------- 2 ich ich 713 Mai 14 2019 ./.local/share/kwalletd/kdewallet.kwl
747601 -rw------- 2 ich ich 16 Mär 8 2019 ./.local/share/kwalletd/kdewallet.kwl.h11555
Do you have any idea, where the keyring could be?
One interesting thing is, there is no ./.local/share/keyrings/
in the old HOME. But when I rename it, I'm asked to create a new keyring when starting signal-desktop.
I now found out that I had to re-login into the desktop, after deleting ./.local/share/keyrings/
.
Now Signal Desktop runs again fine.
So to recover the history from old HOME dir, the following must be copied:
cp -al /home/old/.config/Signal /home/user/.config/
cp -al /home/old/.gnome2/keyrings /home/user/.gnome2/
rm /home/user/.local/share/keyrings/
Alternatively, the legacy location /home/old/.gnome2/keyrings
can be moved to the new location /home/user/.local/share/keyrings
, but then new keys in the latter, if existing, become overwritten / deleted.
Using a supported version?
Overall summary
After duplicating the files of the Signal configuration, the App shows an error. Additionally, copying the error doesn't work.
This is on Ubuntu 22.04
Steps to reproduce
sudo mkdir /home/user_new
andsudo chown user:user /home/user_new
sudo cp -al /home/user/.config/Signal /home/user_new/.config/
/home/user
->/home/user_old
/home/user_new
->/home/user
So in result all files are the same as cause of hard links.When I rename back the user dirs, then Signal Desktop runs again properly.
Why it doesn't run from the hard linked copy?
Expected result
Signal Desktop should run properly.
Actual result
From terminal:
app.log main.log
Screenshots
No response
Signal version
Not possible to get from the app, because of the error, but with
apt policy signal-desktop
I get7.27.0
Operating system
Ubuntu 22.04
Version of Signal on your phone
No app on phone
Link to debug log
No response