Application: kdeconnect-settings (22.04.0) Qt Version: 5.15.3 Frameworks Version: 5.93.0 Operating System: Linux 5.17.4-zen1-1-zen x86_64 Windowing System: X11 Distribution: "Arch Linux" DrKonqi: 5.24.4 [KCrashBackend] -- Information about the crash: Every time when I'm trying to open settings of modules (like notification sending or command execution), app crashes without opening the window. Repoducing steps: 1. Connect to at least one device. 2. Open KDE Connect settings and select this device. 3. Find any module that has additional settings. 4. Try to open settings of the module. The crash can be reproduced every time. -- Backtrace: Application: Настройка KDE Connect (kdeconnect-settings), signal: Segmentation fault Content of s_kcrashErrorMessage: {_M_t = {<std::__uniq_ptr_impl<char, std::default_delete<char []> >> = {_M_t = std::tuple containing = {[1] = 0x0, [2] = {<No data fields>}}}, <No data fields>}} [KCrash Handler] #6 0x00007f8321d17c3d in std::__uniq_ptr_impl<KSycocaEntryPrivate, std::default_delete<KSycocaEntryPrivate> >::_M_ptr (this=<optimized out>, this=<optimized out>) at /usr/include/c++/11.2.0/bits/unique_ptr.h:173 #7 std::unique_ptr<KSycocaEntryPrivate, std::default_delete<KSycocaEntryPrivate> >::get (this=<optimized out>, this=<optimized out>) at /usr/include/c++/11.2.0/bits/unique_ptr.h:422 #8 std::unique_ptr<KSycocaEntryPrivate, std::default_delete<KSycocaEntryPrivate> >::operator-> (this=<optimized out>, this=<optimized out>) at /usr/include/c++/11.2.0/bits/unique_ptr.h:416 #9 qGetPtrHelper<std::unique_ptr<KSycocaEntryPrivate, std::default_delete<KSycocaEntryPrivate> > const> (ptr=..., ptr=...) at /usr/include/qt/QtCore/qglobal.h:1143 #10 KSycocaEntry::d_func (this=<optimized out>) at /usr/src/debug/kservice-5.93.0/src/sycoca/ksycocaentry.h:139 #11 KSycocaEntry::property (this=0x0, name=...) at /usr/src/debug/kservice-5.93.0/src/sycoca/ksycocaentry.cpp:104 #12 0x00007f83195c934d in KdeConnectPluginKcm::KdeConnectPluginKcm (this=<optimized out>, parent=<optimized out>, args=..., componentName=..., this=<optimized out>, parent=<optimized out>, args=..., componentName=...) at /usr/src/debug/kdeconnect-kde-22.04.0/kcmplugin/kdeconnectpluginkcm.cpp:26 #13 0x00007f8318178a8f in SendNotificationsConfig::SendNotificationsConfig (args=..., parent=0x556a92f7d2e0, this=0x556a92966390) at /usr/src/debug/kdeconnect-kde-22.04.0/plugins/sendnotifications/sendnotifications_config.cpp:19 #14 KPluginFactory::createInstance<SendNotificationsConfig, QWidget> (parentWidget=<optimized out>, parent=<optimized out>, args=...) at /usr/include/KF5/KCoreAddons/kpluginfactory.h:875 #15 0x00007f832353b064 in KPluginFactory::create (this=0x556a92f82440, iface=0x7f8321cb99e0 <qt_meta_stringdata_KCModule+480> "KCModule", parentWidget=0x556a92f7d2e0, parent=0x556a92f7d2e0, args=..., keyword=...) at /usr/src/debug/kcoreaddons-5.93.0/src/lib/plugin/kpluginfactory.cpp:232 #16 0x00007f83236132ca in KPluginFactory::create<KCModule> (args=..., parent=0x556a92f7d2e0, keyword=..., this=0x556a92f82440) at /usr/include/KF5/KCoreAddons/kpluginfactory.h:936 #17 KCModuleLoader::loadModule (metaData=..., parent=0x556a92f7d2e0, args=...) at /usr/src/debug/kcmutils-5.93.0/src/kcmoduleloader.cpp:98 #18 0x00007f832361605e in KCModuleProxyPrivate::loadModule (this=0x556a92f830d0) at /usr/src/debug/kcmutils-5.93.0/src/kcmoduleproxy.cpp:119 #19 0x00007f83236166bb in KCModuleProxy::realModule (this=<optimized out>) at /usr/src/debug/kcmutils-5.93.0/src/kcmoduleproxy.cpp:59 #20 0x00007f8323629dce in PluginDelegate::configure (this=this@entry=0x556a92ab4fd0, index=...) at /usr/src/debug/kcmutils-5.93.0/src/kpluginwidget.cpp:486 #21 0x00007f832362a5d1 in PluginDelegate::slotConfigureClicked (this=0x556a92ab4fd0) at /usr/src/debug/kcmutils-5.93.0/src/kpluginwidget.cpp:471 #22 0x00007f8322553463 in QtPrivate::QSlotObjectBase::call (a=<optimized out>, r=<optimized out>, this=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 #23 doActivate<false> (sender=0x556a92ee2250, signal_index=9, argv=0x7ffc3fdff760) at kernel/qobject.cpp:3886 #24 0x00007f832307f9b7 in QAbstractButton::clicked (this=this@entry=0x556a92ee2250, _t1=<optimized out>) at .moc/moc_qabstractbutton.cpp:308 #25 0x00007f83230821da in QAbstractButtonPrivate::emitClicked (this=0x556a92ee29f0) at widgets/qabstractbutton.cpp:416 #26 0x00007f832308370a in QAbstractButtonPrivate::click (this=0x556a92ee29f0) at widgets/qabstractbutton.cpp:409 #27 0x00007f83230838d8 in QAbstractButton::mouseReleaseEvent (this=0x556a92ee2250, e=0x7ffc3fdffce0) at widgets/qabstractbutton.cpp:1045 #28 0x00007f8322fd1446 in QWidget::event (this=0x556a92ee2250, event=0x7ffc3fdffce0) at kernel/qwidget.cpp:8659 #29 0x00007f8322f9b2c6 in QApplicationPrivate::notify_helper (this=this@entry=0x556a927bb540, receiver=receiver@entry=0x556a92ee2250, e=e@entry=0x7ffc3fdffce0) at kernel/qapplication.cpp:3637 #30 0x00007f8322fa00f7 in QApplication::notify (this=0x7ffc3fdff970, receiver=0x556a92ee2250, e=0x7ffc3fdffce0) at kernel/qapplication.cpp:3081 #31 0x00007f83225225aa in QCoreApplication::notifyInternal2 (receiver=0x556a92ee2250, event=0x7ffc3fdffce0) at kernel/qcoreapplication.cpp:1064 #32 0x00007f8322f9eabf in QApplicationPrivate::sendMouseEvent (receiver=0x556a92ee2250, event=0x7ffc3fdffce0, alienWidget=0x556a92ee2250, nativeWidget=0x556a92943a80, buttonDown=<optimized out>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false) at kernel/qapplication.cpp:2619 #33 0x00007f8322fef927 in QWidgetWindow::handleMouseEvent (this=0x556a92968410, event=0x7ffc3fe00050) at kernel/qwidgetwindow.cpp:683 #34 0x00007f8322ff14dc in QWidgetWindow::event (this=0x556a92968410, event=0x7ffc3fe00050) at kernel/qwidgetwindow.cpp:300 #35 0x00007f8322f9b2c6 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x556a92968410, e=0x7ffc3fe00050) at kernel/qapplication.cpp:3637 #36 0x00007f83225225aa in QCoreApplication::notifyInternal2 (receiver=0x556a92968410, event=0x7ffc3fe00050) at kernel/qcoreapplication.cpp:1064 #37 0x00007f83228f7fd0 in QGuiApplicationPrivate::processMouseEvent (e=0x556a92f0e780) at kernel/qguiapplication.cpp:2282 #38 0x00007f83228e26f5 in QWindowSystemInterface::sendWindowSystemEvents (flags=flags@entry=...) at kernel/qwindowsysteminterface.cpp:1169 #39 0x00007f831c5fef60 in xcbSourceDispatch (source=<optimized out>) at /usr/src/debug/qtbase/src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:105 #40 0x00007f8320531163 in g_main_dispatch (context=0x7f8314005010) at ../glib/glib/gmain.c:3417 #41 g_main_context_dispatch (context=0x7f8314005010) at ../glib/glib/gmain.c:4135 #42 0x00007f83205879e9 in g_main_context_iterate.constprop.0 (context=context@entry=0x7f8314005010, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4211 #43 0x00007f832052e6c5 in g_main_context_iteration (context=0x7f8314005010, may_block=1) at ../glib/glib/gmain.c:4276 #44 0x00007f832256e57a in QEventDispatcherGlib::processEvents (this=0x556a9288e100, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #45 0x00007f832251a88b in QEventLoop::exec (this=0x7ffc3fe003e0, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69 #46 0x00007f8322525fd7 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #47 0x00007f83228f31d2 in QGuiApplication::exec () at kernel/qguiapplication.cpp:1867 #48 0x00007f8322f9964a in QApplication::exec () at kernel/qapplication.cpp:2829 #49 0x0000556a922db54e in main (argc=<optimized out>, argv=0x7ffc3fe004a8) at /usr/src/debug/kdeconnect-kde-22.04.0/settings/main.cpp:51 [Inferior 1 (process 1886) detached] Reported using DrKonqi This report was filed against 'kde' because the product 'kdeconnect-settings' could not be located in Bugzilla. Add it to drkonqi's mappings file!
I am also seeing this on F36 Operating System: Fedora Linux 36 KDE Plasma Version: 5.24.4 KDE Frameworks Version: 5.93.0 Qt Version: 5.15.3 Kernel Version: 5.17.4-300.fc36.x86_64 (64-bit) Graphics Platform: X11
*** Bug 452906 has been marked as a duplicate of this bug. ***
Created attachment 148321 [details] kdeconnect-kde-22.04.0-fix-crash-in-plugin-settings Looks like call to KService::serviceByDesktopName(componentName) returns nullptr and there is no check for nullptr before dereferencing it. See: https://invent.kde.org/network/kdeconnect-kde/-/blob/27da388c74e5eebca05251de471057486612f69b/kcmplugin/kdeconnectpluginkcm.cpp#L26 Also looks like this bug has been already fixed in master...
Hello Yaroslav , thank you for spending time for the reporting are you sure this bug still exist even in release/22.04 because looks like even the related codes doesnt exist there https://invent.kde.org/network/kdeconnect-kde/-/blob/release/22.04/kcmplugin/kdeconnectpluginkcm.cpp
Here is code from https://download.kde.org/stable/release-service/22.04.0/src/kdeconnect-kde-22.04.0.tar.xz: ``` d->m_pluginName = KService::serviceByDesktopName(componentName).constData()->property(QStringLiteral("X-KDE-ParentComponents")).toString(); ``` I think that the commit with fix missed release TAR. Maybe someone could make kdeconnect-kde-22.04.1.tar.xz with this commit included?
I mean that commit is missing: https://invent.kde.org/network/kdeconnect-kde/-/commit/a0b9a2131c2fa30c041448f87fa927128785cea0.
*** Bug 453456 has been marked as a duplicate of this bug. ***
*** This bug has been marked as a duplicate of bug 453305 ***