-
Notifications
You must be signed in to change notification settings - Fork 793
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
client causing keyring file to be rewritted every few seconds #1592
Comments
using nextcloud-client-2.6.1-2-x86_64 from arch community repo not sure if this is related, but i experience gnome-keyring-daemon "running amok" with latest version, it consumes lots of cpu, conky reports constantly 20-30M IO write (!!). i have ~10 Folders "in sync" on 3 different Servers, strange behaviour stops as soon i "stop all synchronizations" and continues if i start it again. downgrading to V2.6.0 fixes the problem |
The line I pointed out comes from this commit: 19491ff It is four months old, so it was included in 2.6.0 too. But I don't know if this is interacting with something else. |
As far as I can tell, 19491ff was only merged ~3 weeks ago ( #1504 ) and was only just included in the 2.6.1 release https://github.com/nextcloud/desktop/releases/tag/v2.6.1 I'm seeing what seems to be a related issue in which Nextcloud is continually trying to register the Default Keyring in gnome-keyring-daemon. (Arch Linux, nextcloud-client 2.6.1-2 x86_64). Downgrading to 2.6.0 solved the issue for me as well |
I can now confirm that commenting out the above line in the source code makes tha unwanted behaviour disappear. I understand this is no fox. It looks like this was added to properly implement the "remote wipe" functionality, and I don't know the details of how that works. Someone who knows that code should take a better look here. |
To add to this, when running nextcloud-client-2.6.1-2-x86_64 on my system, gnome-keyring-daemon entries are continuously spammed in my system log:
Again, V2.6.0 does not exhibit this. |
I tried to delete all items in seahorse and re-register nexctloud client again, however, the spamming our system log continued. Downgrading. (Arch Linux). |
I have a similar issue on macOS (10.13.6) and Nextcloud client 2.6.1. Lots of logs about nextcloud, securityd and Keychain:
After a few hours, macOS tells me that Nextcloud clients has written 200GB (!) of data on the hard drive (while only a couple of small text files have been modified). |
For Linux:Did you try the AppImage? Does the error still occur there too? For macOS:@ldesgrange Which build of 2.6.1 did you install? New release build for macOS 10.12+, notarized by Apple at 2019-11-16: Legacy build for macOS 10.10 - 10.11 with older Qt and OpenSSL, not notarized (previously used build chain): |
As I stated I'm using FreeBSD and compiling the FreeBSD port. The appimage is not an option for me. Anyway I did identify the line of code causing this behaviour. I am unable to propose a full patch because I don't know how the remote wipe works. But it definitely needs some change to the line I reference in my first message. |
yes, just tried and i can confirm, this version shows the exact same behaviour. |
@misch7 I can confirm this issue occurs on the AppImage as well. |
Thanks @brrrrrrrt and @pwfrank ! It's helpful to know, that the issue occurs on the AppImage as well. And thanks @madpilot78, we'll look into that. |
Yes, I'm using that version: Version 2.6.1stable (build 20191105). |
Same on Xubuntu 19.10
|
/etc/rsyslog.d/10-nextcloud_client.conf:
|
I have the same behavior with version 2.6.1(stable) for macOS.
An attempt was made to reinstall the client (2.6.1) over the existing version as well as to completely delete and then reinstall the client (2.6.1). I also logged the client off and logged it back on to the server. This didn't bring any success. Additionally I closed the client, removed all entries from it in the macOS keychain by hand and registered it again on the server. This didn't bring any success either. The only current solution was a downgrade to client version 2.5.3. |
Just want to confirm the same logspam error on an fresh installed & updated Arch Linux. I didnt investigate it for now but can provide logs if needed. |
While waiting for this to be fixed and released, can I ask where others are getting 2.6.0 debs from? (assuming you're using deb packages) I'd prefer not to start using AppImages just for this 🤔 Previous versions (but not 2.6.0) appear here: http://ppa.launchpad.net/nextcloud-devs/client/ubuntu/pool/main/n/nextcloud-client/ So far it looks like I'll need to build it myself or use Debian's repos. |
As the cause has already been analyzed, this is OS independent. Nevertheless, confirmed for nextcloud-client-2.6.1-1.fc30.x86_64 (and I had been so happy that the new version finally appeared in the repos and the annoying update message subsided). |
Problem confirmed with nextcloud-client-2.6.1-1.fc29.x86_64 as well. |
The app password for the remote wipe was constantly being written in WebFlowCredentials::slotFinished to the keychain, leading to unnecessary write and log overhead on the system. This fix introduces a check to only store the app password once in a lifetime of the Account class. Also the method used to store the password will be renamed from setAppPassword to writeAppPasswordOnce to be more expressive. Signed-off-by: Michael Schuster <michael@schuster.ms>
The app password for the remote wipe was constantly being written in WebFlowCredentials::slotFinished to the keychain, leading to unnecessary write and log overhead on the system. This fix introduces a check to only store the app password once in a lifetime of the Account class. Also the method used to store the password will be renamed from setAppPassword to writeAppPasswordOnce to be more expressive. Signed-off-by: Michael Schuster <michael@schuster.ms>
The app password for the remote wipe was constantly being written in WebFlowCredentials::slotFinished to the keychain, leading to unnecessary write and log overhead on the system. This fix introduces a check to only store the app password once in a lifetime of the Account class. Also the method used to store the password will be renamed from setAppPassword to writeAppPasswordOnce to be more expressive. Signed-off-by: Michael Schuster <michael@schuster.ms> (cherry picked from commit dcc84d3) Signed-off-by: Michael Schuster <michael@schuster.ms>
This has been fixed by #1646. Linux: Please use this AppImage build to test it: #1292 (comment) The fix will get into the 2.6.2 release. |
@misch7 Thanks a lot for the fix! After a quick test I can confirm it works fine on FreeBSD. |
Expected behaviour
I expect the client to save the credentials when they are actually created or changed and then leave the information as is
Actual behaviour
I have noticed the keyring file is continuously updated, every few seconds. I noticed this because I keep my home directory in sync using unison, here is an excerpt from the log:
From the nextcloud client I found this repeatedly:
This looks like a default behaviour caused by
desktop/src/gui/creds/webflowcredentials.cpp
Line 423 in 5775ec1
I'm going to test compiling the client with that line commented out. I understand it's not a permanent fix, but will at least indicate if that line is actually the cause.
Steps to reproduce
1.install
2.connect a nexcloud account
Client configuration
Client version: 2.6.1
Operating system: FreeBSD
OS language: Default (C - english)
Qt version used by client package (Linux only, see also Settings dialog):Qt 5.13.0
Client package (From Nextcloud or distro) (Linux only):FreeBSD nextcloud port updated to latest version
Installation path of client: default, /usr/local/
Server configuration
Nextcloud version:
Storage backend (external storage):
Logs
Please use Gist (https://gist.github.com/) or a similar code paster for longer
logs.
Client logfile: Output of
nextcloud --logwindow
ornextcloud --logfile log.txt
(On Windows using
cmd.exe
, you might need to firstcd
into the Nextcloud directory)(See also https://docs.nextcloud.com/desktop/2.3/troubleshooting.html#log-files)
Web server error log:
Server logfile: nextcloud log (data/nextcloud.log):
The text was updated successfully, but these errors were encountered: