Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

KeePassXC Freezes On closing in Linux Mint 20.0 #5199

Closed
ineuw opened this issue Jul 30, 2020 · 17 comments
Closed

KeePassXC Freezes On closing in Linux Mint 20.0 #5199

ineuw opened this issue Jul 30, 2020 · 17 comments

Comments

@ineuw
Copy link

ineuw commented Jul 30, 2020

Overview

On each attempt to close KeepPassXC, the app hangs.

Steps to Reproduce

  1. Open KeePassXC App
  2. Open a database
    3, Leave open for a few minutes, minimized or not
  3. Click to close

Expected Behavior

Close the KeePassXC app without freezing.

Actual Behavior

Just hangs on screen for 30 - 40 seconds.

Context

This happens whether a browser is open or not.

KeePassXC - Version 2.6.0
Revision: 0765954

Qt 5.12.8
Debugging mode is disabled.

Operating system: Linux Mint 20
CPU architecture: x86_64
Kernel: linux 5.4.0-42-generic

Enabled extensions:

  • Auto-Type
  • Browser Integration
  • SSH Agent
  • KeeShare (signed and unsigned sharing)
  • YubiKey
  • Secret Service Integration

Cryptographic libraries:
libgcrypt 1.8.5

Operating System: Linux
Desktop Env: Cinnamon
Windowing System: X11/Wayland

@invidian
Copy link

invidian commented Aug 16, 2020

I experience the same on fresh install on Arch Linux. From gdb, I got:

ASSERT: "baseGroup" in file /home/invidian/repos/keepassxc/src/core/EntrySearcher.cpp, line 41
#0  0x00007ffff62a2355 in raise () from /usr/lib/libc.so.6
#1  0x00007ffff628b853 in abort () from /usr/lib/libc.so.6
#2  0x00007ffff6a429ac in QMessageLogger::fatal(char const*, ...) const () from /usr/lib/libQt5Core.so.5
#3  0x00007ffff6a41d59 in qt_assert(char const*, char const*, int) () from /usr/lib/libQt5Core.so.5
#4  0x0000555555792888 in EntrySearcher::search (this=0x7fffffffd5a0, searchTerms=..., baseGroup=0x0, forceSearch=false) at /home/invidian/repos/keepassxc/src/core/EntrySearcher.cpp:41
#5  0x00005555557fd8a9 in FdoSecrets::Collection::searchItems (this=0x555558571320, attributes=...) at /home/invidian/repos/keepassxc/src/fdosecrets/objects/Collection.cpp:254
#6  0x00005555557f20ca in FdoSecrets::Service::searchItems (this=0x55555667f3f0, attributes=..., locked=...) at /home/invidian/repos/keepassxc/src/fdosecrets/objects/Service.cpp:267
#7  0x000055555580ae7c in FdoSecrets::ServiceAdaptor::SearchItems (this=0x55555667f730, attributes=..., locked=...) at /home/invidian/repos/keepassxc/src/fdosecrets/objects/adaptors/ServiceAdaptor.cpp:71
#8  0x00005555557de07a in FdoSecrets::ServiceAdaptor::qt_static_metacall (_o=0x55555667f730, _c=QMetaObject::InvokeMetaMethod, _id=5, _a=0x7fffffffd8c0)
    at /home/invidian/repos/keepassxc/build/src/fdosecrets/fdosecrets_autogen/ZPMS5EPCTP/moc_ServiceAdaptor.cpp:155
#9  0x00005555557de76b in FdoSecrets::ServiceAdaptor::qt_metacall (this=0x55555667f730, _c=QMetaObject::InvokeMetaMethod, _id=5, _a=0x7fffffffd8c0)
    at /home/invidian/repos/keepassxc/build/src/fdosecrets/fdosecrets_autogen/ZPMS5EPCTP/moc_ServiceAdaptor.cpp:313
#10 0x00007ffff6f25fd6 in ?? () from /usr/lib/libQt5DBus.so.5
#11 0x00007ffff6f295cb in ?? () from /usr/lib/libQt5DBus.so.5
#12 0x00007ffff6f29eba in ?? () from /usr/lib/libQt5DBus.so.5
#13 0x00007ffff6f2c388 in ?? () from /usr/lib/libQt5DBus.so.5
#14 0x00007ffff6c911d2 in QObject::event(QEvent*) () from /usr/lib/libQt5Core.so.5
#15 0x00007ffff77ee702 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#16 0x00007ffff6c647ba in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#17 0x00007ffff6c672a3 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQt5Core.so.5
#18 0x00007ffff6cbdcf4 in ?? () from /usr/lib/libQt5Core.so.5
#19 0x00007ffff544a43c in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#20 0x00007ffff54981d9 in ?? () from /usr/lib/libglib-2.0.so.0
#21 0x00007ffff5449221 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#22 0x00007ffff6cbd331 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#23 0x00007ffff6c6313c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#24 0x00007ffff6c6b5c4 in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5
#25 0x00005555555c5919 in main (argc=1, argv=0x7fffffffe258) at /home/invidian/repos/keepassxc/src/main.cpp:160

When trying to execute the following command:

secret-tool lookup UserName invidian

Version: 71b05db.

@droidmonkey
Copy link
Member

droidmonkey commented Aug 16, 2020

Nice that shows perfectly where the crash is occurring, but unrelated to the OP's crash

@0xpr03
Copy link

0xpr03 commented Sep 11, 2020

Kinda the same issue as OPs ?

I have two independent systems (different DBs, users) both experience desktop/app hangs when closing keepassxc after using it with 1 DB and firefox integration. (Browser can already be closed)
Didn't happen in older versions. Doesn't happen if I don't close the browser first.

So steps are:

  • OpenKeepassXC and Firefox
  • Let firefox plugin connect, login to some site
  • Close firefox
  • Close keepassxc, watch keepassxc hang (~1-2 seconds)

If you close keepassxc before firefox or don't connect the browser integration it'll work without any hangs.

KeePassXC - Version 2.6.1
Revision: 9a35bba

Qt 5.9.5
Debugging mode is disabled.

Operating system: Ubuntu 18.04.5 LTS
CPU architecture: x86_64
Kernel: linux 4.15.0-117-generic

Enabled extensions:
- Auto-Type
- Browser Integration
- SSH Agent
- KeeShare (signed and unsigned sharing)
- YubiKey
- Secret Service Integration

Cryptographic libraries:
 libgcrypt 1.8.1

@shmerl
Copy link

shmerl commented Jan 7, 2022

I have the same experience. What's strange is that in KDE it freezes the whole plasmashell as well. It's around 5 seconds for me though.

@droidmonkey
Copy link
Member

That would imply that it is plasma itself that is freezing.

@shmerl
Copy link

shmerl commented Jan 8, 2022

Yeah, but somehow it's caused by keepassxc only.

@WineBottles
Copy link

That would imply that it is plasma itself that is freezing.

This happens to me on a fresh Arch install using KDE Plasma. Sure it may be "Plasma itself that is freezing" but no other app behaves like this this. Only KeePassXC. I installed KeePassXC from the pacman repo: https://archlinux.org/packages/community/x86_64/keepassxc/

Computer details:
Operating System: Arch Linux
KDE Plasma Version: 5.23.5
KDE Frameworks Version: 5.90.0
Qt Version: 5.15.2
Kernel Version: 5.15.14-hardened1-1-hardened (64-bit)
Graphics Platform: X11

This also happens on the regular non-hardened Kernel.

Additional details/what happens.

  1. Launch KeePassXC
  2. Close KeePassXC by pressing the x in the top right
    My entire computer is unusable for approximately 2 seconds. I can move the mouse around but cannot actually click on anything.

This issue is probably more widespread than everyone thinks but we just ignore or live with it. I saw a Reddit post a couple days ago where 2 replies said they all experienced it:
https://old.reddit.com/r/KeePass/comments/s2cwmh/keepassxc_causes_kde_plasma_to_hang_for_about_2/

This occurs whether you unencrypt or just close the app right away so I don't think it has anything to do with the "encryption delay" that was mentioned in a comment.

With Steam Deck using KDE Plasma, it is a good time to get new users/spread awareness of Linux and would make a bad impression for KDE/Linux if the entire handheld hangs for 2 seconds just to close a password manager.

@droidmonkey
Copy link
Member

droidmonkey commented Jan 15, 2022

I setup a VM with the following;

Operating System: Fedora Linux 35
KDE Plasma Version: 5.23.4
KDE Frameworks Version: 5.89.0
Qt Version: 5.15.2
Kernel Version: 5.15.14-200.fc35.x86_64 (64-bit)

At first I was able to replicate a freeze on exit, but when I did system updates and installed packages required for building keepassxc.... it totally went away.

I just built the develop branch and it ran and exited without any delay.

@shmerl
Copy link

shmerl commented Jan 15, 2022

That freeze doesn't happen all the time in Plasma. It could be some race condition that causes it to happen only sometimes when you close keepassxc. So just try doing it a lot.

@shmerl
Copy link

shmerl commented Jan 18, 2022

Not sure if related, but when keepassxc closes I see this in the X session errors log:

qt.qpa.xcb: QXcbConnection: XCB error: 3 (BadWindow), sequence: 61938, resource id: 98566758, major code: 18 (ChangeProperty), minor code: 0
qt.qpa.xcb: QXcbConnection: XCB error: 3 (BadWindow), sequence: 67, resource id: 102760465, major code: 18 (ChangeProperty), minor code: 0
qt.qpa.xcb: QXcbConnection: XCB error: 3 (BadWindow), sequence: 99, resource id: 98566759, major code: 18 (ChangeProperty), minor code: 0

@droidmonkey
Copy link
Member

@WineBottles
Copy link

https://bugreports.qt.io/browse/QTBUG-56893

Are you suggesting when that ticket is fixed and released this should no longer be an issue?

@droidmonkey
Copy link
Member

I'm not saying anything at this point besides the fact that this does not seem to be caused by KeePassXC. It very well may be a Qt problem.

@shmerl
Copy link

shmerl commented Mar 13, 2022

This still happens, so IMHO better to keep it opened until it's actually working properly.

Or may be this can be investigated more like running a debugger on that situation.

If it's a bug in Qt, better to narrow it down and actually report it upstream, otherwise it might never be fixed. I.e. I'm not convinced the above bug is the same as causing this hang / delay on exit.

@droidmonkey
Copy link
Member

This issue is all over the place. Narrow the parameters with which it occurs, preferably with a fresh OS install to rule out other factors. I cannot reproduce it as noted above.

@shmerl
Copy link

shmerl commented Mar 13, 2022

My current set-up:

Debian testing.

keepassxc: 2.6.6
Qt: 5.15.2
KDE Plasma: 5.24.3

Is it different from yours?

@shmerl
Copy link

shmerl commented Jun 26, 2022

Can't reproduce it with newer Qt in Debian testing (5.15.4), so I think it was a Qt bug that's now fixed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants