Application: systemsettings (5.81.0) Qt Version: 6.6.0 Frameworks Version: 5.245.0 Operating System: Linux 6.5.7-060507-generic x86_64 Windowing System: Wayland Distribution: KDE neon Unstable Edition DrKonqi: 5.81.0 [CoredumpBackend] -- Information about the crash: Open Desktop Effects KCM, check "Mouse click animation" effect and click on the button used to configure it. Close the settings of the effect by clicking on "Close" button on bottom. System Settings crashes. I can also reproduce on Arch Linux running Plasma 6 alpha. The crash can be reproduced every time. -- Backtrace (Reduced): #6 __pthread_kill_implementation (no_tid=0, signo=6, threadid=139837122853568) at ./nptl/pthread_kill.c:44 #7 __pthread_kill_internal (signo=6, threadid=139837122853568) at ./nptl/pthread_kill.c:78 #8 __GI___pthread_kill (threadid=139837122853568, signo=signo@entry=6) at ./nptl/pthread_kill.c:89 #9 0x00007f2e61242476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #10 0x00007f2e612287f3 in __GI_abort () at ./stdlib/abort.c:79 Reported using DrKonqi
Created attachment 163166 [details] New crash information added by DrKonqi DrKonqi auto-attaching complete backtrace.
Can reproduce. Thread 1 (Thread 0x7f2e5e08bac0 (LWP 41646)): [KCrash Handler] #6 __pthread_kill_implementation (no_tid=0, signo=6, threadid=139837122853568) at ./nptl/pthread_kill.c:44 #7 __pthread_kill_internal (signo=6, threadid=139837122853568) at ./nptl/pthread_kill.c:78 #8 __GI___pthread_kill (threadid=139837122853568, signo=signo@entry=6) at ./nptl/pthread_kill.c:89 #9 0x00007f2e61242476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #10 0x00007f2e612287f3 in __GI_abort () at ./stdlib/abort.c:79 #11 0x00007f2e61289676 in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7f2e613dbb8c "%s\n") at ../sysdeps/posix/libc_fatal.c:155 #12 0x00007f2e612a0cfc in malloc_printerr (str=str@entry=0x7f2e613de7b0 "double free or corruption (out)") at ./malloc/malloc.c:5664 #13 0x00007f2e612a2e70 in _int_free (av=0x7f2e61419c80 <main_arena>, p=0x56178ac094d0, have_lock=<optimized out>) at ./malloc/malloc.c:4588 #14 0x00007f2e612a5453 in __GI___libc_free (mem=<optimized out>) at ./malloc/malloc.c:3391 #15 0x00007f2e61dc7c0a in QObjectPrivate::deleteChildren() (this=this@entry=0x56178bf4c590) at ./src/corelib/kernel/qobject.cpp:2206 #16 0x00007f2e63e156f8 in QWidget::~QWidget() (this=0x56178bf4c560, this=<optimized out>) at ./src/widgets/kernel/qwidget.cpp:1537 #17 0x00007f2e640620d1 in () at /lib/x86_64-linux-gnu/libKF6KCMUtils.so.6 #18 0x00007f2e61dc7c0a in QObjectPrivate::deleteChildren() (this=this@entry=0x56178bf46450) at ./src/corelib/kernel/qobject.cpp:2206 #19 0x00007f2e63e156f8 in QWidget::~QWidget() (this=0x56178bf31500, this=<optimized out>) at ./src/widgets/kernel/qwidget.cpp:1537 #20 0x00007f2e63e1573d in QWidget::~QWidget() (this=0x56178bf31500, this=<optimized out>) at ./src/widgets/kernel/qwidget.cpp:1563 #21 0x00007f2e61dc7c0a in QObjectPrivate::deleteChildren() (this=this@entry=0x56178bf309d0) at ./src/corelib/kernel/qobject.cpp:2206 #22 0x00007f2e63e156f8 in QWidget::~QWidget() (this=0x56178bf33500, this=<optimized out>) at ./src/widgets/kernel/qwidget.cpp:1537 #23 0x00007f2e64059401 in () at /lib/x86_64-linux-gnu/libKF6KCMUtils.so.6 #24 0x00007f2e61dc7c0a in QObjectPrivate::deleteChildren() (this=this@entry=0x56178bc14610) at ./src/corelib/kernel/qobject.cpp:2206 #25 0x00007f2e63e156f8 in QWidget::~QWidget() (this=0x56178a8fe2f0, this=<optimized out>) at ./src/widgets/kernel/qwidget.cpp:1537 #26 0x00007f2e6438b0b1 in () at /lib/x86_64-linux-gnu/libKF6WidgetsAddons.so.6 #27 0x00007f2e61dc7c0a in QObjectPrivate::deleteChildren() (this=this@entry=0x561789284c90) at ./src/corelib/kernel/qobject.cpp:2206 #28 0x00007f2e63e156f8 in QWidget::~QWidget() (this=0x56178a060310, this=<optimized out>) at ./src/widgets/kernel/qwidget.cpp:1537 #29 0x00007f2e6438b4cd in KPageWidget::~KPageWidget() () at /lib/x86_64-linux-gnu/libKF6WidgetsAddons.so.6 #30 0x00007f2e61dc7c0a in QObjectPrivate::deleteChildren() (this=this@entry=0x56178bc13950) at ./src/corelib/kernel/qobject.cpp:2206 #31 0x00007f2e63e156f8 in QWidget::~QWidget() (this=0x56178a060180, this=<optimized out>) at ./src/widgets/kernel/qwidget.cpp:1537 #32 0x00007f2e6405a5dd in KCMultiDialog::~KCMultiDialog() () at /lib/x86_64-linux-gnu/libKF6KCMUtils.so.6 #33 0x00007f2e61dc6eb3 in QObject::event(QEvent*) (this=0x56178a060180, e=0x56178b3b7ca0) at ./src/corelib/kernel/qobject.cpp:1424 #34 0x00007f2e63df079b in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x56178a060180, e=0x56178b3b7ca0) at ./src/widgets/kernel/qapplication.cpp:3290 #35 0x00007f2e61e5e828 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x56178a060180, event=event@entry=0x56178b3b7ca0) at ./src/corelib/kernel/qcoreapplication.cpp:1118 #36 0x00007f2e61e5e86d in QCoreApplication::sendEvent(QObject*, QEvent*) (receiver=<optimized out>, event=event@entry=0x56178b3b7ca0) at ./src/corelib/kernel/qcoreapplication.cpp:1536 #37 0x00007f2e61e5ef40 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x561788fdfaf0) at ./src/corelib/kernel/qcoreapplication.cpp:1898 #38 0x00007f2e61c63087 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x561788fe3c40) at ./src/corelib/kernel/qeventdispatcher_glib.cpp:243 #39 0x00007f2e60f46d3b in g_main_dispatch (context=0x7f2e58005040) at ../../../glib/gmain.c:3419 #40 g_main_context_dispatch (context=0x7f2e58005040) at ../../../glib/gmain.c:4137 #41 0x00007f2e60f9c258 in g_main_context_iterate.constprop.0 (context=context@entry=0x7f2e58005040, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4213 #42 0x00007f2e60f443e3 in g_main_context_iteration (context=0x7f2e58005040, may_block=1) at ../../../glib/gmain.c:4278 #43 0x00007f2e61c5de60 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x561788fe3cc0, flags=...) at ./src/corelib/kernel/qeventdispatcher_glib.cpp:393 #44 0x00007f2e61e60a5b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffcfbfd3120, flags=..., flags@entry=...) at ./src/corelib/global/qflags.h:34 #45 0x00007f2e61e6268c in QCoreApplication::exec() () at ./src/corelib/global/qflags.h:74 #46 0x00007f2e622e9940 in QGuiApplication::exec() () at ./src/gui/kernel/qguiapplication.cpp:1921 #47 0x00007f2e63de8c89 in QApplication::exec() () at ./src/widgets/kernel/qapplication.cpp:2569 #48 0x0000561787771be4 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at ./app/main.cpp:175
==494211==ERROR: AddressSanitizer: attempting free on address which was not malloc()-ed: 0x6120006f9960 in thread T0 #0 0x7f20032dad28 in operator delete(void*, unsigned long) (/lib64/libasan.so.8+0xdad28) (BuildId: 6f17f87dc4c1aa9f9dde7c4856604c3a25ba4872) #1 0x7f1fffbae924 in QObjectPrivate::deleteChildren() /home/nico/workspace/qt6/qtbase/src/corelib/kernel/qobject.cpp:2206 #2 0x7f2001dcef57 in QWidget::~QWidget() /home/nico/workspace/qt6/qtbase/src/widgets/kernel/qwidget.cpp:1532 #3 0x7f20031ea73d in KCModuleProxyInternal::~KCModuleProxyInternal() /home/nico/kde/src/kcmutils/src/kcmodule.cpp:20 #4 0x7f20031ea73d in KCModuleProxyInternal::~KCModuleProxyInternal() /home/nico/kde/src/kcmutils/src/kcmodule.cpp:20 #5 0x7f1fffbae924 in QObjectPrivate::deleteChildren() /home/nico/workspace/qt6/qtbase/src/corelib/kernel/qobject.cpp:2206 #6 0x7f2001dcef57 in QWidget::~QWidget() /home/nico/workspace/qt6/qtbase/src/widgets/kernel/qwidget.cpp:1532 #7 0x7f2001dcef88 in QWidget::~QWidget() /home/nico/workspace/qt6/qtbase/src/widgets/kernel/qwidget.cpp:1558 #8 0x7f1fffbae924 in QObjectPrivate::deleteChildren() /home/nico/workspace/qt6/qtbase/src/corelib/kernel/qobject.cpp:2206 #9 0x7f2001dcef57 in QWidget::~QWidget() /home/nico/workspace/qt6/qtbase/src/widgets/kernel/qwidget.cpp:1532 #10 0x7f20031ca85d in UnboundScrollArea::~UnboundScrollArea() /home/nico/kde/src/kcmutils/src/kcmultidialog.h:158 #11 0x7f20031ca85d in UnboundScrollArea::~UnboundScrollArea() /home/nico/kde/src/kcmutils/src/kcmultidialog.h:158 #12 0x7f1fffbae924 in QObjectPrivate::deleteChildren() /home/nico/workspace/qt6/qtbase/src/corelib/kernel/qobject.cpp:2206 #13 0x7f2001dcef57 in QWidget::~QWidget() /home/nico/workspace/qt6/qtbase/src/widgets/kernel/qwidget.cpp:1532 #14 0x7f200276a00c in KPageStackedWidget::~KPageStackedWidget() /home/nico/kde/src/kwidgetsaddons/src/kpageview_p.h:25 #15 0x7f200276a00c in KPageStackedWidget::~KPageStackedWidget() /home/nico/kde/src/kwidgetsaddons/src/kpageview_p.h:25 #16 0x7f1fffbae924 in QObjectPrivate::deleteChildren() /home/nico/workspace/qt6/qtbase/src/corelib/kernel/qobject.cpp:2206 #17 0x7f2001dcef57 in QWidget::~QWidget() /home/nico/workspace/qt6/qtbase/src/widgets/kernel/qwidget.cpp:1532 #18 0x7f200276bef8 in KPageWidget::~KPageWidget() /home/nico/kde/src/kwidgetsaddons/src/kpagewidget.cpp:58 #19 0x7f1fffbae924 in QObjectPrivate::deleteChildren() /home/nico/workspace/qt6/qtbase/src/corelib/kernel/qobject.cpp:2206 #20 0x7f2001dcef57 in QWidget::~QWidget() /home/nico/workspace/qt6/qtbase/src/widgets/kernel/qwidget.cpp:1532 #21 0x7f20031bde40 in KCMultiDialog::~KCMultiDialog() /home/nico/kde/src/kcmutils/src/kcmultidialog.cpp:240 #22 0x7f20031bded0 in KCMultiDialog::~KCMultiDialog() /home/nico/kde/src/kcmutils/src/kcmultidialog.cpp:240 #23 0x7f1fffba6827 in QObject::event(QEvent*) /home/nico/workspace/qt6/qtbase/src/corelib/kernel/qobject.cpp:1424 #24 0x7f2001d7f9d0 in QApplicationPrivate::notify_helper(QObject*, QEvent*) /home/nico/workspace/qt6/qtbase/src/widgets/kernel/qapplication.cpp:3296 #25 0x7f1fffb59c47 in QCoreApplication::notifyInternal2(QObject*, QEvent*) /home/nico/workspace/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1121 #26 0x7f1fffb5d4e6 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) /home/nico/workspace/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1901 #27 0x7f1fffdf8502 in postEventSourceDispatch /home/nico/workspace/qt6/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:243 #28 0x7f1fff1a7e5b in g_main_context_dispatch_unlocked.lto_priv.0 (/lib64/libglib-2.0.so.0+0x5be5b) (BuildId: c5377a60d8282e2a61a4af1201dc10c9666139c2) #29 0x7f1fff202dd7 in g_main_context_iterate_unlocked.isra.0 (/lib64/libglib-2.0.so.0+0xb6dd7) (BuildId: c5377a60d8282e2a61a4af1201dc10c9666139c2) #30 0x7f1fff1a5ad2 in g_main_context_iteration (/lib64/libglib-2.0.so.0+0x59ad2) (BuildId: c5377a60d8282e2a61a4af1201dc10c9666139c2) #31 0x7f1fffdf7f3b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) /home/nico/workspace/qt6/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:393 #32 0x7f1fffb657ca in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) /home/nico/workspace/qt6/qtbase/src/corelib/kernel/qeventloop.cpp:182 #33 0x7f1fffb621d1 in QCoreApplication::exec() /home/nico/workspace/qt6/qtbase/src/corelib/kernel/qcoreapplication.cpp:1442 #34 0x41706f in main /home/nico/kde/src/systemsettings/app/main.cpp:175 #35 0x7f1fff446149 in __libc_start_call_main (/lib64/libc.so.6+0x28149) (BuildId: 651b2bed7ecaf18098a63b8f10299821749766e6) #36 0x7f1fff44620a in __libc_start_main_impl (/lib64/libc.so.6+0x2820a) (BuildId: 651b2bed7ecaf18098a63b8f10299821749766e6) #37 0x41b804 in _start (/home/nico/kde/usr/bin/systemsettings+0x41b804) (BuildId: 9f0e9bb3bfc19587c1a964f9cc4a6456d3946117)
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/4662
Git commit 6a1b1d01b857f0fadc85f088af24e1b296bc9446 by Vlad Zahorodnii, on behalf of Nicolas Fella. Committed on 20/11/2023 at 08:41. Pushed by vladz into branch 'master'. Fix and simplify UI creation in various effect KCMs We don't need an intermediate widget class here, we can set up the UI directly, like it's done in several effect KCMs already Not only does this simplify the code, it also fixes crashes due to broken ownership M +2 -10 src/plugins/magiclamp/magiclamp_config.cpp M +1 -9 src/plugins/magiclamp/magiclamp_config.h M +2 -11 src/plugins/magnifier/magnifier_config.cpp M +1 -8 src/plugins/magnifier/magnifier_config.h M +2 -10 src/plugins/mouseclick/mouseclick_config.cpp M +1 -8 src/plugins/mouseclick/mouseclick_config.h M +2 -10 src/plugins/mousemark/mousemark_config.cpp M +1 -8 src/plugins/mousemark/mousemark_config.h M +5 -6 src/plugins/showpaint/showpaint_config.cpp M +1 -1 src/plugins/showpaint/showpaint_config.h M +1 -10 src/plugins/thumbnailaside/thumbnailaside_config.cpp M +1 -9 src/plugins/thumbnailaside/thumbnailaside_config.h M +5 -13 src/plugins/trackmouse/trackmouse_config.cpp M +1 -9 src/plugins/trackmouse/trackmouse_config.h M +5 -15 src/plugins/zoom/zoom_config.cpp M +1 -9 src/plugins/zoom/zoom_config.h https://invent.kde.org/plasma/kwin/-/commit/6a1b1d01b857f0fadc85f088af24e1b296bc9446