Description
Have you searched for an existing issue?
- Yes, I tried searching and reviewed the pinned issues
Brief Summary
KeePassXC becomes unresponsive after launch for a couple of seconds if multiple database files are opened and a YubiKey is plugged in.
This freeze doesn't happen if no YubiKey is plugged in.
The time the app is unresponsive scales with the number of automatically opened database files. With four empty test databases, the program becomes unresponsive for about 4 seconds. My actual database files make KeePassXC freeze for about 10 seconds.
I've bisected the problem to 0b32cf3.
In particular, commenting out the lock in src/keys/drivers/YubiKey.cpp:109
makes the problem go away.
Unfortunately, I don't know enough about KeePassXC's code base to provide a patch. Simply removing the lock likely isn't an option.
This problem might be related to #11852. I tried searching for other related issues but didn't find any. I'm sorry if this particular bug is already tracked somewhere.
Steps to Reproduce
- Launch KeePassXC with 0b32cf3 applied.
- Open four or more different database files (you don't have to unlock them).
- Quit KeePassXC.
- Ensure a YubiKey is plugged in.
- Launch KeePassXC again. This time, the UI freezes for a couple of seconds.
Expected Versus Actual Behavior
Expected behaviour: KeePassXC doesn't freeze.
Observed behaviour: KeePassXC becomes unresponsive for a couple of seconds.
KeePassXC Debug Information
KeePassXC - Version 2.7.9-snapshot
Build Type: Snapshot
Revision: 0b32cf3
Qt 5.15.16
Debugging mode is disabled.
Operating system: Arch Linux
CPU architecture: x86_64
Kernel: linux 6.13.5-arch1-1
Enabled extensions:
- Auto-Type
- Browser Integration
- Passkeys
- SSH Agent
- KeeShare
- YubiKey
- Secret Service Integration
Cryptographic libraries:
- Botan 3.7.1
Operating System
Linux
Linux Desktop Environment
Gnome
Linux Windowing System
Wayland