https://bugs.kde.org/show_bug.cgi?id=523975
Bug ID: 523975
Summary: ksecretd hangs indefinitely on a Secret Service unlock
Prompt
Classification: Frameworks and Libraries
Product: frameworks-kwallet
Version First 6.28.0
Reported In:
Platform: KDE Linux
OS: Linux
Status: REPORTED
Severity: crash
Priority: NOR
Component: general
Assignee: [email protected]
Reporter: [email protected]
CC: [email protected]
Target Milestone: ---
DESCRIPTION
ksecretd hangs indefinitely on a Secret Service unlock Prompt requested by a
third-party app (GTask in secret_service_real_prompt_async never completes)
STEPS TO REPRODUCE
1. On a KDE Plasma 6.6 / X11 session (Fedora 44), have an existing, normal
KWallet (not empty-named, not related to bug 504656).
2. Launch any application that accesses credentials via the freedesktop Secret
Service API (org.freedesktop.secrets) rather than the native KWallet API — in
my case Electron apps using `@azure/msal-node-extensions`'
`LibSecretPersistence` / libsecret, e.g. Claude Desktop
(claude-desktop-unofficial package). xdg-desktop-portal doing a Secret Service
call also seems to trigger it.
3. When the app requests the Collection be unlocked, ksecretd opens a KWallet
unlock Prompt window.
OBSERVED RESULT
- The Prompt window appears with a black, blurry, "not responding" frame
(KWin's ghost-window rendering for an unresponsive client) and never becomes
interactive. Clicking Cancel sometimes dismisses it, sometimes not.
- After a few failed/hung attempts, a separate "KDE-Dienst für
Passwortspeicher" dialog appears: "Es gab mehrere vergebliche Versuche, den
Passwortspeicher zu öffnen. Möglicherweise liegt eine Fehlfunktion eines
Programms vor." (roughly: "There were several failed attempts to open the
password store. There may be a program malfunction.")
- The requesting application either hangs indefinitely or ends up in a broken
state (blank/transparent window, renderer errors) once its request never
resolves.
- journalctl shows:
kwalletd6[…]: Error reading label:
QDBusError("org.freedesktop.DBus.Error.UnknownInterface", "Interface
'org.freedesktop.Secret.Collection' was not found")
ksecretd[…]: Using kwallet without parent window!
ksecretd[…]: Application "xdg-desktop-portal" using kwallet without parent
window!
kwalletd6[…]: received unexpected result type ao from Completed signal instead
of expected o
kwalletd6[…]: g_task_return_error: assertion 'error != NULL' failed
kwalletd6[…]: GTask secret_service_real_prompt_async (source object: 0x…,
source tag: 0x…) finalized without ever returning (using g_task_return_*()).
This potentially indicates a bug in the program.
- Workaround: killing `ksecretd` (it's D-Bus-activated and restarts on next
request) sometimes clears the stuck state temporarily, but the hang recurs on
the next prompt.
EXPECTED RESULT
The unlock Prompt should either complete normally, or the underlying D-Bus call
should fail/timeout cleanly so the requesting application's own error handling
can take over, instead of hanging indefinitely.
SOFTWARE/OS VERSIONS
Operating System (available in the Info Center app, or by running `kinfo` in a
terminal window): Fedora 44
KDE Plasma Version: 6.7.3
KDE Frameworks Version: 6.28.0
Qt Version: 6.11.1
ADDITIONAL INFORMATION
Kernel Version: 7.1.5-201.fc44.x86_64 (64-bit)
Graphics Platform: X11
Processors: 20 × Intel® Core™ Ultra 7 265K
Memory: 32 GiB of RAM (30.8 GiB usable)
Graphics Processor: NVIDIA GeForce RTX 5070
--
You are receiving this mail because:
You are watching all bug changes.