client
client copied to clipboard
[QA] Crash after all files deleted on the server multiple times
Seen with owncloud-client-2.10.1~rc2 (build 7080) on openSUSE 15.3 VirtualBox VM
Steps to reproduce:
- start the client and connect to demo.owncloud.org
- wait several hours while the data are deleted on demo.owncloud.org multiple times
- click on "Remove all files"

Result: The client crashes with backtrace:
#0 OCC::SyncEngine::<lambda()>::operator()(void) const (__closure=__closure@entry=0x2cf4ba8)
at /usr/src/packages/BUILD/btr-2.10.1-rc2.7111/src/libsync/syncengine.cpp:595
#1 0x00007fb850dfec09 in OCC::SyncEngine::<lambda(bool)>::operator() (cancel=false, __closure=0x2cf4b90)
at /usr/src/packages/BUILD/btr-2.10.1-rc2.7111/src/libsync/syncengine.cpp:718
#2 std::_Function_handler<void(bool), OCC::SyncEngine::slotDiscoveryFinished()::<lambda(bool)> >::_M_invoke(const std::_Any_data &, bool &&) (__functor=..., __args#0=<optimized out>) at /usr/include/c++/7/bits/std_function.h:316
#3 0x000000000045e0e3 in std::function<void (bool)>::operator()(bool) const (__args#0=<optimized out>, this=0x2cc8d40)
at /usr/include/c++/7/bits/std_function.h:706
#4 OCC::Folder::<lambda()>::operator() (__closure=0x2cc8d30) at /usr/src/packages/BUILD/btr-2.10.1-rc2.7111/src/gui/folder.cpp:1317
#5 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, OCC::Folder::slotAboutToRemoveAllFiles(OCC::SyncFileItem::Direction, std::function<void(bool)>)::<lambda()> >::call (arg=<optimized out>, f=...)
at /opt/ownCloud/qt-5.12.10/include/qt5/QtCore/qobjectdefs_impl.h:146
#6 QtPrivate::Functor<OCC::Folder::slotAboutToRemoveAllFiles(OCC::SyncFileItem::Direction, std::function<void(bool)>)::<lambda()>, 0>::call<QtPrivate::List<>, void> (arg=<optimized out>, f=...) at /opt/ownCloud/qt-5.12.10/include/qt5/QtCore/qobjectdefs_impl.h:256
#7 QtPrivate::QFunctorSlotObject<OCC::Folder::slotAboutToRemoveAllFiles(OCC::SyncFileItem::Direction, std::function<void(bool)>)::<lambda()>, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>,
this_=0x2cc8d20, r=<optimized out>, a=<optimized out>, ret=<optimized out>)
at /opt/ownCloud/qt-5.12.10/include/qt5/QtCore/qobjectdefs_impl.h:439
#8 0x00007fb84f641db4 in QMetaObject::activate(QObject*, int, int, void**) () from /opt/ownCloud/qt-5.12.10/lib64/libQt5Core.so.5
#9 0x00007fb851cf334e in QDialog::finished(int) () from /opt/ownCloud/qt-5.12.10/lib64/libQt5Widgets.so.5
#10 0x00007fb851d252a8 in QMessageBoxPrivate::_q_buttonClicked(QAbstractButton*) () from /opt/ownCloud/qt-5.12.10/lib64/libQt5Widgets.so.5
#11 0x00007fb851d26be8 in QMessageBox::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) ()
from /opt/ownCloud/qt-5.12.10/lib64/libQt5Widgets.so.5
#12 0x00007fb84f641cba in QMetaObject::activate(QObject*, int, int, void**) () from /opt/ownCloud/qt-5.12.10/lib64/libQt5Core.so.5
#13 0x00007fb851c9364f in QDialogButtonBox::clicked(QAbstractButton*) () from /opt/ownCloud/qt-5.12.10/lib64/libQt5Widgets.so.5
#14 0x00007fb851c93c06 in QDialogButtonBoxPrivate::_q_handleButtonClicked() () from /opt/ownCloud/qt-5.12.10/lib64/libQt5Widgets.so.5
#15 0x00007fb84f641cba in QMetaObject::activate(QObject*, int, int, void**) () from /opt/ownCloud/qt-5.12.10/lib64/libQt5Core.so.5
#16 0x00007fb851bf7da2 in QAbstractButton::clicked(bool) () from /opt/ownCloud/qt-5.12.10/lib64/libQt5Widgets.so.5
#17 0x00007fb851bf7f8a in QAbstractButtonPrivate::emitClicked() () from /opt/ownCloud/qt-5.12.10/lib64/libQt5Widgets.so.5
#18 0x00007fb851bf92aa in QAbstractButtonPrivate::click() () from /opt/ownCloud/qt-5.12.10/lib64/libQt5Widgets.so.5
#19 0x00007fb851bf9475 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /opt/ownCloud/qt-5.12.10/lib64/libQt5Widgets.so.5
#20 0x00007fb851b55d88 in QWidget::event(QEvent*) () from /opt/ownCloud/qt-5.12.10/lib64/libQt5Widgets.so.5
#21 0x00007fb851b1a25c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /opt/ownCloud/qt-5.12.10/lib64/libQt5Widgets.so.5
#22 0x00007fb851b221f8 in QApplication::notify(QObject*, QEvent*) () from /opt/ownCloud/qt-5.12.10/lib64/libQt5Widgets.so.5
#23 0x00007fb84f613858 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /opt/ownCloud/qt-5.12.10/lib64/libQt5Core.so.5
#24 0x00007fb851b2089c in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () from /opt/ownCloud/qt-5.12.10/lib64/libQt5Widgets.so.5
#25 0x00007fb851b6fd96 in QWidgetWindow::handleMouseEvent(QMouseEvent*) () from /opt/ownCloud/qt-5.12.10/lib64/libQt5Widgets.so.5
#26 0x00007fb851b7290b in QWidgetWindow::event(QEvent*) () from /opt/ownCloud/qt-5.12.10/lib64/libQt5Widgets.so.5
#27 0x00007fb851b1a25c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /opt/ownCloud/qt-5.12.10/lib64/libQt5Widgets.so.5
#28 0x00007fb851b212a0 in QApplication::notify(QObject*, QEvent*) () from /opt/ownCloud/qt-5.12.10/lib64/libQt5Widgets.so.5
#29 0x00007fb84f613858 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /opt/ownCloud/qt-5.12.10/lib64/libQt5Core.so.5
#30 0x00007fb85139038d in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) ()
from /opt/ownCloud/qt-5.12.10/lib64/libQt5Gui.so.5
--Type <RET> for more, q to quit, c to continue without paging--
#31 0x00007fb851391725 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) ()
from /opt/ownCloud/qt-5.12.10/lib64/libQt5Gui.so.5
#32 0x00007fb85136cb5b in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /opt/ownCloud/qt-5.12.10/lib64/libQt5Gui.so.5
#33 0x00007fb84843788a in xcbSourceDispatch(_GSource*, int (*)(void*), void*) ()
from /opt/ownCloud/qt-5.12.10/lib64/qt5/plugins/platforms/../../../libQt5XcbQpa.so.5
#34 0x00007fb84d294694 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#35 0x00007fb84d294a30 in ?? () from /usr/lib64/libglib-2.0.so.0
#36 0x00007fb84d294abc in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#37 0x00007fb84f66d7cf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /opt/ownCloud/qt-5.12.10/lib64/libQt5Core.so.5
#38 0x00007fb84f61209a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/ownCloud/qt-5.12.10/lib64/libQt5Core.so.5
#39 0x00007fb84f61aba0 in QCoreApplication::exec() () from /opt/ownCloud/qt-5.12.10/lib64/libQt5Core.so.5
#40 0x000000000044c25f in main (argc=<optimized out>, argv=<optimized out>)
at /usr/src/packages/BUILD/btr-2.10.1-rc2.7111/src/gui/main.cpp:157
I presume that this can be reproduced by resetting the instance (i.e., "removing all files") at least once after the dialog has been shown already.
This issue was marked stale because it has been open for 30 days with no activity. Remove the stale label or comment or this will be closed in 7 days.
Seen again with ownCloud-3.0.0-daily20220530.7712.x64.msi on Windows 10 21H2, crash report sent, ID: 65639364-853f-48f3-8743-72dcba857bd2
This issue was marked stale because it has been open for 30 days with no activity. Remove the stale label or comment or this will be closed in 7 days.
Supposed to be fixed in 5.0