Raspbian ownCloud client issues with large files



Expected behaviour

I have an ownCloud server 10.0.10 running on Ubuntu 16.04, a Mac client (2.5.0) and I recently compiled an ownCloud client (v. 2.5.0) on a Raspberry PI3 with Raspbian Strecth (2018-06-27-raspbian-stretch.img).

Sync between client and server should work in both directions, regardless of file size

Actual behaviour

Instead, sync between my Mac client and Ubuntu server works seamlessly in all cases (both GUI and headless)

But it is not working as expected on the client I build on Raspbian. Specifically, all goes well if the files are small (10s, maybe 100s of MB), but it’s not working properly for larger files (for sure bigger than 1GB, maybe even smaller - I need to verify)

Steps to reproduce

Compilation commands used

sudo apt-get install cmake extra-cmake-modules doxygen
sudo apt-get install qtdeclarative5-dev qt5keychain-dev qttools5-dev
sudo apt-get install libsqlite3-dev libqt5webkit5-dev libkf5kio-dev
wget https://download.owncloud.com/desktop/stable/owncloudclient-XYZ
tar xf owncloudclient-XYZ
mkdir build; cd build
cmake -DWITH_DOC=TRUE -DCMAKE_BUILD_TYPE=“Release” …/owncloudclient-XYZ

Sync steps (mostly tested in headless mode, but also the GUI had same issue the one time I tried):

  1. I first sync a folder with small documents inside: everything gets synchronised
  2. On the server, I place a large (2.6GB) file, e.g IMAGE.iso. Sync of the file begins. File is downloaded and sync reported as successful - but with an error. See Logs section
  3. I re-run the sync: the client deletes the large file IMAGE.iso from the server only!
  4. I re-start the sync a third time: even if the file IMAGE.iso is present on the local folder, this is not uploaded on the server (I imagine because it’s not present in the local DB file)
  5. If I restore the large file on the server, this is re-downloaded at the next sync (4th). However, at the end the client does not rename it: two identical files will be present in the local folder, one named IMAGE.iso and another .IMAGE.iso.[STRING HERE]
  6. I restart the sync a 5th time, the client restart download entirely the IMAGE.iso reproducing point 6.
  7. And so on…

Server configuration

Operating system: Ubuntu 16.04LTS

Web server: Apache/2.4.18 (Ubuntu)

Database: mysql Ver 14.14 Distrib 5.7.23, for Linux (x86_64) using EditLine wrapper

PHP version: 7.2.11-2+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Oct 15 2018 11:40:04) ( NTS )

ownCloud version: 10.0.10

Storage backend (external storage):

Client configuration

Client version: 2.5.0

Operating system: Raspbian Stretch

OS language: English

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

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

Installation path of client: /usr/local/bin

Client logs

I think the important bit (and only warning) in the log is the following:

10-13 00:24:33:955 [ warning sync.filesystem ]: Could not get modification time for “/home/pi/test/.IMAGE.iso.~697ae223” with csync, using QFileInfo
10-13 00:24:33:968 [ warning sync.fileitem ]: Failed to query the ‘inode’ for file “/home/pi/test/IMAGE.iso”