owncloud / client

🖥️ Desktop Syncing Client for ownCloud
GNU General Public License v2.0
1.4k stars 666 forks source link

Weird error message when the external storage isn't available #7237

Open jvillafanez opened 5 years ago

jvillafanez commented 5 years ago

Expected behaviour

An error about the external storage not being available is thrown

Actual behaviour

ERROR during csync_update : "A HTTP transmission error happened. : The server file discovery reply is missing data."

Steps to reproduce

  1. Connect an external storage through ownCloud (checked with SMB)
  2. Let the desktop client sync normally
  3. Disconnect the external storage (shutdown the machine or stop the service)
  4. Edit a local file in your desktop and let the client upload the changes
  5. The desktop client should fail with a "Storage not available" error

Further sync attempts should show the same error as long as the storage keeps disconnected. However, the next attempts show a "A HTTP transmission error happened. : The server file discovery reply is missing data.". It doesn't seem to be clear what the error is or how the user can fix it.

The error disappears after the connection comes back.

Server configuration

Operating system: ubuntu 16.04

Web server: apache 2.4.7

Database: mysql

PHP version: 7.1

ownCloud version: 10.2.0

Storage backend (external storage): SMB

Client configuration

Client version: 2.5.4 (build 515)

Operating system: ubuntu 18.04

OS language:

Qt version used by client package (Linux only, see also Settings dialog):

Client package (From ownCloud or distro) (Linux only):

Installation path of client:

Logs

Please use Gist (https://gist.github.com/) or a similar code paster for longer logs.

Template for output < 10 lines

  1. Client logfile: Output of owncloud --logwindow or owncloud --logfile log.txt (On Windows using cmd.exe, you might need to first cd into the ownCloud directory) (See also http://doc.owncloud.org/desktop/2.2/troubleshooting.html#client-logfile )
06-10 13:07:28:417 [ info sync.accessmanager ]: 6 "PROPFIND" "http://10.0.2.8:7080/remote.php/dav/files/User/" has X-Request-ID "0b2a477d-2cdf-42f9-aa8c-f5bbd4e64893"
06-10 13:07:28:418 [ info sync.networkjob ]:    OCC::LsColJob created for "http://10.0.2.8" + "" "OCC::DiscoverySingleDirectoryJob"
06-10 13:07:28:451 [ info sync.networkjob.jsonapi ]:    JsonApiJob of QUrl("http://10.0.2.8:7080/ocs/v2.php/apps/notifications/api/v1/notifications?format=json") FINISHED WITH STATUS "OK"
06-10 13:07:28:510 [ info sync.networkjob.lscol ]:  LSCOL of QUrl("http://10.0.2.8:7080/remote.php/dav/files/User/") FINISHED WITH STATUS "OK"
06-10 13:07:28:510 [ warning sync.discovery ]:  Missing properties: "Windows2" 2 0 1560164848 "M" "" "-0000001ocz7xlj14eyp"
06-10 13:07:28:511 [ warning sync.csync.updater ]:  opendir failed for  - errno 10011
06-10 13:07:28:511 [ warning sync.engine ]: ERROR during  csync_update :  "A HTTP transmission error happened. : The server file discovery reply is missing data."
06-10 13:07:28:511 [ info sync.database ]:  Closing DB "/home/juan/ownCloud2/._sync_700fa99731c0.db"
06-10 13:07:28:516 [ info sync.engine ]:    CSync run took  106 ms
06-10 13:07:28:517 [ info gui.folder ]: Client version 2.5.4 (build 515)  Qt 5.12.1  SSL  OpenSSL 1.1.0g  2 Nov 2017
06-10 13:07:28:517 [ warning gui.folder ]:  SyncEngine finished with ERROR
06-10 13:07:28:517 [ info gui.folder ]: Folder sync result:  2
06-10 13:07:28:517 [ info gui.folder ]: the last 4 syncs failed
06-10 13:07:28:517 [ info gui.application ]:    Sync state changed for folder  "http://10.0.2.8:7080/remote.php/dav/files/User/" :  "Error"
  1. Web server error log:

  2. Server logfile: ownCloud log (data/owncloud.log):

guruz commented 5 years ago

Related: https://github.com/owncloud/client/issues/7112

@jvillafanez What is displayed with a 2.6 daily build?

ckamm commented 5 years ago

@jvillafanez I think the issue is that the PROPFIND comes back with an 207 reply but misses data. If there was some way of determining that this means "Storage not available" the client could produce a better error message.

guruz commented 5 years ago

06-10 13:07:28:510 [ warning sync.discovery ]: Missing properties: "Windows2" 2 0 1560164848 "M" "" "-0000001ocz7xlj14eyp"

The missing property is the Etag

                << "Missing properties:" << file << result.isDirectory << result.size
                << result.modtime << result.remotePerm.toString()
                << result.etag << result.fileId;