owncloud / client

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

client crashed when confirming the folder sync connection removal of oC10 account #11814

Closed ishabaral closed 1 month ago

ishabaral commented 2 months ago

Pre-submission Checks

Describe the bug

The AUT Crashed when confirming the folder sync connection removal.

[!Note] The issue is with oc10 server accounts only.

Steps to reproduce the issue

  1. Add a new account
  2. Remove folder sync connection
  3. Confirm Folder Sync Connection Removal on the dialog box

Screenshots

Screenshot from 2024-08-21 16-14-26

Log

ownCloud.log

Coredump:

Core was generated by `./owncloud -s'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007ff25f1bbcb6 in QtPrivate::QExplicitlySharedDataPointerV2<QMapData<std::map<QString, OCC::GraphApi::Space*, std::less<QString>, std::allocator<std::pair<QString const, OCC::GraphApi::Space*> > > > >::operator bool (this=0x20) at /mnt/workspace/owncloud/ownbuild/master/linux-64-gcc-debug/include/QtCore/qshareddata_impl.h:117
117     constexpr explicit operator bool() const noexcept { return d; }
[Current thread is 1 (LWP 42385)]
#0  0x00007ff25f1bbcb6 in QtPrivate::QExplicitlySharedDataPointerV2<QMapData<std::map<QString, OCC::GraphApi::Space*, std::less<QString>, std::allocator<std::pair<QString const, OCC::GraphApi::Space*> > > > >::operator bool (this=0x20) at /mnt/workspace/owncloud/ownbuild/master/linux-64-gcc-debug/include/QtCore/qshareddata_impl.h:117
#1  0x00007ff25f1bb9fd in QMap<QString, OCC::GraphApi::Space*>::begin (this=0x20) at /mnt/workspace/owncloud/ownbuild/master/linux-64-gcc-debug/include/QtCore/qmap.h:598
#2  0x00007ff25f1ba671 in OCC::GraphApi::SpacesManager::spaces (this=0x0) at /mnt/workspace/owncloud/client/src/libsync/graphapi/spacesmanager.cpp:114
#3  0x00007ff25f4dec79 in OCC::AccountSettings::slotSpacesUpdated (this=0x555847f78230) at /mnt/workspace/owncloud/client/src/gui/accountsettings.cpp:506
#4  0x00007ff25f4ea31c in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (OCC::AccountSettings::*)()>::call(void (OCC::AccountSettings::*)(), OCC::AccountSettings*, void**) (f=(void (OCC::AccountSettings::*)(OCC::AccountSettings * const)) 0x7ff25f4debf6 <OCC::AccountSettings::slotSpacesUpdated()>, o=0x555847f78230, arg=0x5558492c39a8) at /mnt/workspace/owncloud/ownbuild/master/linux-64-gcc-debug/include/QtCore/qobjectdefs_impl.h:145
#5  0x00007ff25f4e9d28 in QtPrivate::FunctionPointer<void (OCC::AccountSettings::*)()>::call<QtPrivate::List<>, void>(void (OCC::AccountSettings::*)(), OCC::AccountSettings*, void**) (f=(void (OCC::AccountSettings::*)(OCC::AccountSettings * const)) 0x7ff25f4debf6 <OCC::AccountSettings::slotSpacesUpdated()>, o=0x555847f78230, arg=0x5558492c39a8) at /mnt/workspace/owncloud/ownbuild/master/linux-64-gcc-debug/include/QtCore/qobjectdefs_impl.h:182
#6  0x00007ff25f4e8ec9 in QtPrivate::QCallableObject<void (OCC::AccountSettings::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x55584927d4c0, r=0x555847f78230, a=0x5558492c39a8, ret=0x0) at /mnt/workspace/owncloud/ownbuild/master/linux-64-gcc-debug/include/QtCore/qobjectdefs_impl.h:553
#7  0x00007ff25d7719ad in QMetaCallEvent::placeMetaCall(QObject*) () from /mnt/workspace/owncloud/ownbuild/master/linux-64-gcc-debug/lib/libQt6Core.so.6
#8  0x00007ff25d776551 in QObject::event(QEvent*) () from /mnt/workspace/owncloud/ownbuild/master/linux-64-gcc-debug/lib/libQt6Core.so.6
#9  0x00007ff25e9de3ac in QWidget::event(QEvent*) () from /mnt/workspace/owncloud/ownbuild/master/linux-64-gcc-debug/lib/libQt6Widgets.so.6
#10 0x00007ff25f4dfce5 in OCC::AccountSettings::event (this=0x555847f78230, e=0x5558492c3960) at /mnt/workspace/owncloud/client/src/gui/accountsettings.cpp:659
#11 0x00007ff25e98e2b3 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /mnt/workspace/owncloud/ownbuild/master/linux-64-gcc-debug/lib/libQt6Widgets.so.6
#12 0x00007ff25e994460 in QApplication::notify(QObject*, QEvent*) () from /mnt/workspace/owncloud/ownbuild/master/linux-64-gcc-debug/lib/libQt6Widgets.so.6
#13 0x00007ff25d7384d1 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /mnt/workspace/owncloud/ownbuild/master/linux-64-gcc-debug/lib/libQt6Core.so.6
#14 0x00007ff25d738547 in QCoreApplication::sendEvent(QObject*, QEvent*) () from /mnt/workspace/owncloud/ownbuild/master/linux-64-gcc-debug/lib/libQt6Core.so.6
#15 0x00007ff25d73899b in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /mnt/workspace/owncloud/ownbuild/master/linux-64-gcc-debug/lib/libQt6Core.so.6
#16 0x00007ff25d738a5c in QCoreApplication::sendPostedEvents(QObject*, int) () from /mnt/workspace/owncloud/ownbuild/master/linux-64-gcc-debug/lib/libQt6Core.so.6
#17 0x00007ff25d95258e in ?? () from /mnt/workspace/owncloud/ownbuild/master/linux-64-gcc-debug/lib/libQt6Core.so.6
#18 0x00007ff25bee2e3d in ?? () from /mnt/workspace/owncloud/ownbuild/master/linux-64-gcc-debug/lib/libglib-2.0.so.0
#19 0x00007ff25bee3eb7 in ?? () from /mnt/workspace/owncloud/ownbuild/master/linux-64-gcc-debug/lib/libglib-2.0.so.0
#20 0x00007ff25bee406b in ?? () from /mnt/workspace/owncloud/ownbuild/master/linux-64-gcc-debug/lib/libglib-2.0.so.0
#21 0x00007ff25bee4123 in g_main_context_iteration () from /mnt/workspace/owncloud/ownbuild/master/linux-64-gcc-debug/lib/libglib-2.0.so.0
#22 0x00007ff25d951ea7 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /mnt/workspace/owncloud/ownbuild/master/linux-64-gcc-debug/lib/libQt6Core.so.6
#23 0x00007ff257b82c40 in ?? () from /mnt/workspace/owncloud/ownbuild/master/linux-64-gcc-debug/plugins/platforms/../../lib/libQt6XcbQpa.so.6
#24 0x00007ff25d7400fb in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /mnt/workspace/owncloud/ownbuild/master/linux-64-gcc-debug/lib/libQt6Core.so.6
#25 0x00007ff25d74055a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /mnt/workspace/owncloud/ownbuild/master/linux-64-gcc-debug/lib/libQt6Core.so.6
#26 0x00007ff25d73a616 in QCoreApplication::exec() () from /mnt/workspace/owncloud/ownbuild/master/linux-64-gcc-debug/lib/libQt6Core.so.6
#27 0x00007ff25df8f014 in QGuiApplication::exec() () from /mnt/workspace/owncloud/ownbuild/master/linux-64-gcc-debug/lib/libQt6Gui.so.6
#28 0x00007ff25e98de81 in QApplication::exec() () from /mnt/workspace/owncloud/ownbuild/master/linux-64-gcc-debug/lib/libQt6Widgets.so.6
#29 0x0000555846fc2cbd in operator() (__closure=0x7ffe75c676c0, argc=2, argv=0x7ffe75c67848) at /mnt/workspace/owncloud/client/src/gui/main.cpp:550
#30 0x0000555846fc3942 in std::__invoke_impl<int, main(int, char**)::<lambda(int, char**)>&, int, char**>(std::__invoke_other, struct {...} &) (__f=...) at /usr/include/c++/11/bits/invoke.h:61
#31 0x0000555846fc35e8 in std::__invoke_r<int, main(int, char**)::<lambda(int, char**)>&, int, char**>(struct {...} &) (__fn=...) at /usr/include/c++/11/bits/invoke.h:114
#32 0x0000555846fc33cf in std::_Function_handler<int(int, char**), main(int, char**)::<lambda(int, char**)> >::_M_invoke(const std::_Any_data &, int &&, char **&&) (__functor=..., __args#0=@0x7ffe75c67624: 2, __args#1=@0x7ffe75c67618: 0x7ffe75c67848) at /usr/include/c++/11/bits/std_function.h:290
#33 0x00007ff25e7bde3c in std::function<int (int, char**)>::operator()(int, char**) const (this=0x7ffe75c676c0, __args#0=2, __args#1=0x7ffe75c67848) at /usr/include/c++/11/bits/std_function.h:590
#34 0x00007ff25e7bd592 in OCC::RestartManager::exec (this=0x7ffe75c676c0, argc=2, argv=0x7ffe75c67848) at /mnt/workspace/owncloud/client/src/common/restartmanager.cpp:56
#35 0x0000555846fc2dd3 in main (argc=2, argv=0x7ffe75c67848) at /mnt/workspace/owncloud/client/src/gui/main.cpp:551
erikjv commented 1 month ago

@saw-jan I have a fix for this issue. For testing, should I just remove those skip lines from the tests? So make those removes part of the commit?

saw-jan commented 1 month ago

@saw-jan I have a fix for this issue. For testing, should I just remove those skip lines from the tests? So make those removes part of the commit?

Yes please, remove the skip tag in your PR and if it passes then fix works

ishabaral commented 1 month ago

Test on ownCloud 6.0.0-git [5adf731ac] The folder sync connection is removed and the sync folder list is empty

saw-jan commented 1 month ago

automated test also running and passing in CI. NO crash