Saving a modified database that was opened from a mounted Google Drive Folder leads to infinite loop
Have you searched for an existing issue?
- [x] Yes, I tried searching and reviewed the pinned issues
Brief Summary
I'm on Ubuntu 24. I have a mounted Google Drive using GNOME's built in "online account" features. I have a password database that I store in Google Drive as my way of syncing across devices. When I open this database in KeePassXC, it shows that its opened a file located at something like "/run/user/1000/133dssgfdf/sp98hfsdb98aspd". If I modify this database and go to save it, i get the following error window. This window will continue to pop up, infinitely i think, but i havent actually let it go past ~45. I have confirmed this occurs even when there isnt a lock file in the mounted folder.
For each error window that pops up, there is an accompanying file titled " .xdp-sp98hfsdb98aspd.PphzRP-BErgPX". Where the text after the "xdp-" is the same as the end of the path mentioned above (the /run/user path), and the last section of text, after the "." seems to be randomized and is different for each file. The file is a binary file with 0 bytes.
Steps to Reproduce
- Open a database from a mounted google drive folder (that was mounted using GNOME's onine account feature) on Ubuntu
- Modify database
- hit CTRL+S twice in a row
Expected Versus Actual Behavior
The window should only pop up once. The files shouldn't be created in the google drive. Ideally the database would just save to the google folder!
KeePassXC Debug Information
KeePassXC - Version 2.7.9
Revision: 8f6dd13
Distribution: Snap
Qt 5.15.11
Debugging mode is disabled.
Operating system: Ubuntu Core 22
CPU architecture: x86_64
Kernel: linux 6.14.0-24-generic
Enabled extensions:
- Auto-Type
- Browser Integration
- Passkeys
- SSH Agent
- KeeShare
- YubiKey
- Secret Service Integration
Cryptographic libraries:
- Botan 2.19.1
Operating System
Linux
Linux Desktop Environment
Gnome
Linux Windowing System
X11
You have to do as it requests, disable safe saves. The gnome fuse interface that backs this Google drive integration handles files very poorly. The only way it works is if the app directly writes to a new or existing file. Renaming a file is not possible and breaks the safe saving method that we use (based on qt's).
https://keepassxc.org/docs/KeePassXC_UserGuide#_advanced_save_options
Makes sense, thanks for the comment. I still think the infinite loop behavior is report-able?
I have a very similar issue with the Internxt drive. File rename is not implemented for Internxt Drive Linux either.
It is implemented for the Mac Client however, where the "safe save" works just fine.
The infinite loop may already be fixed for the next release, but i would have to replicate it to confirm. Can you try running a snapshot build: https://snapshot.keepassxc.org
Unfortunately you don't provide Debian packages (*.deb)
use the appimage
I wanted to test the latest AppImage to check if it's fixed but :
./KeePassXC-2.8.0-snapshot-x86_64.AppImage
/tmp/.mount_KeePass0oh8f/AppRun.wrapped: ligne 11 : exec: keepassxc : non trouvé
I tested an older but I got another error
Disable safe save does not fix. No longer fork bomb but a red banner "Fail to update the database : Unknown error"
Direct-write on gvfs stopped working for me some time ago (last year?). It reproducibly fails without an error, after some looping, with a truncated file. I experience this on all my three machines.