OwnCloud Client 2.4 crashes during sync under Ubuntu 16.04

help

#1

Expected behaviour

After start up, the ownCloud client should check for changes and sync new data.

Actual behaviour

Under Ubuntu 16.04, after start up, the ownCloud client should check for changes, but crashes while syncing. It does not happen at a specific file, but rather after a specific time, e.g. also while deleting data on local that is not used anymore.
Before the crash, pausing sync halts it as wished, but it crashes as usual if one continues.

I have 3 systems syncing, and only one fails. (Others: Ubuntu, Mac) I am not aware of any major update that could have led to this problem.

Probably only indirectly related: After crash, the system cannot be shut down properly. It gives an error message similar to "received error while shutting down. session manager must be in idle state"

Steps to reproduce

  1. Start up
  2. Watch

Server configuration

Unknown to me - but the server is not the problem, as it works perfectly on my other machines (Mac and Ubuntu)

Client configuration

Client version: 2.4

Operating system: Xubuntu 16.04

OS language: English

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

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

Logs

  1. Client logfile:

owncloud --logwindow crashes immediately after launch

owncloud --logfile gives 28MB txt file, here are the first lines:

01-17 15:41:35:709 [ info gui.application ]: "################## ownCloud locale:[en_US] ui_lang:[] version:[2.4.0 (build 8911)] os:[Ubuntu 16.04.3 LTS]"
01-17 15:41:35:709 [ info gui.application ]: Using "en_US" translation
01-17 15:41:35:709 [ info gui.application ]: Loading global exclude list
01-17 15:41:35:710 [ info gui.socketapi ]: server started, listening at "/run/user/1000/ownCloud/socket"
01-17 15:41:35:710 [ info gui.folder.manager ]: setting remote poll timer interval to 30000 msec
01-17 15:41:35:750 [ info gui.account.manager ]: Account for QUrl("https://owncloud.tuwien.ac.at") using auth type "http"
01-17 15:41:35:750 [ info gui.folder.manager ]: Setup folders from settings file
01-17 15:41:35:750 [ info gui.folder ]: Adding system ignore list to csync: "/etc/ownCloud/sync-exclude.lst"
01-17 15:41:35:750 [ info gui.folder.manager ]: Adding folder to Folder Map OCC::Folder(0x56524f1717e0) "1"
01-17 15:41:36:052 [ info gui.folder.manager ]: Schedule folder "1" to sync!
01-17 15:41:36:052 [ info gui.folder.manager ]: Folder is not ready to sync, not scheduled!
01-17 15:41:36:052 [ info sync.clientproxy ]: Set proxy configuration to use system configuration
01-17 15:41:36:387 [ info sync.database ]: sqlite3 version "3.11.0"
01-17 15:41:36:387 [ info sync.database ]: sqlite3 journal_mode= "wal"
01-17 15:41:36:456 [ info gui.account.state ]: Fetched credentials for "https://owncloud.tuwien.ac.at" attempting to connect
01-17 15:41:36:457 info sync.connectionvalidator : No system proxy set by OS
01-17 15:41:36:457 [ info sync.accessmanager ]: 2 "" "https://owncloud.tuwien.ac.at/status.php" has X-Request-ID "087f25a4-e831-497e-a68e-e795ed4ebeb3"
01-17 15:41:36:458 [ info sync.networkjob ]: OCC::CheckServerJob created for "https://owncloud.tuwien.ac.at" + "status.php" "OCC::ConnectionValidator"
01-17 15:41:36:556 [ info sync.networkjob.checkserver ]: status.php returns: QJsonDocument({"edition":"Enterprise","installed":"true","maintenance":"false","needsDbUpgrade":"false","productname":"ownCloud TU Wien","version":"10.0.3.3","versionstring":"10.0.3"}) QNetworkReply::NetworkError(NoError) Reply: QNetworkReplyHttpImpl(0x56524f23dc00)
01-17 15:41:36:556 info sync.connectionvalidator : ** Application: ownCloud found: QUrl("https://owncloud.tuwien.ac.at") with version "10.0.3" ( "10.0.3.3" )
01-17 15:41:36:556 has server version "10.0.3.3"
01-17 15:41:36:556 [ info sync.accessmanager ]: 6 "PROPFIND" "https://owncloud.tuwien.ac.at/remote.php/webdav/" has X-Request-ID "cb40fd23-f439-47c8-a140-731fe467f43a"
01-17 15:41:36:556 [ info sync.networkjob ]: OCC::PropfindJob created for "https://owncloud.tuwien.ac.at" + "/" "OCC::ConnectionValidator"
01-17 15:41:37:137 [ info sync.networkjob.propfind ]: PROPFIND of QUrl("https://owncloud.tuwien.ac.at/remote.php/webdav/") FINISHED WITH STATUS QNetworkReply::NetworkError(NoError) ""
01-17 15:41:37:137 [ info sync.accessmanager ]: 2 "" "https://owncloud.tuwien.ac.at/ocs/v1.php/cloud/capabilities?format=json" has X-Request-ID "0ef4e68d-57bc-459b-9cc2-1137f3e833ba"
01-17 15:41:37:138 [ info sync.networkjob ]: OCC::JsonApiJob created for "https://owncloud.tuwien.ac.at" + "ocs/v1.php/cloud/capabilities" "OCC::ConnectionValidator"
01-17 15:41:37:138 [ info sync.accessmanager ]: 2 "" "https://owncloud.tuwien.ac.at/ocs/v1.php/config?format=json" has X-Request-ID "f18d9540-8231-45c9-86c7-5780d1448ab2"
01-17 15:41:37:138 [ info sync.networkjob ]: OCC::JsonApiJob created for "https://owncloud.tuwien.ac.at" + "ocs/v1.php/config" ""
01-17 15:41:37:202 [ info sync.networkjob.jsonapi ]: JsonApiJob of QUrl("https://owncloud.tuwien.ac.at/ocs/v1.php/cloud/capabilities?format=json") FINISHED WITH STATUS QNetworkReply::NetworkError(NoError) ""
01-17 15:41:37:202 info sync.connectionvalidator : Server capabilities QJsonObject({"checksums":{"preferredUploadType":"SHA1","supportedTypes":["SHA1"]},"core":{"pollinterval":60,"status":{"edition":"Enterprise","installed":"true","maintenance":"false","needsDbUpgrade":"false","productname":"ownCloud TU Wien","version":"10.0.3.3","versionstring":"10.0.3"},"webdav-root":"remote.php/webdav"},"dav":{"chunking":"1.0"},"files":{"bigfilechunking":true,"blacklisted_files":[".htaccess"],"undelete":true,"versioning":true},"files_sharing":{"api_enabled":true,"default_permissions":31,"federation":{"incoming":true,"outgoing":true},"group_sharing":true,"public":{"enabled":true,"expire_date":{"enabled":false},"multiple":true,"password":{"enforced":false},"send_mail":true,"supports_upload_only":true,"upload":true},"resharing":true,"user":{"send_mail":true}},"notifications":{"ocs-endpoints":["list","get","delete"]}})
01-17 15:41:37:202 has server version "10.0.3.3"
01-17 15:41:37:202 [ info sync.accessmanager ]: 2 "" "https://owncloud.tuwien.ac.at/ocs/v1.php/cloud/user?format=json" has X-Request-ID "1c3c2bdc-eea1-4c92-80e8-7a35bb23218b"
01-17 15:41:37:203 [ info sync.networkjob ]: OCC::JsonApiJob created for "https://owncloud.tuwien.ac.at" + "ocs/v1.php/cloud/user" "OCC::ConnectionValidator"
01-17 15:41:37:207 [ info sync.networkjob.jsonapi ]: JsonApiJob of QUrl("https://owncloud.tuwien.ac.at/ocs/v1.php/config?format=json") FINISHED WITH STATUS QNetworkReply::NetworkError(NoError) ""
01-17 15:41:37:207 info sync.connectionvalidator : Determined user-visible host to be "owncloud.tuwien.ac.at"
01-17 15:41:37:271 [ info sync.networkjob.jsonapi ]: JsonApiJob of QUrl("https://owncloud.tuwien.ac.at/ocs/v1.php/cloud/user?format=json") FINISHED WITH STATUS QNetworkReply::NetworkError(NoError) ""
01-17 15:41:37:272 [ info sync.accessmanager ]: 2 "" "https://owncloud.tuwien.ac.at/remote.php/dav/avatars/NAME/128.png" has X-Request-ID "83c19823-038c-422d-8217-2151815cf837"
01-17 15:41:37:272 [ info sync.networkjob ]: OCC::AvatarJob created for "https://owncloud.tuwien.ac.at" + "" "OCC::ConnectionValidator"
01-17 15:41:37:458 [ info gui.account.state ]: AccountState connection status change: "Undefined" -> "Connected"
01-17 15:41:37:458 [ info gui.account.state ]: AccountState state change: "Disconnected" -> "Connected"
01-17 15:41:37:465 [ info gui.folder.manager ]: Account "NAME@owncloud.tuwien.ac.at" connected, scheduling its folders
01-17 15:41:37:466 [ info gui.folder.manager ]: Schedule folder "1" to sync!
01-17 15:41:37:466 [ info gui.application ]: Sync state changed for folder "https://owncloud.tuwien.ac.at/remote.php/dav/files/NAME/" : "Not yet Started"
01-17 15:41:37:466 [ info gui.activity ]: Start fetching activities for "NAME@owncloud.tuwien.ac.at"
01-17 15:41:37:467 [ info sync.accessmanager ]: 2 "" "https://owncloud.tuwien.ac.at/ocs/v1.php/cloud/activity?page=0&pagesize=100&format=json" has X-Request-ID "f687e4c8-af96-4b69-9c5f-5d5401c273a2"
01-17 15:41:37:467 [ info sync.networkjob ]: OCC::JsonApiJob created for "https://owncloud.tuwien.ac.at" + "ocs/v1.php/cloud/activity" "OCC::ActivityListModel"
01-17 15:41:37:467 [ info sync.accessmanager ]: 2 "" "https://owncloud.tuwien.ac.at/ocs/v2.php/apps/notifications/api/v1/notifications?format=json" has X-Request-ID "4be02c4c-bacc-4ff9-aeba-8dddd6000d19"
01-17 15:41:37:467 [ info sync.networkjob ]: OCC::JsonApiJob created for "https://owncloud.tuwien.ac.at" + "ocs/v2.php/apps/notifications/api/v1/notifications" "OCC::ServerNotificationHandler"
01-17 15:41:37:467 [ info gui.folder.manager ]: Starting the next scheduled sync in 0 seconds
01-17 15:41:37:542 [ info sync.networkjob.jsonapi ]: JsonApiJob of QUrl("https://owncloud.tuwien.ac.at/ocs/v2.php/apps/notifications/api/v1/notifications?format=json") FINISHED WITH STATUS QNetworkReply::NetworkError(NoError) ""
01-17 15:41:37:573 [ info gui.application ]: Sync state changed for folder "https://owncloud.tuwien.ac.at/remote.php/dav/files/NAME/" : "SyncPrepare"
01-17 15:41:37:573 [ info gui.folder ]: *** Start syncing "https://owncloud.tuwien.ac.at/remote.php/dav/files/NAME/" - client version 2.4.0 (build 8911)
01-17 15:41:37:573 [ info gui.folder ]: Adding system ignore list to csync: "/etc/ownCloud/sync-exclude.lst"
01-17 15:41:37:574 [ info gui.folder.manager ]: >========== Sync started for folder [ownCloud] of account [NAME@owncloud.tuwien.ac.at] with remote [https://owncloud.tuwien.ac.at/remote.php/dav/files/NAME/]
01-17 15:41:37:574 [ info sync.engine ]: There are 40553512960 bytes available at "/home/peter/ownCloud/"
01-17 15:41:37:574 [ info sync.engine ]: Sync with existing sync journal
01-17 15:41:37:574 [ info sync.engine ]: "Using Qt 5.6.2 SSL library OpenSSL 1.0.2g 1 Mar 2016 on Ubuntu 16.04.3 LTS"
01-17 15:41:37:574 [ info sync.engine ]: Using Selective Sync
01-17 15:41:37:574 [ info sync.engine ]: #### Discovery start ####################################################
01-17 15:41:37:575 [ info sync.engine ]: Server "10.0.3.3"


#2

Hi,

can you run the program with a debugger and get a backtrace?
The best would be valgrind: if you install it, you can simply run `valgrind owncloud

or, gdb owncloud and after the crash you can run bt in gdb to get the backtrace


#3

Thank you for the quick answer and the help.

I started with gdb, waited for about 15min (at which I could not even open the dropdown menu of owncloud, it was only an empty bar) and then killed owncloud using "killall owncloud". Interestingly enough, the owncloud symbol (and the empty dropdown bar) are still there... (kept alive by gdb)
gdb then gives me:

(gdb) run
Starting program: /usr/bin/owncloud
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffea02d700 (LWP 2458)]
[New Thread 0x7fffdfa94700 (LWP 2459)]
[New Thread 0x7fffdf137700 (LWP 2460)]
[New Thread 0x7fffdde24700 (LWP 2468)]
[New Thread 0x7fffdd623700 (LWP 2469)]
[New Thread 0x7fffdce22700 (LWP 2470)]
[New Thread 0x7fffc7fff700 (LWP 2474)]
[New Thread 0x7fffc77fe700 (LWP 2482)]
[Thread 0x7fffdde24700 (LWP 2468) exited]
[Thread 0x7fffdce22700 (LWP 2470) exited]
[New Thread 0x7fffdce22700 (LWP 2496)]
[Thread 0x7fffdce22700 (LWP 2496) exited]
^C
Thread 1 "owncloud" received signal SIGINT, Interrupt.
0x00007ffff4a9d64b in QVariant::QVariant(QVariant const&) ()
from /opt/ownCloud/qt-5.6.2+2.4.0/lib/x86_64-linux-gnu/libQt5Core.so.5

And furthermore:

(gdb) bt
#0 0x00007ffff4a9d64b in QVariant::QVariant(QVariant const&) ()
from /opt/ownCloud/qt-5.6.2+2.4.0/lib/x86_64-linux-gnu/libQt5Core.so.5
#1 0x00007ffff595e6b1 in QTreeWidgetItem::data(int, int) const ()
from /opt/ownCloud/qt-5.6.2+2.4.0/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#2 0x00005555556604dd in OCC::SortedTreeWidgetItem::operator<(QTreeWidgetItem const&) const ()
#3 0x00007ffff596830c in ?? ()
from /opt/ownCloud/qt-5.6.2+2.4.0/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#4 0x00007ffff596915f in ?? ()
from /opt/ownCloud/qt-5.6.2+2.4.0/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#5 0x00007ffff596924c in ?? ()
from /opt/ownCloud/qt-5.6.2+2.4.0/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#6 0x00007ffff59650f2 in ?? ()
from /opt/ownCloud/qt-5.6.2+2.4.0/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#7 0x00007ffff59654c3 in ?? ()
from /opt/ownCloud/qt-5.6.2+2.4.0/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#8 0x00007ffff59655b2 in QTreeWidgetItem::sortChildren(int, Qt::SortOrder, bool) () from /opt/ownCloud/qt-5.6.2+2.4.0/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#9 0x00007ffff59656b9 in ?? ()
from /opt/ownCloud/qt-5.6.2+2.4.0/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#10 0x00007ffff595da9b in ?? ()
from /opt/ownCloud/qt-5.6.2+2.4.0/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#11 0x00007ffff595dc2e in ?? ()
---Type to continue, or q to quit---
from /opt/ownCloud/qt-5.6.2+2.4.0/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#12 0x00007ffff595f969 in QTreeWidget::setItemHidden(QTreeWidgetItem const*, bool) () from /opt/ownCloud/qt-5.6.2+2.4.0/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#13 0x00005555556614d3 in OCC::IssuesWidget::addItem(QTreeWidgetItem*) ()
#14 0x00007ffff4a88cd4 in QMetaObject::activate(QObject*, int, int, void**) ()
from /opt/ownCloud/qt-5.6.2+2.4.0/lib/x86_64-linux-gnu/libQt5Core.so.5
#15 0x00007ffff5c8ff7a in OCC::ProgressDispatcher::itemCompleted(QString const&, QSharedPointer const&) ()
from /opt/ownCloud/ownCloud/lib/x86_64-linux-gnu/libowncloudsync.so.0
#16 0x000055555560917a in OCC::Folder::slotItemCompleted(QSharedPointer const&) ()
#17 0x00007ffff4a88cd4 in QMetaObject::activate(QObject*, int, int, void**) ()
from /opt/ownCloud/qt-5.6.2+2.4.0/lib/x86_64-linux-gnu/libQt5Core.so.5
#18 0x00007ffff5c90225 in OCC::SyncEngine::itemCompleted(QSharedPointer const&) ()
from /opt/ownCloud/ownCloud/lib/x86_64-linux-gnu/libowncloudsync.so.0
#19 0x00007ffff4a88cd4 in QMetaObject::activate(QObject*, int, int, void**) ()
from /opt/ownCloud/qt-5.6.2+2.4.0/lib/x86_64-linux-gnu/libQt5Core.so.5
#20 0x00007ffff5c8fcb2 in OCC::OwncloudPropagator::itemCompleted(QSharedPointer const&) ()
from /opt/ownCloud/ownCloud/lib/x86_64-linux-gnu/libowncloudsync.so.0
#21 0x00007ffff5c3a914 in OCC::PropagateItemJob::done(OCC::SyncFileItem::Status, QString const&) ()
---Type to continue, or q to quit---
from /opt/ownCloud/ownCloud/lib/x86_64-linux-gnu/libowncloudsync.so.0
#22 0x00007ffff4a66f5a in QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const ()
from /opt/ownCloud/qt-5.6.2+2.4.0/lib/x86_64-linux-gnu/libQt5Core.so.5
#23 0x00007ffff4a6c901 in QMetaObject::invokeMethod(QObject*, char const*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) ()
from /opt/ownCloud/qt-5.6.2+2.4.0/lib/x86_64-linux-gnu/libQt5Core.so.5
#24 0x00007ffff5c969dd in OCC::PropagateItemJob::scheduleSelfOrChild() ()
from /opt/ownCloud/ownCloud/lib/x86_64-linux-gnu/libowncloudsync.so.0
#25 0x00007ffff5c3e067 in OCC::PropagatorCompositeJob::scheduleSelfOrChild() ()
from /opt/ownCloud/ownCloud/lib/x86_64-linux-gnu/libowncloudsync.so.0
#26 0x00007ffff5c3a361 in OCC::OwncloudPropagator::scheduleNextJobImpl() ()
from /opt/ownCloud/ownCloud/lib/x86_64-linux-gnu/libowncloudsync.so.0
#27 0x00007ffff4a94f16 in ?? ()
from /opt/ownCloud/qt-5.6.2+2.4.0/lib/x86_64-linux-gnu/libQt5Core.so.5
#28 0x00007ffff4a89783 in QObject::event(QEvent*) ()
from /opt/ownCloud/qt-5.6.2+2.4.0/lib/x86_64-linux-gnu/libQt5Core.so.5
#29 0x00007ffff568ebfc in QApplicationPrivate::notify_helper(QObject*, QEvent*)
()
---Type to continue, or q to quit---
from /opt/ownCloud/qt-5.6.2+2.4.0/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#30 0x00007ffff5694136 in QApplication::notify(QObject*, QEvent*) ()
from /opt/ownCloud/qt-5.6.2+2.4.0/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#31 0x00007ffff4a5c348 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() from /opt/ownCloud/qt-5.6.2+2.4.0/lib/x86_64-linux-gnu/libQt5Core.so.5
#32 0x00007ffff4ab053e in QTimerInfoList::activateTimers() ()
from /opt/ownCloud/qt-5.6.2+2.4.0/lib/x86_64-linux-gnu/libQt5Core.so.5
#33 0x00007ffff4ab0a71 in ?? ()
from /opt/ownCloud/qt-5.6.2+2.4.0/lib/x86_64-linux-gnu/libQt5Core.so.5
#34 0x00007ffff1532197 in g_main_context_dispatch ()
from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#35 0x00007ffff15323f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#36 0x00007ffff153249c in g_main_context_iteration ()
from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#37 0x00007ffff4ab164f in QEventDispatcherGlib::processEvents(QFlags) ()
from /opt/ownCloud/qt-5.6.2+2.4.0/lib/x86_64-linux-gnu/libQt5Core.so.5
#38 0x00007ffff4a5a09a in QEventLoop::exec(QFlags) () from /opt/ownCloud/qt-5.6.2+2.4.0/lib/x86_64-linux-gnu/libQt5Core.so.5
#39 0x00007ffff4a6275c in QCoreApplication::exec() ()
from /opt/ownCloud/qt-5.6.2+2.4.0/lib/x86_64-linux-gnu/libQt5Core.so.5
#40 0x00005555555edba2 in main ()

Does valgrind give you more information than that? Then i am happy to read into valgrind too.


#4

okay, this is apparently a known bug that will be fixed in the new version of the desktop client.

thank you for noticing.

you can either wait for the new release or try out the nightly build.

http://download.owncloud.com/desktop/daily

don't get discouraged by the name of the link, there is also a nightly link


#5

Thank you very much. When will the new version arrive?
Until then I will try to compile the newest nightly build, but i fear that will be beyond my abilities.


#6

I don't know when the new version will arrive


#7

Okay. Thank you very much for your help!


#8

You are welcome, I am sorry I could not do more


#9

There are no pre-built nightly versions out there, are there? Deb files or similar?


#10

Here you go:

https://software.opensuse.org//download.html?project=isv%3AownCloud%3Adesktop%3Adaily%3Amaster&package=owncloud-client


#11

Oh my goodness, I found it in this moment. Thank you very much. Sorry for the inconveniences caused - I overlooked the changed repository path.
-> The new version 2.5 fixed the problem.


#12

Glad to hear that :slight_smile: