Bug 447199

Summary: System Settings crashes on Wayland in KScreen::Config::clone() when display configuration changes
Product: [Applications] systemsettings Reporter: Patrick Silva <bugseforuns>
Component: kcm_kscreenAssignee: kscreen-bugs-null <kscreen-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: bednarczyk.pawel, bruno, bugreports.nmhj2, jimtahu, meven29, nate, nicolas.fella, plasma-bugs, postix, rustico.bakko, stephen.wetzel, sven
Priority: HI Keywords: drkonqi, wayland
Version: unspecified   
Target Milestone: ---   
Platform: Neon   
OS: Linux   
See Also: https://bugs.kde.org/show_bug.cgi?id=461581
Latest Commit: Version Fixed In: 5.26
Attachments: New crash information added by DrKonqi

Description Patrick Silva 2021-12-18 19:09:58 UTC
Application: systemsettings (5.23.80)

Qt Version: 5.15.3
Frameworks Version: 5.90.0
Operating System: Linux 5.11.0-40-generic x86_64
Windowing System: Wayland
Distribution: KDE neon Unstable Edition
DrKonqi: 5.23.80 [CoredumpBackend]

-- Information about the crash:
- What I was doing when the application crashed:
On Wayland, open Display Configuration KCM, change display scale, click on 'Apply' button (a dialog to keep/revert the change shows up), wait the countdown to finish. Display configuration is reverted as expected but System Settings crashes.

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}
[New LWP 26434]
[New LWP 28096]
[New LWP 26437]
[New LWP 26440]
[New LWP 28199]
[New LWP 26439]
[New LWP 26441]
[New LWP 26442]
[New LWP 28092]
[New LWP 28093]
[New LWP 28450]
[New LWP 26438]
[New LWP 28094]
[New LWP 26436]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/bin/systemsettings kcm_kwin_effects'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  __GI_raise (sig=sig@entry=11) at ../sysdeps/unix/sysv/linux/raise.c:50
[Current thread is 1 (Thread 0x7f95f72e89c0 (LWP 26434))]
__preamble__

[Current thread is 1 (Thread 0x7f95f72e89c0 (LWP 26434))]

Thread 14 (Thread 0x7f95f64f4700 (LWP 26436)):
#0  0x00007f95fbba9aff in __GI___poll (fds=0x7f95f0019f60, nfds=4, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f95f9bfa36e in g_main_context_poll (priority=<optimized out>, n_fds=4, fds=0x7f95f0019f60, timeout=<optimized out>, context=0x7f95f0000c20) at ../../../glib/gmain.c:4346
#2  g_main_context_iterate (context=context@entry=0x7f95f0000c20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4042
#3  0x00007f95f9bfa4a3 in g_main_context_iteration (context=0x7f95f0000c20, may_block=may_block@entry=1) at ../../../glib/gmain.c:4108
#4  0x00007f95fc179602 in QEventDispatcherGlib::processEvents (this=0x7f95f0000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#5  0x00007f95fc11d8ab in QEventLoop::exec (this=this@entry=0x7f95f64f3bb0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#6  0x00007f95fbf372c2 in QThread::exec (this=this@entry=0x7f95fb312d80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#7  0x00007f95fb28ef4b in QDBusConnectionManager::run (this=0x7f95fb312d80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:179
#8  0x00007f95fbf3845c in QThreadPrivate::start (arg=0x7f95fb312d80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:329
#9  0x00007f95fa5b8609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007f95fbbb6293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 13 (Thread 0x7f95cd097700 (LWP 28094)):
#0  0x00007f95fbba9aff in __GI___poll (fds=0x7f95b8016c00, nfds=3, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f95f9bfa36e in g_main_context_poll (priority=<optimized out>, n_fds=3, fds=0x7f95b8016c00, timeout=<optimized out>, context=0x7f95b8013e60) at ../../../glib/gmain.c:4346
#2  g_main_context_iterate (context=0x7f95b8013e60, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4042
#3  0x00007f95f9bfa6f3 in g_main_loop_run (loop=0x7f95b8013f50) at ../../../glib/gmain.c:4241
#4  0x00007f95ce3bef8a in gdbus_shared_thread_func (user_data=0x7f95b8013e30) at ../../../gio/gdbusprivate.c:279
#5  0x00007f95f9c23ad1 in g_thread_proxy (data=0x7f95b8002f00) at ../../../glib/gthread.c:807
#6  0x00007f95fa5b8609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7  0x00007f95fbbb6293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 12 (Thread 0x7f95ef6bd700 (LWP 26438)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55687d765b48) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55687d765af8, cond=0x55687d765b20) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x55687d765b20, mutex=0x55687d765af8) at pthread_cond_wait.c:647
#3  0x00007f95f42feb1b in cnd_wait (mtx=0x55687d765af8, cond=0x55687d765b20) at ../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x55687d5b2e50) at ../src/util/u_queue.c:294
#5  0x00007f95f42fe71b in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#6  0x00007f95fa5b8609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7  0x00007f95fbbb6293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 11 (Thread 0x7f95b5481700 (LWP 28450)):
#0  0x00007f95fbba9aff in __GI___poll (fds=0x7f95a40032d0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f95f9bfa36e in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7f95a40032d0, timeout=<optimized out>, context=0x7f95a4003300) at ../../../glib/gmain.c:4346
#2  g_main_context_iterate (context=context@entry=0x7f95a4003300, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4042
#3  0x00007f95f9bfa4a3 in g_main_context_iteration (context=0x7f95a4003300, may_block=may_block@entry=1) at ../../../glib/gmain.c:4108
#4  0x00007f95fc179602 in QEventDispatcherGlib::processEvents (this=0x7f95a40038c0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#5  0x00007f95fc11d8ab in QEventLoop::exec (this=this@entry=0x7f95b5480bc0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#6  0x00007f95fbf372c2 in QThread::exec (this=this@entry=0x5568823dc570) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#7  0x00007f95fab94549 in QQmlThreadPrivate::run (this=0x5568823dc570) at qml/ftw/qqmlthread.cpp:155
#8  0x00007f95fbf3845c in QThreadPrivate::start (arg=0x5568823dc570) at thread/qthread_unix.cpp:329
#9  0x00007f95fa5b8609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007f95fbbb6293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 10 (Thread 0x7f95cd898700 (LWP 28093)):
#0  0x00007f95fbba9aff in __GI___poll (fds=0x55688430b810, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f95f9bfa36e in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x55688430b810, timeout=<optimized out>, context=0x55688430b750) at ../../../glib/gmain.c:4346
#2  g_main_context_iterate (context=context@entry=0x55688430b750, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4042
#3  0x00007f95f9bfa4a3 in g_main_context_iteration (context=context@entry=0x55688430b750, may_block=may_block@entry=1) at ../../../glib/gmain.c:4108
#4  0x00007f95d400e99d in dconf_gdbus_worker_thread (user_data=0x55688430b750) at ../gdbus/dconf-gdbus-thread.c:82
#5  0x00007f95f9c23ad1 in g_thread_proxy (data=0x7f95c8001800) at ../../../glib/gthread.c:807
#6  0x00007f95fa5b8609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7  0x00007f95fbbb6293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 9 (Thread 0x7f95ce099700 (LWP 28092)):
#0  0x00007f95fbba9aff in __GI___poll (fds=0x7f95c0000b60, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f95f9bfa36e in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7f95c0000b60, timeout=<optimized out>, context=0x55687e152cd0) at ../../../glib/gmain.c:4346
#2  g_main_context_iterate (context=context@entry=0x55687e152cd0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4042
#3  0x00007f95f9bfa4a3 in g_main_context_iteration (context=0x55687e152cd0, may_block=may_block@entry=1) at ../../../glib/gmain.c:4108
#4  0x00007f95f9bfa4f1 in glib_worker_main (data=<optimized out>) at ../../../glib/gmain.c:5996
#5  0x00007f95f9c23ad1 in g_thread_proxy (data=0x55687d558ea0) at ../../../glib/gthread.c:807
#6  0x00007f95fa5b8609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7  0x00007f95fbbb6293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 8 (Thread 0x7f95d7fff700 (LWP 26442)):
#0  0x00007f95fbba9aff in __GI___poll (fds=0x7f95d0004a60, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f95f9bfa36e in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7f95d0004a60, timeout=<optimized out>, context=0x7f95d0000c20) at ../../../glib/gmain.c:4346
#2  g_main_context_iterate (context=context@entry=0x7f95d0000c20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4042
#3  0x00007f95f9bfa4a3 in g_main_context_iteration (context=0x7f95d0000c20, may_block=may_block@entry=1) at ../../../glib/gmain.c:4108
#4  0x00007f95fc179602 in QEventDispatcherGlib::processEvents (this=0x7f95d0000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#5  0x00007f95fc11d8ab in QEventLoop::exec (this=this@entry=0x7f95d7ffebc0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#6  0x00007f95fbf372c2 in QThread::exec (this=this@entry=0x55687d8952f0) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#7  0x00007f95fab94549 in QQmlThreadPrivate::run (this=0x55687d8952f0) at qml/ftw/qqmlthread.cpp:155
#8  0x00007f95fbf3845c in QThreadPrivate::start (arg=0x55687d8952f0) at thread/qthread_unix.cpp:329
#9  0x00007f95fa5b8609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007f95fbbb6293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 7 (Thread 0x7f95ed90e700 (LWP 26441)):
#0  0x00007f95fbba9aff in __GI___poll (fds=0x7f95dc004e60, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f95f9bfa36e in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7f95dc004e60, timeout=<optimized out>, context=0x7f95dc000c20) at ../../../glib/gmain.c:4346
#2  g_main_context_iterate (context=context@entry=0x7f95dc000c20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4042
#3  0x00007f95f9bfa4a3 in g_main_context_iteration (context=0x7f95dc000c20, may_block=may_block@entry=1) at ../../../glib/gmain.c:4108
#4  0x00007f95fc179602 in QEventDispatcherGlib::processEvents (this=0x7f95dc000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#5  0x00007f95fc11d8ab in QEventLoop::exec (this=this@entry=0x7f95ed90dbc0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#6  0x00007f95fbf372c2 in QThread::exec (this=this@entry=0x55687d86c3f0) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#7  0x00007f95fab94549 in QQmlThreadPrivate::run (this=0x55687d86c3f0) at qml/ftw/qqmlthread.cpp:155
#8  0x00007f95fbf3845c in QThreadPrivate::start (arg=0x55687d86c3f0) at thread/qthread_unix.cpp:329
#9  0x00007f95fa5b8609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007f95fbbb6293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 0x7f95eeebc700 (LWP 26439)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55687d765b48) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55687d765af8, cond=0x55687d765b20) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x55687d765b20, mutex=0x55687d765af8) at pthread_cond_wait.c:647
#3  0x00007f95f42feb1b in cnd_wait (mtx=0x55687d765af8, cond=0x55687d765b20) at ../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x55687d5b3c80) at ../src/util/u_queue.c:294
#5  0x00007f95f42fe71b in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#6  0x00007f95fa5b8609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7  0x00007f95fbbb6293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7f95c75a6700 (LWP 28199)):
#0  0x00007f95fbba9aff in __GI___poll (fds=0x7f95b01630d0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f95f9bfa36e in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7f95b01630d0, timeout=<optimized out>, context=0x7f95b0458800) at ../../../glib/gmain.c:4346
#2  g_main_context_iterate (context=context@entry=0x7f95b0458800, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4042
#3  0x00007f95f9bfa4a3 in g_main_context_iteration (context=0x7f95b0458800, may_block=may_block@entry=1) at ../../../glib/gmain.c:4108
#4  0x00007f95fc179602 in QEventDispatcherGlib::processEvents (this=0x7f95b01fb080, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#5  0x00007f95fc11d8ab in QEventLoop::exec (this=this@entry=0x7f95c75a5be0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#6  0x00007f95fbf372c2 in QThread::exec (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#7  0x00007f95fbf3845c in QThreadPrivate::start (arg=0x55687e65f3c0) at thread/qthread_unix.cpp:329
#8  0x00007f95fa5b8609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#9  0x00007f95fbbb6293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7f95ee6bb700 (LWP 26440)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55687d765b4c) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55687d765af8, cond=0x55687d765b20) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x55687d765b20, mutex=0x55687d765af8) at pthread_cond_wait.c:647
#3  0x00007f95f42feb1b in cnd_wait (mtx=0x55687d765af8, cond=0x55687d765b20) at ../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x55687d61d790) at ../src/util/u_queue.c:294
#5  0x00007f95f42fe71b in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#6  0x00007f95fa5b8609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7  0x00007f95fbbb6293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7f95efebe700 (LWP 26437)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55687d765b48) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55687d765af8, cond=0x55687d765b20) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x55687d765b20, mutex=0x55687d765af8) at pthread_cond_wait.c:647
#3  0x00007f95f42feb1b in cnd_wait (mtx=0x55687d765af8, cond=0x55687d765b20) at ../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x55687d5e6220) at ../src/util/u_queue.c:294
#5  0x00007f95f42fe71b in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#6  0x00007f95fa5b8609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7  0x00007f95fbbb6293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f95d6dbe700 (LWP 28096)):
#0  0x00007f95fbba9aff in __GI___poll (fds=0x7f95c809ba40, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f95f9bfa36e in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7f95c809ba40, timeout=<optimized out>, context=0x7f95c80f9720) at ../../../glib/gmain.c:4346
#2  g_main_context_iterate (context=context@entry=0x7f95c80f9720, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4042
#3  0x00007f95f9bfa4a3 in g_main_context_iteration (context=0x7f95c80f9720, may_block=may_block@entry=1) at ../../../glib/gmain.c:4108
#4  0x00007f95fc179602 in QEventDispatcherGlib::processEvents (this=0x7f95c81cb520, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#5  0x00007f95fc11d8ab in QEventLoop::exec (this=this@entry=0x7f95d6dbdba0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#6  0x00007f95fbf372c2 in QThread::exec (this=this@entry=0x55687d7cbec0) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#7  0x00007f95d4ac607c in KCupsConnection::run (this=0x55687d7cbec0) at ./libkcups/KCupsConnection.cpp:289
#8  0x00007f95fbf3845c in QThreadPrivate::start (arg=0x55687d7cbec0) at thread/qthread_unix.cpp:329
#9  0x00007f95fa5b8609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007f95fbbb6293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f95f72e89c0 (LWP 26434)):
[KCrash Handler]
#3  QSharedPointer<KScreen::Screen>::operator-> (this=<optimized out>) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:307
#4  KScreen::Config::clone (this=0x0) at ./src/config.cpp:205
#5  0x00007f95c4352bbc in ConfigHandler::revertConfig (this=0x5568826ff100) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:307
#6  KCMKScreen::revertSettings (this=0x55688a2b2630) at ./kcm/kcm.cpp:93
#7  0x00007f95c4342ddc in KCMKScreen::qt_static_metacall (_o=_o@entry=0x55688a2b2630, _c=_c@entry=QMetaObject::InvokeMetaMethod, _id=_id@entry=22, _a=_a@entry=0x7fffb3b96e20) at ./obj-x86_64-linux-gnu/kcm/kcm_kscreen_autogen/EWIEGA46WW/moc_kcm.cpp:231
#8  0x00007f95c4343b63 in KCMKScreen::qt_metacall (this=0x55688a2b2630, _c=QMetaObject::InvokeMetaMethod, _id=22, _a=0x7fffb3b96e20) at ./obj-x86_64-linux-gnu/kcm/kcm_kscreen_autogen/EWIEGA46WW/moc_kcm.cpp:435
#9  0x00007f95fab27bf5 in QQmlObjectOrGadget::metacall (this=this@entry=0x7fffb3b97110, type=type@entry=QMetaObject::InvokeMetaMethod, index=<optimized out>, index@entry=55, argv=argv@entry=0x7fffb3b96e20) at ../../include/QtQml/5.15.3/QtQml/private/../../../../../src/qml/qml/ftw/qflagpointer_p.h:351
#10 0x00007f95fa9f0b34 in CallMethod (object=..., index=55, returnType=returnType@entry=43, argCount=argCount@entry=0, argTypes=argTypes@entry=0x0, engine=engine@entry=0x55688affdc00, callArgs=0x7f95b40417b8, callType=QMetaObject::InvokeMetaMethod) at jsruntime/qv4qobjectwrapper.cpp:1319
#11 0x00007f95fa9f27a4 in CallPrecise (object=..., data=..., engine=engine@entry=0x55688affdc00, callArgs=callArgs@entry=0x7f95b40417b8, callType=callType@entry=QMetaObject::InvokeMetaMethod) at ../../include/QtQml/5.15.3/QtQml/private/../../../../../src/qml/qml/qqmlpropertydata_p.h:285
#12 0x00007f95fa9f375a in QV4::QObjectMethod::callInternal (this=<optimized out>, thisObject=<optimized out>, argv=<optimized out>, argc=0) at jsruntime/qv4qobjectwrapper.cpp:2131
#13 0x00007f95faa131e1 in QV4::FunctionObject::call (argc=<optimized out>, argv=<optimized out>, thisObject=<optimized out>, this=<optimized out>) at ../../include/QtQml/5.15.3/QtQml/private/../../../../../src/qml/jsruntime/qv4functionobject_p.h:172
#14 QV4::Moth::VME::interpret (frame=0x7fffb3b97400, engine=0x55688affdc00, code=0x7f95b4041768 "\240\341\306\243\225\177") at jsruntime/qv4vme_moth.cpp:754
#15 0x00007f95faa1511f in QV4::Moth::VME::exec (frame=frame@entry=0x7fffb3b97400, engine=engine@entry=0x55688affdc00) at jsruntime/qv4vme_moth.cpp:463
#16 0x00007f95fa9a22fd in QV4::Function::call (this=this@entry=0x55687d9574d0, thisObject=<optimized out>, argv=argv@entry=0x7f95b4041730, argc=<optimized out>, context=<optimized out>) at jsruntime/qv4function.cpp:69
#17 0x00007f95fab47fb7 in QQmlJavaScriptExpression::evaluate (this=this@entry=0x556881dabc00, callData=callData@entry=0x7f95b4041700, isUndefined=isUndefined@entry=0x0) at ../../include/QtQml/5.15.3/QtQml/private/../../../../../src/qml/jsruntime/qv4value_p.h:343
#18 0x00007f95faaeb8be in QQmlBoundSignalExpression::evaluate (this=<optimized out>, a=<optimized out>) at ../../include/QtQml/5.15.3/QtQml/private/../../../../../src/qml/jsruntime/qv4jscall_p.h:95
#19 0x00007f95faaec958 in QQmlBoundSignal_callback (e=0x556882a3a7c0, a=0x0) at ../../include/QtQml/5.15.3/QtQml/private/../../../../../src/qml/qml/qqmlboundsignalexpressionpointer_p.h:69
#20 0x00007f95fab2765d in QQmlNotifier::emitNotify (endpoint=<optimized out>, a=a@entry=0x0) at qml/qqmlnotifier.cpp:104
#21 0x00007f95faac9fcf in QQmlData::signalEmitted (object=0x55687e5368a0, index=4, a=0x0) at qml/qqmlengine.cpp:834
#22 0x00007f95fc155955 in doActivate<false> (sender=0x55687e5368a0, signal_index=4, argv=0x0) at kernel/qobject_p.h:110
#23 0x00007f95faac47aa in QQmlVMEMetaObject::metaCall(QObject*, QMetaObject::Call, int, void**) () at ../../include/QtQml/5.15.3/QtQml/private/../../../../../src/qml/qml/qqmlpropertycache_p.h:376
#24 0x00007f95faac3d94 in QQmlVMEMetaObject::metaCall(QObject*, QMetaObject::Call, int, void**) () at ../../include/QtQml/5.15.3/QtQml/private/../../../../../src/qml/qml/ftw/qflagpointer_p.h:351
#25 0x00007f95faac3d94 in QQmlVMEMetaObject::metaCall(QObject*, QMetaObject::Call, int, void**) () at ../../include/QtQml/5.15.3/QtQml/private/../../../../../src/qml/qml/ftw/qflagpointer_p.h:351
#26 0x00007f95faad6d63 in QQmlPropertyData::writeProperty (flags=..., value=<optimized out>, target=0x55687e5368a0, this=0x7f95a408c928) at ../../include/QtQml/5.15.3/QtQml/private/../../../../../src/qml/qml/qqmlpropertydata_p.h:379
#27 QQmlPropertyPrivate::write (object=object@entry=0x55687e5368a0, property=..., value=..., context=<optimized out>, flags=..., flags@entry=...) at qml/qqmlproperty.cpp:1246
#28 0x00007f95fa9f478c in QV4::QObjectWrapper::setProperty (engine=engine@entry=0x55688affdc00, object=object@entry=0x55687e5368a0, property=0x7f95a408c928, value=...) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qflags.h:120
#29 0x00007f95fa9f52be in QV4::QObjectWrapper::setQmlProperty (value=..., revisionMode=QV4::QObjectWrapper::IgnoreRevision, name=<optimized out>, object=0x55687e5368a0, qmlContext=<optimized out>, engine=0x55688affdc00) at jsruntime/qv4qobjectwrapper.cpp:435
#30 QV4::QObjectWrapper::setQmlProperty (engine=0x55688affdc00, qmlContext=<optimized out>, object=0x55687e5368a0, name=<optimized out>, revisionMode=QV4::QObjectWrapper::IgnoreRevision, value=...) at jsruntime/qv4qobjectwrapper.cpp:418
#31 0x00007f95fa9f5437 in QV4::QObjectWrapper::virtualPut (m=0x7f95b40416a8, id=..., value=..., receiver=0x7f95b40416a8) at /usr/include/c++/9/bits/atomic_base.h:413
#32 0x00007f95fa9b8164 in QV4::Object::put (receiver=0x7f95b40416a8, v=..., id=..., this=0x7f95b40416a8) at ../../include/QtQml/5.15.3/QtQml/private/../../../../../src/qml/memory/qv4heap_p.h:73
#33 QV4::Object::virtualResolveLookupSetter (object=0x7f95b40416a8, engine=0x55688affdc00, lookup=0x5568821cb850, value=...) at jsruntime/qv4object.cpp:804
#34 0x00007f95faa0fcf6 in QV4::Moth::VME::interpret (frame=0x7fffb3b998d0, engine=0x55688affdc00, code=0x7f95c432144e <error: Cannot access memory at address 0x7f95c432144e>) at jsruntime/qv4vme_moth.cpp:653
#35 0x00007f95faa1511f in QV4::Moth::VME::exec (frame=frame@entry=0x7fffb3b998d0, engine=engine@entry=0x55688affdc00) at jsruntime/qv4vme_moth.cpp:463
#36 0x00007f95fa9a2fc8 in QV4::ArrowFunction::virtualCall (fo=<optimized out>, thisObject=<optimized out>, argv=<optimized out>, argc=<optimized out>) at jsruntime/qv4functionobject.cpp:528
#37 0x00007f95faa131e1 in QV4::FunctionObject::call (argc=<optimized out>, argv=<optimized out>, thisObject=<optimized out>, this=<optimized out>) at ../../include/QtQml/5.15.3/QtQml/private/../../../../../src/qml/jsruntime/qv4functionobject_p.h:172
#38 QV4::Moth::VME::interpret (frame=0x7fffb3b99b00, engine=0x55688affdc00, code=0x7f95b4041628 "\300>\305\243\225\177") at jsruntime/qv4vme_moth.cpp:754
#39 0x00007f95faa1511f in QV4::Moth::VME::exec (frame=frame@entry=0x7fffb3b99b00, engine=engine@entry=0x55688affdc00) at jsruntime/qv4vme_moth.cpp:463
#40 0x00007f95fa9a22fd in QV4::Function::call (this=this@entry=0x55688a74efe0, thisObject=<optimized out>, argv=argv@entry=0x7f95b40415f0, argc=<optimized out>, context=<optimized out>) at jsruntime/qv4function.cpp:69
#41 0x00007f95fab47fb7 in QQmlJavaScriptExpression::evaluate (this=this@entry=0x55687e2fdb90, callData=callData@entry=0x7f95b40415c0, isUndefined=isUndefined@entry=0x0) at ../../include/QtQml/5.15.3/QtQml/private/../../../../../src/qml/jsruntime/qv4value_p.h:343
#42 0x00007f95faaeb8be in QQmlBoundSignalExpression::evaluate (this=<optimized out>, a=<optimized out>) at ../../include/QtQml/5.15.3/QtQml/private/../../../../../src/qml/jsruntime/qv4jscall_p.h:95
#43 0x00007f95faaec958 in QQmlBoundSignal_callback (e=0x55687e2fdb40, a=0x0) at ../../include/QtQml/5.15.3/QtQml/private/../../../../../src/qml/qml/qqmlboundsignalexpressionpointer_p.h:69
#44 0x00007f95fab2765d in QQmlNotifier::emitNotify (endpoint=<optimized out>, a=a@entry=0x0) at qml/qqmlnotifier.cpp:104
#45 0x00007f95faac9fcf in QQmlData::signalEmitted (object=0x55688a2b2630, index=35, a=0x0) at qml/qqmlengine.cpp:834
#46 0x00007f95fc155955 in doActivate<false> (sender=0x55688a2b2630, signal_index=35, argv=0x0) at kernel/qobject_p.h:110
#47 0x00007f95fc14f197 in QMetaObject::activate (sender=sender@entry=0x55688a2b2630, m=m@entry=0x7f95c43809e0 <KCMKScreen::staticMetaObject>, local_signal_index=local_signal_index@entry=17, argv=argv@entry=0x0) at kernel/qobject.cpp:3946
#48 0x00007f95c4342607 in KCMKScreen::settingsReverted (this=this@entry=0x55688a2b2630) at ./obj-x86_64-linux-gnu/kcm/kcm_kscreen_autogen/EWIEGA46WW/moc_kcm.cpp:568
#49 0x00007f95c4352c46 in KCMKScreen::revertSettings (this=0x55688a2b2630) at ./kcm/kcm.cpp:97
#50 0x00007f95c4342ddc in KCMKScreen::qt_static_metacall (_o=_o@entry=0x55688a2b2630, _c=_c@entry=QMetaObject::InvokeMetaMethod, _id=_id@entry=22, _a=_a@entry=0x7fffb3b9ba20) at ./obj-x86_64-linux-gnu/kcm/kcm_kscreen_autogen/EWIEGA46WW/moc_kcm.cpp:231
#51 0x00007f95c4343b63 in KCMKScreen::qt_metacall (this=0x55688a2b2630, _c=QMetaObject::InvokeMetaMethod, _id=22, _a=0x7fffb3b9ba20) at ./obj-x86_64-linux-gnu/kcm/kcm_kscreen_autogen/EWIEGA46WW/moc_kcm.cpp:435
#52 0x00007f95fab27bf5 in QQmlObjectOrGadget::metacall (this=this@entry=0x7fffb3b9bd10, type=type@entry=QMetaObject::InvokeMetaMethod, index=<optimized out>, index@entry=55, argv=argv@entry=0x7fffb3b9ba20) at ../../include/QtQml/5.15.3/QtQml/private/../../../../../src/qml/qml/ftw/qflagpointer_p.h:351
#53 0x00007f95fa9f0b34 in CallMethod (object=..., index=55, returnType=returnType@entry=43, argCount=argCount@entry=0, argTypes=argTypes@entry=0x0, engine=engine@entry=0x55688affdc00, callArgs=0x7f95b4041588, callType=QMetaObject::InvokeMetaMethod) at jsruntime/qv4qobjectwrapper.cpp:1319
#54 0x00007f95fa9f27a4 in CallPrecise (object=..., data=..., engine=engine@entry=0x55688affdc00, callArgs=callArgs@entry=0x7f95b4041588, callType=callType@entry=QMetaObject::InvokeMetaMethod) at ../../include/QtQml/5.15.3/QtQml/private/../../../../../src/qml/qml/qqmlpropertydata_p.h:285
#55 0x00007f95fa9f375a in QV4::QObjectMethod::callInternal (this=<optimized out>, thisObject=<optimized out>, argv=<optimized out>, argc=0) at jsruntime/qv4qobjectwrapper.cpp:2131
#56 0x00007f95faa2391b in QV4::Runtime::CallPropertyLookup::call(QV4::ExecutionEngine*, QV4::Value const&, unsigned int, QV4::Value*, int) () at jsruntime/qv4functionobject_p.h:172
#57 0x00007f95cfacb26c in ?? ()
#58 0x0000000000000000 in ?? ()

Reported using DrKonqi
Comment 2 Nate Graham 2021-12-30 18:15:16 UTC
Git commit 41770e254a067ae3f9a7865fa6741b07009a73f5 by Nate Graham, on behalf of Méven Car.
Committed on 30/12/2021 at 18:15.
Pushed by ngraham into branch 'master'.

KCM: better handle revert timer and buttons
FIXED-IN: 5.23.5

The issue was that the `revertSettings` method was called when the timer timed
out, the settings were reverted, the confirmMsg overlay closed and called a
second time `revertSettings` when the kcm backend has not been reloaded yet.

This makes sure this won't happen, as either the timer of the revert button
will revert the Settings but not simply closing `confirmMsg. This makes the
code simpler by removing book keeping but instead using only the events.

M  +5    -20   kcm/package/contents/ui/main.qml

https://invent.kde.org/plasma/kscreen/commit/41770e254a067ae3f9a7865fa6741b07009a73f5
Comment 3 Nate Graham 2022-02-11 18:15:07 UTC
*** Bug 449869 has been marked as a duplicate of this bug. ***
Comment 4 Nate Graham 2022-02-11 18:20:39 UTC
*** Bug 449953 has been marked as a duplicate of this bug. ***
Comment 5 Nate Graham 2022-02-11 18:21:19 UTC
Apparently not fixed; we are still getting crash reports with the same backtrace from 5.24.
Comment 6 Nate Graham 2022-02-11 18:23:07 UTC
Apparently the crash in KScreen::Config::clone() is unrelated to the presence or absence of the reversion dialog.
Comment 7 postix 2022-02-15 21:09:42 UTC
*** Bug 449318 has been marked as a duplicate of this bug. ***
Comment 8 Sven Eden 2022-07-14 05:32:31 UTC
Created attachment 150605 [details]
New crash information added by DrKonqi

systemsettings (5.25.2) using Qt 5.15.5

Maybe these additions help:

After the crash the timer does not come back, no matter how I change my screen resolution or which screen (one panel, two monitors)
=> That said, I had DrKonqi open while I tried to reproduce the crash.

-- Backtrace (Reduced):
#6  QSharedPointer<KScreen::Screen>::data (this=<optimized out>) at /usr/include/qt5/QtCore/qsharedpointer_impl.h:301
#7  QSharedPointer<KScreen::Screen>::operator-> (this=<optimized out>) at /usr/include/qt5/QtCore/qsharedpointer_impl.h:307
#8  KScreen::Config::clone (this=0x0) at /data/portage/portage/kde-plasma/libkscreen-5.25.2/work/libkscreen-5.25.2/src/config.cpp:205
#9  0x00007f05bce0ea1f in ConfigHandler::updateInitialData (this=0x557a6d64e910) at /usr/include/qt5/QtCore/qsharedpointer_impl.h:301
#10 0x00007f05bce1100f in operator() (__closure=0x557a6f48c2a0) at /data/portage/portage/kde-plasma/kscreen-5.25.2/work/kscreen-5.25.2/kcm/kcm.cpp:180
Comment 9 Nicolas Fella 2022-08-16 09:40:37 UTC
*** Bug 457943 has been marked as a duplicate of this bug. ***
Comment 10 Nicolas Fella 2022-09-30 11:36:58 UTC
*** Bug 459848 has been marked as a duplicate of this bug. ***
Comment 11 Pawel 2022-10-03 06:41:59 UTC
FWIW, I cannot reproduce this on Wayland plasma 5.26 beta using OPs repro steps.
Comment 12 Nate Graham 2022-10-09 21:05:26 UTC
Patrick, can you reproduce it on Neon unstable?
Comment 13 Patrick Silva 2022-10-10 11:16:06 UTC
(In reply to Nate Graham from comment #12)
> Patrick, can you reproduce it on Neon unstable?

No.
Comment 14 Nate Graham 2022-10-10 19:14:01 UTC
Fantastic.