Bug 454360

Summary: System Settings crashes in KWin::KWinTouchScreenEdgeEffectSettings::touchBorderActivate() when opening Touch Screen Edges KCM
Product: [Applications] systemsettings Reporter: Nate Graham <nate>
Component: kcm_kwintouchscreenAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: constantinvw, notmart, plasma-bugs-null
Priority: VHI Keywords: drkonqi, regression
Version First Reported In: 5.24.90   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Attachments: New crash information added by DrKonqi

Description Nate Graham 2022-05-24 20:18:46 UTC
Application: systemsettings (5.25.80)
 (Compiled from sources)
Qt Version: 5.15.3
Frameworks Version: 5.95.0
Operating System: Linux 5.17.8-300.fc36.x86_64 x86_64
Windowing System: Wayland
Distribution: Fedora Linux 36 (KDE Plasma)
DrKonqi: 5.25.80 [KCrashBackend]

-- Information about the crash:
Ever since the new QML Present Windows and Desktop Grid effects were merged, the Touch Screen Edges KCM has been crashing on launch for me.

The crash can be reproduced every time.

-- Backtrace:
Application: System Settings (systemsettings), signal: Segmentation fault
Content of s_kcrashErrorMessage: std::unique_ptr<char []> = {get() = 0x0}
[KCrash Handler]
#5  QList<int>::QList (this=0x7ffc38ef2f68, l=...) at /usr/include/qt5/QtCore/qlist.h:853
#6  0x00007f161d158b09 in KWin::KWinTouchScreenEdgeEffectSettings::touchBorderActivate (this=<optimized out>) at /home/nate/kde/build/kwin/src/kcmkwin/kwinscreenedges/kwintouchscreenedgeeffectsettings.h:35
#7  KWin::KWinScreenEdgesConfig::monitorLoadSettings (this=this@entry=0x3552470) at /home/nate/kde/src/kwin/src/kcmkwin/kwinscreenedges/touch.cpp:201
#8  0x00007f161d159b41 in KWin::KWinScreenEdgesConfig::load (this=0x3552470) at /home/nate/kde/src/kwin/src/kcmkwin/kwinscreenedges/touch.cpp:65
#9  0x00007f1671bea182 in QObject::event(QEvent*) () from /lib64/libQt5Core.so.5
#10 0x00007f1672989c22 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#11 0x00007f1671bc0118 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#12 0x00007f1671bc3474 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /lib64/libQt5Core.so.5
#13 0x00007f1671c11197 in postEventSourceDispatch(_GSource*, int (*)(void*), void*) () from /lib64/libQt5Core.so.5
#14 0x00007f166f642f4f in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#15 0x00007f166f698168 in g_main_context_iterate.constprop () from /lib64/libglib-2.0.so.0
#16 0x00007f166f6408e0 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#17 0x00007f1671c10c8a in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#18 0x00007f1671bbeb7a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#19 0x00007f1671bc6c22 in QCoreApplication::exec() () from /lib64/libQt5Core.so.5
#20 0x000000000040cc7a in main (argc=<optimized out>, argv=<optimized out>) at /home/nate/kde/src/systemsettings/app/main.cpp:183
[Inferior 1 (process 46892) detached]

Reported using DrKonqi
Comment 1 Bug Janitor Service 2022-05-25 08:48:59 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/2465
Comment 2 Vlad Zahorodnii 2022-05-25 10:51:41 UTC
Git commit e4c6e191484d675bf6297daf4915a3a8ff4745b4 by Vlad Zahorodnii.
Committed on 25/05/2022 at 10:51.
Pushed by vladz into branch 'Plasma/5.25'.

kcms/touch: Fix crash

"effects" is a typo, we need to populate "m_scripts"
Tested-by: Merge Service <https://invent.kde.org/plasma/kwin/-/merge_requests/2465>
Part-of: <https://invent.kde.org/plasma/kwin/-/merge_requests/2465>


(cherry picked from commit f2be602266fabc5bdc965b4f742d69b78fe34d62)

M  +1    -1    src/kcmkwin/kwinscreenedges/touch.cpp

https://invent.kde.org/plasma/kwin/commit/e4c6e191484d675bf6297daf4915a3a8ff4745b4
Comment 3 ConvW 2022-05-28 20:45:11 UTC
Created attachment 149298 [details]
New crash information added by DrKonqi

systemsettings (5.24.90) using Qt 5.15.4

I had just enabled the kde-testing repo to use the new plasma 2.25 beta-release and everything works perfectly fine so far. the only thing i came across is, that i can't open the KCM for my touchscreen (to enable borderactions, f.i. show desktop or the new overview effect). the whole Systemsettings app just crashes.
i have one action enabled (overview) and it still works. i just cant change it now.
I'm on Wayland btw.

-- Backtrace (Reduced):
#6  0x00007f92c7591910 in QObject::event(QEvent*) () from /usr/lib/libQt5Core.so.5
#7  0x00007f92c80e5a7c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#8  0x00007f92c756dff8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#9  0x00007f92c756eaf3 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQt5Core.so.5
[...]
#14 0x00007f92c75b87bc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5