[Pkg-kde-extras] Bug#1151868: libqt6keychain1: isKwalletAvailable() blocks the GUI thread for 25 s while kwalletd has an unlock dialog open

Thomas Moore sales at mooresolutions.co.nz
Sat Oct 24 04:36:05 BST 2026


Source: qtkeychain

Version: 0.17.0-1

Severity: normal

Tags: upstream fixed-upstream



Hi,



Since 0.16.0, isKwalletAvailable() in qtkeychain/keychain_unix.cpp makes a

blocking call to org.kde.KWallet.networkWallet with the default 25 second

D-Bus timeout. It runs inline on the first keychain job, which is usually the

application's GUI thread, so the application freezes until the call times out.



kwalletd stops answering application-level D-Bus calls while an unlock dialog

is open for any client. That happens at login when the wallet password differs

from the login password, because kwallet-pam can't open the wallet. Several

autostarted applications can then ask for it at once, and any that probe

behind the dialog stall. In plasmashell that freezes the whole shell.



With the wallet locked and a dialog opened by another client, I measured:



  org.freedesktop.DBus.Peer.Ping         0 ms   reply

  org.kde.KWallet.networkWallet      25301 ms   NoReply



A Qt event loop with a 100 ms heartbeat went 25305 ms between ticks, so that

call accounts for the whole freeze.



Upstream fixed it by probing with org.freedesktop.DBus.Peer.Ping instead. The

QtDBus layer answers Ping, and it still triggers D-Bus activation.



  commit: https://github.com/frankosterfeld/qtkeychain/commit/007abb86535c6e112d7c0d32ad5372302619b509 

  PR:     https://github.com/frankosterfeld/qtkeychain/pull/304 

  issue:  https://github.com/frankosterfeld/qtkeychain/issues/303 



No tagged release has it yet. Once this has a bug number I'll send the commit

as a quilt patch against 0.17.0.



I reproduced this on Kubuntu 26.10 with kwalletd6 4:26.08.0-0ubuntu1 and

libqt6keychain1 0.17.0-1. I haven't run it on Debian. Testing and unstable

have the same qtkeychain 0.17.0-1, so I expect the same behaviour, but that

comes from the version number, not a test. Debian 13 has 0.15.0, which

predates the regression.



Full analysis and repro steps are in the Ubuntu bug:

https://bugs.launchpad.net/ubuntu/+source/qtkeychain/+bug/2165214 



Thomas Moore (realstuffie)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-kde-extras/attachments/20261024/cf961034/attachment.htm>


More information about the pkg-kde-extras mailing list