Nextcloud desktop client SEGFAULT

Hi folks, I have seen that the desktop clients on my Linux machines have started to segfault after connecting to the server and begin syncing. From what appears in the GUI, the client appears to connect/auth successfully, begin downloading changes, then just quit with no error after about 60 seconds.

I’m running on Arch Linux. Desktop client v2.3.0beta1 (Qt 5.8.0) running on OpenBox 3.6.1.

Server is 11.0.2 (PHP 7.1.3, mysql 10.1.22, running behind nginx), just upgraded, and no errors/check failures appear in the admin settings window.

Does anyone else get this issue? I’ve double checked my php.ini/nginx.conf to no avail. More details/logs below.

(Some of the errors below suggest that I have some access permissions set incorrectly but I’m not sure what. My open_basedir in php.ini is set to /usr/share/webapps/nextcloud:/dev/urandom:/tmp.)

In the server’s error.log I am seeing:

2017/03/25 06:15:19 [error] 44146#44146: *13 FastCGI sent in stderr: "PHP message: PHP Warning: file_exists(): open_basedir restriction in effect. File(/usr/share/webapps/nextcloud/config/config.php) is not within the allowed path(s): (/usr/share/webapps/nextcloud:/dev/urandom:/tmp) in /usr/share/webapps/nextcloud/lib/private/Config.php on line 188" while reading response header from upstream, client: 172.20.52.24, server: <HOSTNAME>, request: "GET /status.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm/php-fpm.sock:", host: "<HOSTNAME>" 2017/03/25 06:15:48 [error] 44146#44146: *15 FastCGI sent in stderr: "PHP message: PHP Warning: file_exists(): open_basedir restriction in effect. File(/usr/share/webapps/nextcloud/config/config.php) is not within the allowed path(s): (/usr/share/webapps/nextcloud:/dev/urandom:/tmp) in /usr/share/webapps/nextcloud/lib/private/Config.php on line 188" while reading response header from upstream, client: 172.20.52.5, server: <HOSTNAME>, request: "GET /status.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm/php-fpm.sock:", host: "<HOSTNAME>" 2017/03/25 06:15:51 [error] 44146#44146: *17 FastCGI sent in stderr: "PHP message: PHP Warning: file_exists(): open_basedir restriction in effect. File(/usr/share/webapps/nextcloud/config/config.php) is not within the allowed path(s): (/usr/share/webapps/nextcloud:/dev/urandom:/tmp) in /usr/share/webapps/nextcloud/lib/private/Config.php on line 188" while reading response header from upstream, client: 172.20.52.24, server: <HOSTNAME>, request: "GET /status.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm/php-fpm.sock:", host: "<HOSTNAME>" 2017/03/25 06:26:27 [error] 44180#44180: *224 access forbidden by rule, client: 172.20.52.24, server: <HOSTNAME>, request: "GET /data/.ocdata?t=1490423252104 HTTP/1.1", host: "<HOSTNAME>"

I also took the liberty of running nextcloudcmd on the client to get some more detailed output:

virtual void OCC::PropagateDownloadFile::start() "pics/pic-377.jpg" 1 "INSERT OR REPLACE INTO downloadinfo (path, tmpfile, etag, errorcount) VALUES ( ?1 , ?2, ?3, ?4 )" "pics/pic-377.jpg" "pics/pics-377.jpg.~6140aa42" "a7b466f69dd1d085bfea26a91fe74f64" 0 void OCC::SyncJournalDb::commitInternal(const QString&, bool) Transaction commit "download file start" and starting new transaction virtual void OCC::GETFileJob::start() OCC::BandwidthManager(0x1b61740) false false !!! OCC::GETFileJob created for "https://<HOSTNAME>" + "/pics/pic-377.jpg" "OCC::PropagateDownloadFile" OCC::SyncJournalFileRecord::SyncJournalFileRecord(const OCC::SyncFileItem&, const QString&) "/home/jonny/Nextcloud/consulting/<dirname>" Retrieved inode 1053487 (previous item inode: 0 ) "INSERT OR REPLACE INTO metadata (phash, pathlen, path, inode, uid, gid, mode, modtime, type, md5, fileid, remotePerm, filesize, ignoredChildrenRemote, contentChecksum, contentChecksumTypeId) VALUES (?1 , ?2, ?3 , ?4 , ?5 , ?6 , ?7, ?8 , ?9 , ?10, ?11, ?12, ?13, ?14, ?15, ?16);" 2474372384567116770 22 "consulting/<dirnme>" 1053487 "1490422713" "2" "58d60bbc0d6b5" "00020929ock98si0y3kb" "RDNVCK" 0 0 "" "" 0 virtual void OCC::PropagateDownloadFile::start() "pics/pic-378.jpg" 2 "INSERT OR REPLACE INTO downloadinfo (path, tmpfile, etag, errorcount) VALUES ( ?1 , ?2, ?3, ?4 )" "pics/pic-378.jpg" "pics/pic-378.jpg.~5e084ea7" "b5673b3d593a42dd7db4f79eef8b0212" 0 void OCC::SyncJournalDb::commitInternal(const QString&, bool) Transaction commit "download file start" and starting new transaction virtual void OCC::GETFileJob::start() OCC::BandwidthManager(0x1b61740) false false !!! OCC::GETFileJob created for "https://<HOSTNAME>" + "/pics/pic-378.jpg" "OCC::PropagateDownloadFile" OCC::SyncJournalFileRecord::SyncJournalFileRecord(const OCC::SyncFileItem&, const QString&) "/home/jonny/Nextcloud/consulting" Retrieved inode 919022 (previous item inode: 0 ) "INSERT OR REPLACE INTO metadata (phash, pathlen, path, inode, uid, gid, mode, modtime, type, md5, fileid, remotePerm, filesize, ignoredChildrenRemote, contentChecksum, contentChecksumTypeId) VALUES (?1 , ?2, ?3 , ?4 , ?5 , ?6 , ?7, ?8 , ?9 , ?10, ?11, ?12, ?13, ?14, ?15, ?16);" 8491710825085234317 10 "consulting" 919022 "1490422714" "2" "58d60bbc0d6b5" "00004257ock98si0y3kb" "RDNVCK" 0 0 "" "" 0 void OCC::AbstractNetworkJob::slotFinished() QNetworkReply::NetworkError(ServiceUnavailableError) "Error transferring https://<HOSTNAME>/remote.php/dav/files/jonny/pics/pic-375.jpg - server replied: Service Unavailable" QVariant(int, 503) void OCC::PropagateDownloadFile::slotGetFinished() QUrl("https://<HOSTNAME>/remote.php/dav/files/jonny/pics/pic-375.jpg") FINISHED WITH STATUS QNetworkReply::NetworkError(ServiceUnavailableError) "Error transferring https://<HOSTNAME>/remote.php/dav/files/jonny/pics/pic-375.jpg - server replied: Service Unavailable" 0 0 8532215 0 "" "" "DELETE FROM downloadinfo WHERE path=?1" "pics/pic-375.jpg" void OCC::SyncEngine::slotItemCompleted(const SyncFileItemPtr&) "pics/pic-375.jpg" INSTRUCTION_NEW 1 "Error transferring https://<HOSTNAME>/remote.php/dav/files/jonny/pics/pic-375.jpg - server replied: Service Unavailable" void OCC::AbstractNetworkJob::slotFinished() QNetworkReply::NetworkError(OperationCanceledError) "Operation canceled" QVariant(Invalid) void OCC::PropagateDownloadFile::slotGetFinished() QUrl("https://<HOSTNAME>/remote.php/dav/files/jonny/pics/pic-377.jpg") FINISHED WITH STATUS QNetworkReply::NetworkError(OperationCanceledError) "Operation canceled" 0 0 7606239 0 "" "" "DELETE FROM downloadinfo WHERE path=?1" "pics/pic-377.jpg" void OCC::SyncEngine::slotItemCompleted(const SyncFileItemPtr&) "pics/pic-377.jpg" INSTRUCTION_NEW 1 "Operation canceled" void OCC::AbstractNetworkJob::slotFinished() QNetworkReply::NetworkError(OperationCanceledError) "Operation canceled" QVariant(Invalid) void OCC::PropagateDownloadFile::slotGetFinished() QUrl("https://<HOSTNAME>/remote.php/dav/files/jonny/pics/pic-378.jpg") FINISHED WITH STATUS QNetworkReply::NetworkError(OperationCanceledError) "Operation canceled" 0 0 7794439 0 "" "" "DELETE FROM downloadinfo WHERE path=?1" "pics/pic-378.jpg" void OCC::SyncEngine::slotItemCompleted(const SyncFileItemPtr&) "pics/pic-378.jpg" INSTRUCTION_NEW 1 "Operation canceled" ASSERT: "i >= 0" in file /home/fanch/AUR/nextcloud-client/src/nextcloud-client/client/src/libsync/owncloudpropagator.cpp, line 668 [1] 22007 segmentation fault (core dumped) nextcloudcmd --user jonny Nextcloud https://<HOSTNAME>/

Update: from what I can tell so far (the sync hasn’t finished yet) this is solved by downgrading my desktop client to v2.2.4 (or 2.2.4-4 in the archlinuxfr repo, for any fellow Arch users).

Not long after the sync began I got a “this folder will not be synced because it was too large” message, with the option to select or deselect the folder. I wonder if this is what was crashing the 2.3.0b1 client?

In any case, hopefully this thread is helpful for the devs.