Avainsanana Nextcloud

I went back in time using F-droid’s dev archive

20. marraskuuta 2020 klo 18.18
Sijainti: Vianhallintajärjestelmät: Github
Avainsanat: Android, F-Droid, Nextcloud

I went back in time using F-droid’s dev archive, testing all the way to around when 3.9.2 was released (2019-12-07), and the issue persisted, so this is indeed some weird interaction with the latest server version(s) and particularly the conflicts detection thereof.

Version 20191206 (2019-12-07) exhibited the issue a bit differently, though probably just due to how handling of conflicts on the client end has changed between then and now: one file that did go through got renamed with ”(1)” added to it, even though there was no previously existing copy on the server. A previous attempt to upload the same file (using another client version) had failed, so that’s one possible explanation for why the server thought that a previous copy did exist.

Another file got seeminly stuck in the (client upload) queue, and watching the server log revealed that it was incrementing the added number continuously, always coming up with the same ”could not be located” exception from Sabre\DAV as above. It had run up to 80 when I cancelled the upload from the client, and would have perhaps run indefinitely if I didn’t.

{"reqId":"SmCGdnw4BzFQ5P25wMGV","level":0,"time":"2020-11-20T17:40:54+02:00","remoteAddr":"REDACTED","user":"testituutti","app":"webdav","method":"HEAD","url":"/varasto/remote.php/webdav/Testidataa/DSC_0003%20(75).JPG","message":{"Exception":"Sabre\\DAV\\Exception\\NotFound","Message":"File with name Testidataa/DSC_0003 (75).JPG could not be located","Code":0,"Trace":[{"file":"REDACTED/www/varasto/3rdparty/sabre/dav/lib/DAV/CorePlugin.php","line":81,"function":"getNodeForPath","class":"OCA\\DAV\\Connector\\Sabre\\ObjectTree","type":"->"},{"file":"REDACTED/www/varasto/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpGet","class":"Sabre\\DAV\\CorePlugin","type":"->"},{"file":"REDACTED/www/varasto/3rdparty/sabre/dav/lib/DAV/Server.php","line":474,"function":"emit","class":"Sabre\\DAV\\Server","type":"->"},{"file":"REDACTED/www/varasto/3rdparty/sabre/dav/lib/DAV/CorePlugin.php","line":262,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->"},{"file":"REDACTED/www/varasto/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpHead","class":"Sabre\\DAV\\CorePlugin","type":"->"},{"file":"REDACTED/www/varasto/3rdparty/sabre/dav/lib/DAV/Server.php","line":474,"function":"emit","class":"Sabre\\DAV\\Server","type":"->"},{"file":"REDACTED/www/varasto/3rdparty/sabre/dav/lib/DAV/Server.php","line":251,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->"},{"file":"REDACTED/www/varasto/3rdparty/sabre/dav/lib/DAV/Server.php","line":319,"function":"start","class":"Sabre\\DAV\\Server","type":"->"},{"file":"REDACTED/www/varasto/apps/dav/appinfo/v1/webdav.php","line":84,"function":"exec","class":"Sabre\\DAV\\Server","type":"->"},{"file":"REDACTED/www/varasto/remote.php","line":167,"args":["REDACTED/www/varasto/apps/dav/appinfo/v1/webdav.php"],"function":"require_once"}],"File":"REDACTED/www/varasto/apps/dav/lib/Connector/Sabre/ObjectTree.php","Line":173,"CustomMessage":"--"},"userAgent":"Mozilla/5.0 (Android) Nextcloud-android/20191207","version":"20.0.1.1"}
{"reqId":"M3RTK4KRuOH3N0xGrp2Q","level":0,"time":"2020-11-20T17:41:00+02:00","remoteAddr":"REDACTED","user":"testituutti","app":"webdav","method":"HEAD","url":"/varasto/remote.php/webdav/Testidataa/DSC_0003%20(76).JPG","message":{"Exception":"Sabre\\DAV\\Exception\\NotFound","Message":"File with name Testidataa/DSC_0003 (76).JPG could not be located","Code":0,"Trace":[{"file":"REDACTED/www/varasto/3rdparty/sabre/dav/lib/DAV/CorePlugin.php","line":81,"function":"getNodeForPath","class":"OCA\\DAV\\Connector\\Sabre\\ObjectTree","type":"->"},{"file":"REDACTED/www/varasto/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpGet","class":"Sabre\\DAV\\CorePlugin","type":"->"},{"file":"REDACTED/www/varasto/3rdparty/sabre/dav/lib/DAV/Server.php","line":474,"function":"emit","class":"Sabre\\DAV\\Server","type":"->"},{"file":"REDACTED/www/varasto/3rdparty/sabre/dav/lib/DAV/CorePlugin.php","line":262,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->"},{"file":"REDACTED/www/varasto/3rdparty/sabre/event/lib/WildcardEmitterTrait.php","line":89,"function":"httpHead","class":"Sabre\\DAV\\CorePlugin","type":"->"},{"file":"REDACTED/www/varasto/3rdparty/sabre/dav/lib/DAV/Server.php","line":474,"function":"emit","class":"Sabre\\DAV\\Server","type":"->"},{"file":"REDACTED/www/varasto/3rdparty/sabre/dav/lib/DAV/Server.php","line":251,"function":"invokeMethod","class":"Sabre\\DAV\\Server","type":"->"},{"file":"REDACTED/www/varasto/3rdparty/sabre/dav/lib/DAV/Server.php","line":319,"function":"start","class":"Sabre\\DAV\\Server","type":"->"},{"file":"REDACTED/www/varasto/apps/dav/appinfo/v1/webdav.php","line":84,"function":"exec","class":"Sabre\\DAV\\Server","type":"->"},{"file":"REDACTED/www/varasto/remote.php","line":167,"args":["REDACTED/www/varasto/apps/dav/appinfo/v1/webdav.php"],"function":"require_once"}],"File":"REDACTED/www/varasto/apps/dav/lib/Connector/Sabre/ObjectTree.php","Line":173,"CustomMessage":"--"},"userAgent":"Mozilla/5.0 (Android) Nextcloud-android/20191207","version":"20.0.1.1"}

Vastaa viestiin sen kontekstissa (Github)

Previously reported in #4817

19. marraskuuta 2020 klo 12.38
Sijainti: Vianhallintajärjestelmät: Github
Avainsanat: Nextcloud

Previously reported in #4817.

Vastaa viestiin sen kontekstissa (Github)

Yup, tried it and the issue remains

11. marraskuuta 2020 klo 18.19
Sijainti: Vianhallintajärjestelmät: Github
Avainsanat: Android, Nextcloud

@tobiasKaminsky Yup, tried it and the issue remains. Also found a device with 3.13.1, and it too is affected now, so this now seems more server-related, though it is weird that the desktop client hasn’t been affected at any point. I would have assumed both clients employ the same webdav commands (and thus fail or succeed just the same).

Syncing a folder in Android app’s ”all files” view also still works (i.e. downloading changes causes no issues).

I have another server instance on another host, and there uploading from Android still works. This (working) instance is unencrypted, while the non-working instance has server-side encryption enabled.

Vastaa viestiin sen kontekstissa (Github)

There’s a ”Deprecated event type” followed by ”Exception”:”Sabre\\DAV\\Exception\\NotFound”

5. marraskuuta 2020 klo 20.50
Sijainti: Vianhallintajärjestelmät: Github
Avainsanat: Android, Nextcloud

With more verbose logging server-side, there’s a ”Deprecated event type” followed by "Exception":"Sabre\\DAV\\Exception\\NotFound" for the file being uploaded. So it’s perhaps correctly reporting that the file (about to be uploaded) does not exist (yet), but for some reason the app receiving this message flips it around, thinking the file does exist, and thus reports a conflict.

Vastaa viestiin sen kontekstissa (Github)

The result of ”Existence check” comes back as ”Name collision”

5. marraskuuta 2020 klo 20.39
Sijainti: Vianhallintajärjestelmät: Github
Avainsanat: Android, Nextcloud

Here’s a logcat snippet from another device. The result of ”Existence check” comes back as ”Name collision”, for any and all files.

Vastaa viestiin sen kontekstissa (Github)

This is still an issue for Samsung devices with the scrolling screenshot feature

3. marraskuuta 2020 klo 13.35
Sijainti: Vianhallintajärjestelmät: Github
Avainsanat: Nextcloud, Samsung

This is still an issue, and always has been for Samsung devices with One UI’s scrolling screenshot feature.

Vastaa viestiin sen kontekstissa (Github)

3.14.0 RC1 can not upload anything (and is generally just broken)

1. marraskuuta 2020 klo 16.20
Sijainti: Vianhallintajärjestelmät: Github
Avainsanat: Android, Nextcloud

In short

Since updating the Android app to 3.14.0 RC1 (and server to 20.0.1 earlier), I can not upload anything with the app. Desktop client still syncs just fine.

Steps to reproduce

Try to upload a file (either manually or by taking a photo for auto-upload)

Expected behaviour

File should get uploaded

Actual behaviour

There’s a notification about ”File upload conflict”. Selecting the notification results in ”Error creating conflict dialog”. Going to uploads view and selecting ”Resolve conflict” for a file just results in ”Sync conflict, please resolve manually”.

Can you reproduce this problem on https://try.nextcloud.com?

Trying to add an account in the app causes the app to crash.

Environment data

Android version: 10
Device model: Samsung Galaxy A9 (2018)
Stock or customized system: stock
Nextcloud app version: 3.14.0 RC1 (from Beta channel)
Nextcloud server version: 20.0.1
Reverse proxy: no

Logs

Web server error log

Nothing NC-related

Nextcloud log (data/nextcloud.log)

Nothing related to the uploads, just

Vastaa viestiin sen kontekstissa (Github)

I was affected by this too, but I’m not using encryption

17. lokakuuta 2020 klo 13.14
Sijainti: Vianhallintajärjestelmät: Github
Avainsanat: Nextcloud

I was affected by this too, but I’m not using encryption:

# sudo -u www-data php occ encryption:status
  - enabled: false
  - defaultModule: OC_DEFAULT_MODULE

The server log just showed ServerNotAvailableException:"Could not decrypt key" for any connection attempts after 19->20 upgrade.

I have another instance where I am using encryption, and there I was able to log in just fine. I did some diffing and found the working installation (with encryption enabled) had 'encryption.legacy_format_support' => true,, while the non-working installation (with encryption disabled) didn’t. Adding that to my config.php alone didn’t fix the issue, so I also added 'encryption.key_storage_migrated' => false, and after that I was able to log in again.

According to documentation, starting with version 20 the legacy encryption is off by defaultocc encryption:scan:legacy-format is supposed to tell whether you can disable the compatibility mode, but for the instance without encryption it seems to produce a false positive (complete with a typo):

All scanned files are propperly encrypted. You can disable the legacy compatibility mode.

For the admin user, the now otherwise working, unencrypted instance also shows a ”Please enable server side encryption in the admin settings in order to use the encryption module” notification in the web UI, for every page load (i.e. even after dismissal it just pops back up whenever I navigate in the UI).

The errors reported by app:check-code encryption are probably unrelated, as the same errors are reported for both my instances.

Vastaa viestiin sen kontekstissa (Github)

Newer (and still open, as of writing this) issue for reference

22. syyskuuta 2020 klo 18.39
Sijainti: Vianhallintajärjestelmät: Github
Avainsanat: Nextcloud

This is still an issue; a newer (and still open, as of writing this) issue number for reference: #4312

Vastaa viestiin sen kontekstissa (Github)

Installed the -dbgsym packages and reproduced the segfault

4. syyskuuta 2020 klo 14.41
Sijainti: Vianhallintajärjestelmät: Github
Avainsanat: Nextcloud

Yup, it’s working now, thanks @ivaradi! Installed the -dbgsym packages and reproduced the segfault, here’s the gist.

(TBH, I’m just cargo culting from the wiki here, so I have no idea if this result is useful, but I do have a fairly solid way of triggering the issue, so just let me know if I should do something differently.)

Vastaa viestiin sen kontekstissa (Github)

Vanhempia »