Bug 504656 - kwallet 6.14: calls to ksecretd hang if there's an empty-named wallet
Summary: kwallet 6.14: calls to ksecretd hang if there's an empty-named wallet
Status: RESOLVED FIXED
Alias: None
Product: frameworks-kwallet
Classification: Frameworks and Libraries
Component: general (other bugs)
Version First Reported In: 6.14.0
Platform: Manjaro Linux
: NOR major
Target Milestone: ---
Assignee: Valentin Rusu
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-05-22 08:54 UTC by michaelk83
Modified: 2025-05-28 08:59 UTC (History)
6 users (show)

See Also:
Latest Commit:
Version Fixed In: 6.15
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description michaelk83 2025-05-22 08:54:58 UTC
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
Comment 1 michaelk83 2025-05-22 09:02:17 UTC
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.
Comment 2 michaelk83 2025-05-22 09:09:23 UTC
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)
Comment 3 michaelk83 2025-05-22 09:18:08 UTC
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.
Comment 4 jackdinn 2025-05-22 11:00:38 UTC
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.
Comment 5 michaelk83 2025-05-22 11:53:51 UTC
(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.
Comment 6 jackdinn 2025-05-22 12:29:05 UTC
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.
Comment 7 Marco Martin 2025-05-22 14:56:07 UTC
(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?
Comment 8 michaelk83 2025-05-22 15:01:20 UTC
(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.
Comment 9 jackdinn 2025-05-22 16:56:42 UTC
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?
Comment 10 michaelk83 2025-05-22 17:05:51 UTC
(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
Comment 11 jackdinn 2025-05-22 17:22:07 UTC
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 :(
Comment 12 michaelk83 2025-05-22 17:37:31 UTC
(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).
Comment 13 jackdinn 2025-05-22 17:42:04 UTC
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."
Comment 14 jackdinn 2025-05-22 18:00:46 UTC
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.
Comment 15 michaelk83 2025-05-22 18:23:40 UTC
(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.
Comment 16 jackdinn 2025-05-22 18:33:07 UTC
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.
Comment 17 michaelk83 2025-05-22 19:30:00 UTC
(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.
Comment 18 Marco Martin 2025-05-23 08:39:53 UTC
(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
Comment 19 Bug Janitor Service 2025-05-23 10:07:07 UTC
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kwallet/-/merge_requests/120
Comment 20 Marco Martin 2025-05-26 12:35:27 UTC
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