Reported by jackdinn <jack (at) jackdinn.co.uk> in Bug 458085 comment 71: System: OS: Manjaro Linux (Stable branch) KDE Plasma Version: 6.3.5 KDE Frameworks Version: 6.14.0 Qt Version: 6.9.0 Kernel: 6.13.12-2-MANJARO Graphics: Mesa Intel Iris Xe CPU: Intel Core i9-13900H Packages: kwallet 6.14.0-2 kwallet-pam 6.3.5-2 kwalletmanager 25.04.1-1 Problem: After my last update (just yesterday). When trying to open an SFTP bookmark in Dolphin, it hangs for about 60 seconds. KWalletManager also fails to open and freezes. Here's the DBus error I receive: An error occurred when connecting to the KWallet service: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken. kwalletd6 is running. When launched manually with debug output: KWALLET_DAEMON_DEBUG=1 kwalletd6 …it outputs repeatedly: libsecret-CRITICAL **: secret_service_load_collections_sync: assertion 'paths != NULL' failed kf.wallet.kwalletd: "Could not connect to Secret Service" Checking who owns the org.freedesktop.secrets DBus name: busctl --user status org.freedesktop.secrets …it shows: Exe=/usr/bin/ksecretd Comm=ksecretd So ksecretd is running and registered as the Secret Service provider, but any call to it hangs — including secret-tool store, kwalletmanager, and SFTP connections in Dolphin. .config/kwalletrc: [Wallet] Close When Idle=false Close on Screensaver=false Enabled=true First Use=false Idle Timeout=10 Launch Manager=true Leave Manager Open=false Leave Open=true Prompt on Open=false Use One Wallet=true [org.freedesktop.secrets] apiEnabled=true
We tried a number of debugging steps and workarounds, as can be seen bug 458085 comment 73 to bug 458085 comment 81, but to no avail. This does *not* look like BUG 458085. It's also *not* bug 504014, since KWallet is enabled here.
Adding no-allow-external-cache to ~/.gnupg/gpg-agent.conf, nor disabling "Use KWallet for the Secret Service interface" (as suggested in bug 458085 comment 36) did not help. For the latter, the user reported the following: Ok i set (kwalletrc to):- [KSecretD] Enabled=true [Wallet] Close When Idle=false Close on Screensaver=false Enabled=true First Use=false Idle Timeout=10 Launch Manager=true Leave Manager Open=false Leave Open=true Prompt on Open=false Use One Wallet=true [org.freedesktop.secrets] apiEnabled=false i rebooted, but now its just gone back to hanging for 60 secs when i try to open my NAS or open the kde wallet or kwalletmanager The kwalletmanger window has the following error:- An error occurred when connecting to the KWallet service: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken. and iv got ❱journalctl --since -5m | grep ksecretd May 21 16:31:41 greg-venusseries ksecretd[3459]: QDBusObjectPath: invalid path "/org/freedesktop/secrets/collection/" May 21 16:31:41 greg-venusseries ksecretd[3459]: QDBusObjectPath: invalid path "" May 21 16:31:41 greg-venusseries ksecretd[3459]: qt.dbus.integration: QDBusConnection: error: could not send reply message to service "": Marshalling failed: Invalid object path passed in arguments May 21 16:32:06 greg-venusseries ksecretd[3459]: QDBusObjectPath: invalid path "" May 21 16:32:06 greg-venusseries ksecretd[3459]: qt.dbus.integration: QDBusConnection: error: could not send reply message to service "": Marshalling failed: Invalid object path passed in arguments May 21 16:32:31 greg-venusseries ksecretd[3459]: QDBusObjectPath: invalid path "" May 21 16:32:31 greg-venusseries ksecretd[3459]: qt.dbus.integration: QDBusConnection: error: could not send reply message to service "": Marshalling failed: Invalid object path passed in arguments ... (error repeats)
Jack, until this is fixed, you can try a couple more workarounds: First, you can re-enable Gnome keyring and adjust kwalletrc to include: [KSecretD] Enabled=false [Migration] MigrateTo3rdParty=true This should export your old secrets from KSecretD to Gnome keyring, and then use Gnome keyring to provide the Secret Service and your old secrets. However, *this is experimental* and not guaranteed to work! If you don't want to experiment with that, or if it doesn't work either, then: My recommendation is to restore your KWallet to default settings, and then downgrade it to 6.13 until this bug is fixed.
But Aragorn the admin on manjaro forums said a downgrade would not work? https://forum.manjaro.org/t/plasma-6-kwallet-hangs-and-dolphin-sftp-fails-missing-secret-service-backend/178130/12?u=jackdinn Would downgrading kwallet work still? No, not anymore now that Frameworks has been updated. ############ Iv already lost all my keys, to much messing around. I have found that if i delete ~/.local/share/kwalletd and ~/.config/kwalletrc and reboot i get one chance to create a new wallet, but if its on GPG i get this error Seems that your system has no keys suitable for encryption. Please set-up at least one encryption key, then try again. but i know full well that i have PGP keys. The previous wallet used one of them. ❱gpg --list-keys [keyboxd] --------- pub rsa2048 2017-09-19 [SCEA] 082D1DA52FABBE31A59E61DBF7D443B0486C8554 uid [ultimate] traderjoe <none@none.com> sub rsa2048 2017-09-19 [SEA] pub rsa4096 2014-11-02 [SC] 0D96DF4D4110E5C43FBFB17F2D347EA6AA65421D uid [ unknown] Ned Deily (Python release signing key) <nad@python.org> uid [ unknown] Ned Deily (Python release signing key) <nad@acm.org> uid [ unknown] Ned Deily <nad@baybryj.net> uid [ unknown] keybase.io/nad <nad@keybase.io> sub rsa4096 2014-11-02 [E] pub dsa1024 2001-01-05 [SCA] 1528635D8053A57F77D1E08630A59377A7763BE6 uid [ unknown] Sam Lantinga <slouken@libsdl.org> sub elg1024 2001-01-05 [E] pub rsa2048 2014-01-10 [SC] [expired: 2025-04-29] 20EE325B86A81BCBD3E56798F04367096FBA95E8 uid [ expired] Dain Nilsson <dain@yubico.com> pub rsa4096 2022-05-14 [SC] 662E3CDD6FE329002D0CA5BB40339DD82B12EF16 uid [ unknown] LibreWolf Maintainers <gpg@librewolf.net> sub rsa4096 2022-05-14 [S] sub rsa4096 2022-05-14 [S] sub rsa4096 2022-05-14 [E] pub rsa4096 2016-01-16 [SCA] AFE402238DAC43C08554DBD34BD1106720D8126B uid [ultimate] jackdinn <j.co.uk> sub rsa4096 2016-01-16 [E] pub rsa4096 2013-10-09 [SC] C01E1CAD5EA2C4F0B8E3571504C367C218ADD4FF uid [ unknown] Benjamin Peterson <bp@benjamin.pe> uid [ unknown] Benjamin Peterson <bp@benjamin-peterson.org> uid [ unknown] Benjamin Peterson <benjamin@python.org> sub rsa4096 2013-10-09 [E] pub rsa4096 2015-05-11 [SC] [expires: 2061-03-06] E3FF2839C048B25C084DEBE9B26995E310250568 uid [ unknown] Łukasz Langa (GPG langa.pl) <lukasz@langa.pl> uid [ unknown] Łukasz Langa <rplktr@rplktr.com> uid [ unknown] Łukasz Langa <lukasz.langa@pyfound.org> uid [ unknown] Łukasz Langa <lukasz@edgedb.com> uid [ unknown] Łukasz Langa <lukasz@python.org> uid [ unknown] Łukasz Langa (Work e-mail account) <ambv@fb.com> uid [ unknown] [jpeg image of size 24479] pub rsa1024 2016-02-17 [SCA] F1E61107B53B720CE37FC6C7E220A3F1D2C058FD uid [ultimate] AOL sub rsa1024 2016-02-17 [E] I tried creating a blowfish wallet and it did look like it had created a new wallet but nothing will store in it. I tried to connect to a new wifi and it just says waiting for conformation or something like that. If i fail to create a wallet or try to cancel the wallet creation process then it all just starts hanging for 60 secs with everything related to the wallet again and i can not even attempt to create another wallet.
(In reply to jackdinn from comment #4) > But Aragorn the admin on manjaro forums said a downgrade would not work? I'm not very familiar with Manjaro, but I understand it to mean that they can't downgrade it for the whole distribution. You may still be able to downgrade only the KWallet packages locally. https://forum.manjaro.org/t/downgrading-a-package-and-its-dependencies-from-the-pacman-cache/129520 If you can't downgrade only kwallet, then you mentioned in bug 458085 comment 82 that you can roll back the whole upgrade: > If i roll back my system to before the kwallet update it works (In reply to jackdinn from comment #4) > If i fail to create a wallet or try to cancel the wallet creation process > then it all just starts hanging for 60 secs with everything related to the > wallet again and i can not even attempt to create another wallet. If you fail to create a wallet you may have a left-over default wallet setting in your kwalletrc that's pointing to a non-existent wallet. That may cause another issue. In that case, you can remove that setting, and restart kwalletd and ksecretd.
Ah, well if only the manjaro admin had not said that a downgrade of kwallet would NOT work, i would have tried it ages ago. I just tried it as nothing else to loose and boom, its working again. ❱yay -Qi kwallet Name : kwallet Version : 6.12.0-1 Description : Secure and unified container for user passwords Architecture : x86_64 URL : https://community.kde.org/Frameworks Licenses : LGPL-2.0-only LGPL-3.0-only Groups : kf6 Provides : org.freedesktop.secrets Depends On : gcc-libs glibc gpgme kcolorscheme kconfig kcoreaddons kcrash kdbusaddons ki18n knotifications kwidgetsaddons kwindowsystem libgcrypt qca-qt6 qt6-base Optional Deps : kwalletmanager: Configuration GUI [installed] Required By : kaccounts-integration kio ksshaskpass kwallet-pam kwalletmanager libksane okular plasma-nm plasma-workspace signon-kwallet-extension Optional For : git libsecret vlc Conflicts With : None Replaces : None Installed Size : 2.60 MiB Packager : Tomaz Canabrava <tcanabrava@archlinux.org> Build Date : Sat 15 Mar 2025 12:44:23 GMT Install Date : Thu 22 May 2025 13:19:00 BST Install Reason : Installed as a dependency for another package Install Script : No Validated By : Signature I hope you guys fix this before to long, but until then im going to just lock this package for now.
(In reply to michaelk83 from comment #2) > ❱journalctl --since -5m | grep ksecretd > May 21 16:31:41 greg-venusseries ksecretd[3459]: QDBusObjectPath: invalid > path "/org/freedesktop/secrets/collection/" > May 21 16:31:41 greg-venusseries ksecretd[3459]: QDBusObjectPath: invalid > path "" this might almost suggest an empty wallet name?
(In reply to Marco Martin from comment #7) > (In reply to michaelk83 from comment #2) > > ❱journalctl --since -5m | grep ksecretd > > May 21 16:31:41 greg-venusseries ksecretd[3459]: QDBusObjectPath: invalid > > path "/org/freedesktop/secrets/collection/" > > May 21 16:31:41 greg-venusseries ksecretd[3459]: QDBusObjectPath: invalid > > path "" > > this might almost suggest an empty wallet name? This was only after trying a bunch of other things, so almost certainly not the root of the main bug here. But we should definitely check for edge cases like this, and fail gracefully if detected.
Well yes, I've always had a wallet that has no name, I was never sure where it came from originally I suppose I must have accidentally created it but these wallets have been with me for many years now so I don't remember. However, the previous version kwallet was/is happy to have such a wallet (heres a screenshot) https://jackdinn.co.uk/s/GdRNgnrLrdE2FJq/preview So you think if i remove the blank wallet from here and then update it might work?
(In reply to jackdinn from comment #9) > So you think if i remove the blank wallet from here and then update it might work? It's worth a check. Other Manjaro users in https://forum.manjaro.org/t/plasma-6-kwallet-hangs-and-dolphin-sftp-fails-missing-secret-service-backend/178130/12?u=jackdinn are saying that things work ok for them, so this might be what sets your case apart and breaks things. Make sure you have a backup before deleting things, though. The wallets should be stored in ~/local/share/kwalletd
Unfortunately, no. ❱journalctl -b | grep kwallet May 22 18:09:58 greg-venusseries sddm-helper[1254]: pam_kwallet5(sddm-autologin:auth): pam_kwallet5: pam_sm_authenticate May 22 18:09:58 greg-venusseries sddm-helper[1254]: pam_kwallet5(sddm-autologin:auth): pam_kwallet5: Couldn't get password (it is empty) May 22 18:09:58 greg-venusseries sddm-helper[1254]: pam_kwallet5(sddm-autologin:auth): pam_kwallet5: Empty or missing password, doing nothing May 22 18:09:58 greg-venusseries sddm-helper[1254]: pam_kwallet5(sddm-autologin:setcred): pam_kwallet5: pam_sm_setcred May 22 18:09:59 greg-venusseries sddm-helper[1254]: pam_kwallet5(sddm-autologin:session): pam_kwallet5: pam_sm_open_session May 22 18:09:59 greg-venusseries sddm-helper[1254]: pam_kwallet5(sddm-autologin:session): pam_kwallet5: open_session called without kwallet5_key May 22 18:09:59 greg-venusseries systemd[1258]: Started Unlock kwallet from pam credentials. May 22 18:10:15 greg-venusseries systemd[1258]: Created slice Slice /app/dbus-:1.2-org.kde.kwalletd6. May 22 18:10:15 greg-venusseries systemd[1258]: Started dbus-:1.2-org.kde.kwalletd6@0.service. May 22 18:10:41 greg-venusseries systemsettings[3345]: Couldn't start kwalletd: QDBusError("org.freedesktop.DBus.Error.NoReply", "Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.") May 22 18:10:41 greg-venusseries kwalletd6[3406]: kf.wallet.kwalletd: "Error calling StartServiceByName for org.freedesktop.secrets: Timeout was reached" May 22 18:10:41 greg-venusseries kwalletd6[3406]: kf.wallet.kwalletd: "Could not connect to Secret Service" May 22 18:11:06 greg-venusseries kwalletd6[3406]: kf.wallet.kwalletd: "Error calling StartServiceByName for org.freedesktop.secrets: Timeout was reached" May 22 18:11:06 greg-venusseries kwalletd6[3406]: kf.wallet.kwalletd: "Could not connect to Secret Service" May 22 18:11:06 greg-venusseries kwalletd6[3418]: QThreadStorage: entry 8 destroyed before end of thread 0x6370107641f0 May 22 18:11:30 greg-venusseries systemd[1]: Created slice Slice /system/dbus-:1.2-org.kde.kcontrol.kcmkwallet5. May 22 18:11:30 greg-venusseries systemd[1]: Started dbus-:1.2-org.kde.kcontrol.kcmkwallet5@0.service. May 22 18:11:31 greg-venusseries kwalletd6[3406]: kf.wallet.kwalletd: "Error calling StartServiceByName for org.freedesktop.secrets: Timeout was reached" May 22 18:11:31 greg-venusseries kwalletd6[3406]: kf.wallet.kwalletd: "Could not connect to Secret Service" May 22 18:11:35 greg-venusseries polkitd[791]: Operator of unix-session:1 successfully authenticated as unix-user:greg to gain TEMPORARY authorization for action org.kde.kcontrol.kcmkwallet5.save for system-bus-name::1.68 [/usr/bin/systemsettings] (owned by unix-user:greg) May 22 18:11:45 greg-venusseries systemd[1]: dbus-:1.2-org.kde.kcontrol.kcmkwallet5@0.service: Deactivated successfully. May 22 18:12:11 greg-venusseries kwalletd6[3406]: kf.wallet.kwalletd: "Error calling StartServiceByName for org.freedesktop.secrets: Timeout was reached" May 22 18:12:11 greg-venusseries kwalletd6[3406]: kf.wallet.kwalletd: "Could not connect to Secret Service" May 22 18:12:30 greg-venusseries sddm-helper[1254]: pam_kwallet5(sddm-autologin:session): pam_kwallet5: pam_sm_close_session May 22 18:12:30 greg-venusseries sddm-helper[1254]: pam_kwallet5(sddm-autologin:setcred): pam_kwallet5: pam_sm_setcred May 22 18:12:35 greg-venusseries sddm-helper[4235]: pam_kwallet5(sddm:auth): pam_kwallet5: pam_sm_authenticate May 22 18:12:35 greg-venusseries sddm-helper[4235]: pam_kwallet5(sddm:setcred): pam_kwallet5: pam_sm_setcred May 22 18:12:35 greg-venusseries sddm-helper[4235]: pam_kwallet5(sddm:session): pam_kwallet5: pam_sm_open_session May 22 18:12:35 greg-venusseries sddm-helper[4242]: pam_kwallet5: final socket path: /run/user/1000/kwallet5.socket May 22 18:12:36 greg-venusseries systemd[1258]: Started Unlock kwallet from pam credentials. May 22 18:12:36 greg-venusseries pam_kwallet_init[4328]: 2025/05/22 18:12:36 socat[4328] W address is opened in read-write mode but only supports read-only May 22 18:12:47 greg-venusseries systemd[1258]: Started dbus-:1.2-org.kde.kwalletd6@1.service. May 22 18:13:12 greg-venusseries kwalletd6[6204]: kf.wallet.kwalletd: "Error calling StartServiceByName for org.freedesktop.secrets: Timeout was reached" May 22 18:13:12 greg-venusseries kwalletd6[6204]: kf.wallet.kwalletd: "Could not connect to Secret Service" May 22 18:13:37 greg-venusseries kwalletd6[6204]: kf.wallet.kwalletd: "Error calling StartServiceByName for org.freedesktop.secrets: Timeout was reached" May 22 18:13:37 greg-venusseries kwalletd6[6204]: kf.wallet.kwalletd: "Could not connect to Secret Service" May 22 18:13:37 greg-venusseries kwalletd6[6214]: QThreadStorage: entry 8 destroyed before end of thread 0x5608122ce1f0 May 22 18:14:02 greg-venusseries kwalletd6[6204]: kf.wallet.kwalletd: "Error calling StartServiceByName for org.freedesktop.secrets: Timeout was reached" May 22 18:14:02 greg-venusseries kwalletd6[6204]: kf.wallet.kwalletd: "Could not connect to Secret Service" May 22 18:14:19 greg-venusseries kwalletmanager5[6515]: Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString) May 22 18:14:27 greg-venusseries kwalletd6[6204]: kf.wallet.kwalletd: "Error calling StartServiceByName for org.freedesktop.secrets: Timeout was reached" May 22 18:14:27 greg-venusseries kwalletd6[6204]: kf.wallet.kwalletd: "Could not connect to Secret Service" May 22 18:14:52 greg-venusseries kwalletd6[6204]: kf.wallet.kwalletd: "Error calling StartServiceByName for org.freedesktop.secrets: Timeout was reached" May 22 18:14:52 greg-venusseries kwalletd6[6204]: kf.wallet.kwalletd: "Could not connect to Secret Service" May 22 18:15:17 greg-venusseries kwalletd6[6204]: kf.wallet.kwalletd: "Error calling StartServiceByName for org.freedesktop.secrets: Timeout was reached" May 22 18:15:17 greg-venusseries kwalletd6[6204]: kf.wallet.kwalletd: "Could not connect to Secret Service" I tried both with and without the "use secret service interface" ticked and unticked. ❱lll ~/.local/share/kwalletd Permissions Size User Group Date Modified Date Created Name drwxr-xr-x - greg greg 22 May 18:09 22 May 13:18 . drwxr-xr-x - greg greg 22 May 17:52 12 Jul 2024 .. .rw------- 3.5k greg greg 22 May 18:09 22 May 18:09 kdewallet.kwl .rwxrwxrwx 56 greg autologin 13 Jul 2024 22 May 13:18 kdewallet.salt .rwxrwxrwx 4.8k greg autologin 20 May 16:06 22 May 13:18 kdewallet_attributes.json ⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼ /home/greg ⎼⎼⎼⎼⎼⎼⎼⎼⎼⎼ ❱cat .config/kwalletrc [KSecretD] Enabled=false [Wallet] Close When Idle=false Close on Screensaver=false Enabled=true First Use=false Idle Timeout=10 Launch Manager=false Leave Manager Open=false Leave Open=true Prompt on Open=false Use One Wallet=true [org.freedesktop.secrets] apiEnabled=true i shall have to roll it back again :(
(In reply to jackdinn from comment #11) > ❱cat .config/kwalletrc > [KSecretD] > Enabled=false As I mentioned earlier, this is not the correct setting for your case. It's only intended if you want to use a different Secret Service provider such as Gnome Keyring. Since we're trying to get KWallet to work on its own Secret Service component, you need to have [KSecretD] Enabled=true, or not have this setting at all (true is the default value).
You are talking about the "Use KWallet for the Secret Service interface" tick box? As i said "I tried both with and without the "use secret service interface" ticked and unticked."
Ohh, sorry i see now. [KSecretD] Enabled=true This setting is NOT the tickbox "Use KWallet for the Secret Service interface" Its completely something else. Yes it is now working. But why did it not set that setting when i install it if it needs to be that way ? Last time i updated ,(every time i update it) the [KSecretD] Enabled=false, it was only by manually changing it in the text rc file that it is now working. I was assuming that at least one of the tickboxes on the GUI were setting this setting. Anyhow, i think it looks like its all ok now. Sorry i misunderstood you, and thank you for your time.
(In reply to jackdinn from comment #14) > Ohh, sorry i see now. > > [KSecretD] > Enabled=true > > This setting is NOT the tickbox "Use KWallet for the Secret Service > interface" > > Its completely something else. > > Yes it is now working. But why did it not set that setting when i install it > if it needs to be that way ? Before 6.14, the `[KSecretD] Enabled` setting didn't exist at all. In 6.14 it defaults to true when not specified. It's intended only for very specific use cases, otherwise it doesn't need to be added (or should be set to true). Just to confirm, with the unnamed wallet removed, and [KSecretD] Enabled set to true, 6.14 is working ok now? Do you you have all your passwords back? You can try to import the missing ones from the unnamed wallet, or maybe try to rename it.
Yes to all, thank you. Yea, it must have been the blank wallet name in the main because i did try many many times editing the walletrc file and just pasting your setting and saving it, so it was still failing with [KSecretD] Enabled=true before, After i deleted the nameless wallet and i set the rc file correctly again it is all working again. So yes, 6.14 is all working and i have access to my recovered wallet (btrfs) & all passwords, thank you :) p.s. there were no passwords in the nameless wallet, it was never used and was not needed at all but i never had the need to delete it, it caused no problems. (i think i did try to delete it once in the GUI but it would not go so i just left it.
(In reply to jackdinn from comment #16) > Yes to all, thank you. Great! Good catch, Marco. We should still add a check for this edge case to consider this fully fixed. > i never had the need to delete it, it caused no problems I suppose that's because the old KWallet API was more permissive about wallet names than Secret Service is.
(In reply to michaelk83 from comment #17) > (In reply to jackdinn from comment #16) > > Yes to all, thank you. > > Great! Good catch, Marco. > We should still add a check for this edge case to consider this fully fixed. > > > i never had the need to delete it, it caused no problems > > I suppose that's because the old KWallet API was more permissive about > wallet names than Secret Service is. Not even sure how a wallet with a blank name might have been created? to reproduce i had to rename the files of an empty wallet to just .kwl and .salt and indeed i have client applications freezing
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kwallet/-/merge_requests/120
Git commit 142a1ddf5e880d53e71bb4d4e3f6566ddf87946e by Marco Martin. Committed on 26/05/2025 at 09:24. Pushed by mart into branch 'master'. Hide wallets with no name There is the remote possibility the user has wallets with no name (with wallet files .kwl and .salt) Those can't be exposed on secret service as will expose invalid dbus paths which can freeze clients. There is no way to correctly access that corrupted wallet over secretservice, short of renaming the files M +3 -0 src/runtime/ksecretd/kwalletfreedesktopservice.cpp https://invent.kde.org/frameworks/kwallet/-/commit/142a1ddf5e880d53e71bb4d4e3f6566ddf87946e