Bug 418244

Summary: plasmashell segmentation fault in KScreen::GetConfigOperation::start when logging into Plasma 5.18.2 on Wayland
Product: KScreen Reporter: Matt Fagnani <matt.fagnani>
Component: libkscreenAssignee: kscreen-bugs-null <kscreen-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: kde, plasma-bugs, rdieter, subdiff
Priority: NOR Keywords: drkonqi
Version: git   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In:

Description Matt Fagnani 2020-02-27 03:13:40 UTC
Application: plasmashell (5.18.2)

Qt Version: 5.13.2
Frameworks Version: 5.67.0
Operating System: Linux 5.6.0-0.rc3.git0.1.fc32.x86_64 x86_64
Windowing system: Wayland
Distribution: Fedora 32 (Thirty Two)

-- Information about the crash:
- What I was doing when the application crashed:

I updated to Plasma 5.18.2 in a Fedora 32 KDE Plasma spin installation with KF5 5.67, Qt 5.13.2, Mesa 20.0.0. I logged into Plasma on Wayland from sddm. 
A plasmashell segmentation fault in KScreen::GetConfigOperation::start happened at /usr/src/debug/libkscreen-qt5-5.18.2-1.fc32.x86_64/src/getconfigoperation.cpp:174.
I haven't seen crashes with this trace with Plasma 5.18.1 and earlier. This crash happened 2/2 times when logging into Plasma 5.18.2.

- Unusual behavior I noticed:
The screen went black while logging in after the splash screen. plasmashell restarted automatically. After the first such crash, the desktop icons were in three columns while they were normally in two columns. The icons were normal after the second crash and plasmashell restart.

The crash can be reproduced every time.

-- Backtrace:
Application: Plasma (plasmashell), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
29	  return SYSCALL_CANCEL (poll, fds, nfds, timeout);
[Current thread is 1 (Thread 0x7fc64a892580 (LWP 1425))]

Thread 20 (Thread 0x7fc5f4e52700 (LWP 1867)):
#0  futex_abstimed_wait_cancelable (private=0, abstime=0x7fc5f4e51cc0, clockid=<optimized out>, expected=0, futex_word=0x5617e0e0a130) at ../sysdeps/nptl/futex-internal.h:320
#1  __pthread_cond_wait_common (abstime=0x7fc5f4e51cc0, clockid=<optimized out>, mutex=0x5617e0e0a0e0, cond=0x5617e0e0a108) at pthread_cond_wait.c:520
#2  __pthread_cond_timedwait (cond=0x5617e0e0a108, mutex=0x5617e0e0a0e0, abstime=0x7fc5f4e51cc0) at pthread_cond_wait.c:656
#3  0x00007fc648f9f4d9 in QWaitConditionPrivate::wait_relative(QDeadlineTimer) (deadline=..., this=0x5617e0e0a0e0) at thread/qwaitcondition_unix.cpp:136
#4  QWaitConditionPrivate::wait(QDeadlineTimer) (deadline=..., deadline=..., this=0x5617e0e0a0e0) at thread/qwaitcondition_unix.cpp:144
#5  QWaitCondition::wait(QMutex*, QDeadlineTimer) (this=<optimized out>, mutex=0x5617e0e09f70, deadline=...) at thread/qwaitcondition_unix.cpp:225
#6  0x00007fc648f9f5fb in QWaitCondition::wait(QMutex*, unsigned long) (this=0x5617e08884a0, mutex=0x5617e0e09f70, time=<optimized out>) at thread/qwaitcondition_unix.cpp:209
#7  0x00007fc648f9d5e3 in QThreadPoolThread::run() (this=0x5617e0888490) at ../../include/QtCore/../../src/corelib/thread/qmutex.h:240
#8  0x00007fc648f999b6 in QThreadPrivate::start(void*) (arg=0x5617e0888490) at thread/qthread_unix.cpp:360
#9  0x00007fc6484b4432 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007fc648c1c833 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 19 (Thread 0x7fc5db5e9700 (LWP 1851)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x5617e0a82dd8) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5617e0a82d88, cond=0x5617e0a82db0) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x5617e0a82db0, mutex=0x5617e0a82d88) at pthread_cond_wait.c:638
#3  0x00007fc62f30a07b in cnd_wait (mtx=0x5617e0a82d88, cond=0x5617e0a82db0) at ../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x5617e0aa1180) at ../src/util/u_queue.c:275
#5  0x00007fc62f309b5b in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#6  0x00007fc6484b4432 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7  0x00007fc648c1c833 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 18 (Thread 0x7fc5f5a7a700 (LWP 1833)):
#0  g_source_ref (source=<optimized out>) at ../glib/gmain.c:2166
#1  0x00007fc64782b8c8 in g_source_iter_next (iter=iter@entry=0x7fc5f5a79b90, source=source@entry=0x7fc5f5a79b88) at ../glib/gmain.c:1046
#2  0x00007fc64782ce8b in g_main_context_prepare (context=context@entry=0x7fc5d4000c30, priority=priority@entry=0x7fc5f5a79c10) at ../glib/gmain.c:3597
#3  0x00007fc64782d96b in g_main_context_iterate (context=context@entry=0x7fc5d4000c30, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4027
#4  0x00007fc64782db73 in g_main_context_iteration (context=0x7fc5d4000c30, may_block=may_block@entry=1) at ../glib/gmain.c:4108
#5  0x00007fc64916fb93 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fc5d4000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#6  0x00007fc6491231db in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fc5f5a79d60, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#7  0x00007fc648f986e7 in QThread::exec() (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#8  0x00007fc5f62ef62c in KCupsConnection::run() () at /lib64/libkcupslib.so
#9  0x00007fc648f999b6 in QThreadPrivate::start(void*) (arg=0x5617e07c5b00) at thread/qthread_unix.cpp:360
#10 0x00007fc6484b4432 in start_thread (arg=<optimized out>) at pthread_create.c:477
#11 0x00007fc648c1c833 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 17 (Thread 0x7fc5fd21e700 (LWP 1820)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x5617e0054504) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5617e00544b0, cond=0x5617e00544d8) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x5617e00544d8, mutex=0x5617e00544b0) at pthread_cond_wait.c:638
#3  0x00007fc648f9f5a3 in QWaitConditionPrivate::wait(QDeadlineTimer) (deadline=..., deadline=..., this=0x5617e00544b0) at thread/qwaitcondition_unix.cpp:146
#4  QWaitCondition::wait(QMutex*, QDeadlineTimer) (this=<optimized out>, mutex=0x5617dffb74d0, deadline=...) at thread/qwaitcondition_unix.cpp:225
#5  0x00007fc64aa5af64 in QSGRenderThreadEventQueue::takeEvent(bool) (wait=true, this=0x5617dffb74c8) at scenegraph/qsgthreadedrenderloop.cpp:245
#6  QSGRenderThread::processEventsAndWaitForMore() (this=this@entry=0x5617dffb7450) at scenegraph/qsgthreadedrenderloop.cpp:710
#7  0x00007fc64aa5c44d in QSGRenderThread::run() (this=0x5617dffb7450) at scenegraph/qsgthreadedrenderloop.cpp:739
#8  0x00007fc648f999b6 in QThreadPrivate::start(void*) (arg=0x5617dffb7450) at thread/qthread_unix.cpp:360
#9  0x00007fc6484b4432 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007fc648c1c833 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 16 (Thread 0x7fc5fda1f700 (LWP 1818)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x5617e012f078) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5617e012f028, cond=0x5617e012f050) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x5617e012f050, mutex=0x5617e012f028) at pthread_cond_wait.c:638
#3  0x00007fc62f30a07b in cnd_wait (mtx=0x5617e012f028, cond=0x5617e012f050) at ../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x5617e014d450) at ../src/util/u_queue.c:275
#5  0x00007fc62f309b5b in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#6  0x00007fc6484b4432 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7  0x00007fc648c1c833 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 15 (Thread 0x7fc5fe226700 (LWP 1817)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x5617e0098ae8) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5617e0098a98, cond=0x5617e0098ac0) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x5617e0098ac0, mutex=0x5617e0098a98) at pthread_cond_wait.c:638
#3  0x00007fc62f30a07b in cnd_wait (mtx=0x5617e0098a98, cond=0x5617e0098ac0) at ../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x5617e0053d60) at ../src/util/u_queue.c:275
#5  0x00007fc62f309b5b in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#6  0x00007fc6484b4432 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7  0x00007fc648c1c833 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 14 (Thread 0x7fc5ff432700 (LWP 1815)):
#0  0x00007fc64787c08d in g_mutex_lock (mutex=mutex@entry=0x7fc5e8000c30) at ../glib/gthread-posix.c:1481
#1  0x00007fc64782cba8 in g_main_context_release (context=0x7fc5e8000c30) at ../glib/gmain.c:3409
#2  0x00007fc64782d9fa in g_main_context_iterate (context=context@entry=0x7fc5e8000c30, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4049
#3  0x00007fc64782db73 in g_main_context_iteration (context=0x7fc5e8000c30, may_block=may_block@entry=1) at ../glib/gmain.c:4108
#4  0x00007fc64916fb93 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fc5e8000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#5  0x00007fc6491231db in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fc5ff431d60, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#6  0x00007fc648f986e7 in QThread::exec() (this=this@entry=0x5617df991180) at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#7  0x00007fc64a9db11a in QQuickPixmapReader::run() (this=0x5617df991180) at util/qquickpixmapcache.cpp:962
#8  0x00007fc648f999b6 in QThreadPrivate::start(void*) (arg=0x5617df991180) at thread/qthread_unix.cpp:360
#9  0x00007fc6484b4432 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007fc648c1c833 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 13 (Thread 0x7fc621f87700 (LWP 1808)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x5617dfc70618) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5617dfc705c8, cond=0x5617dfc705f0) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x5617dfc705f0, mutex=0x5617dfc705c8) at pthread_cond_wait.c:638
#3  0x00007fc62f30a07b in cnd_wait (mtx=0x5617dfc705c8, cond=0x5617dfc705f0) at ../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x5617dfc718b0) at ../src/util/u_queue.c:275
#5  0x00007fc62f309b5b in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#6  0x00007fc6484b4432 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7  0x00007fc648c1c833 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 12 (Thread 0x7fc622788700 (LWP 1807)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x5617dfc70618) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5617dfc705c8, cond=0x5617dfc705f0) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x5617dfc705f0, mutex=0x5617dfc705c8) at pthread_cond_wait.c:638
#3  0x00007fc62f30a07b in cnd_wait (mtx=0x5617dfc705c8, cond=0x5617dfc705f0) at ../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x5617dfc71870) at ../src/util/u_queue.c:275
#5  0x00007fc62f309b5b in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#6  0x00007fc6484b4432 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7  0x00007fc648c1c833 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 11 (Thread 0x7fc622f89700 (LWP 1806)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x5617dfc6ff10) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5617dfc6fec0, cond=0x5617dfc6fee8) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x5617dfc6fee8, mutex=0x5617dfc6fec0) at pthread_cond_wait.c:638
#3  0x00007fc62f30a07b in cnd_wait (mtx=0x5617dfc6fec0, cond=0x5617dfc6fee8) at ../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x5617dfc6f160) at ../src/util/u_queue.c:275
#5  0x00007fc62f309b5b in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#6  0x00007fc6484b4432 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7  0x00007fc648c1c833 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 10 (Thread 0x7fc62378a700 (LWP 1805)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x5617dfc6ff10) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5617dfc6fec0, cond=0x5617dfc6fee8) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x5617dfc6fee8, mutex=0x5617dfc6fec0) at pthread_cond_wait.c:638
#3  0x00007fc62f30a07b in cnd_wait (mtx=0x5617dfc6fec0, cond=0x5617dfc6fee8) at ../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x5617dfc6ef40) at ../src/util/u_queue.c:275
#5  0x00007fc62f309b5b in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#6  0x00007fc6484b4432 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7  0x00007fc648c1c833 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 9 (Thread 0x7fc62cab6700 (LWP 1804)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x5617dfc6ff14) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5617dfc6fec0, cond=0x5617dfc6fee8) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x5617dfc6fee8, mutex=0x5617dfc6fec0) at pthread_cond_wait.c:638
#3  0x00007fc62f30a07b in cnd_wait (mtx=0x5617dfc6fec0, cond=0x5617dfc6fee8) at ../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x5617dfc71810) at ../src/util/u_queue.c:275
#5  0x00007fc62f309b5b in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#6  0x00007fc6484b4432 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7  0x00007fc648c1c833 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 8 (Thread 0x7fc62d2b7700 (LWP 1803)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x5617dfbba918) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5617dfbba8c8, cond=0x5617dfbba8f0) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x5617dfbba8f0, mutex=0x5617dfbba8c8) at pthread_cond_wait.c:638
#3  0x00007fc62f30a07b in cnd_wait (mtx=0x5617dfbba8c8, cond=0x5617dfbba8f0) at ../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x5617dfc717b0) at ../src/util/u_queue.c:275
#5  0x00007fc62f309b5b in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#6  0x00007fc6484b4432 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7  0x00007fc648c1c833 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 7 (Thread 0x7fc62dab8700 (LWP 1802)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x5617dfbba918) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5617dfbba8c8, cond=0x5617dfbba8f0) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x5617dfbba8f0, mutex=0x5617dfbba8c8) at pthread_cond_wait.c:638
#3  0x00007fc62f30a07b in cnd_wait (mtx=0x5617dfbba8c8, cond=0x5617dfbba8f0) at ../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x5617dfc71770) at ../src/util/u_queue.c:275
#5  0x00007fc62f309b5b in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#6  0x00007fc6484b4432 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7  0x00007fc648c1c833 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 0x7fc62e2b9700 (LWP 1801)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x5617dfbba918) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5617dfbba8c8, cond=0x5617dfbba8f0) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x5617dfbba8f0, mutex=0x5617dfbba8c8) at pthread_cond_wait.c:638
#3  0x00007fc62f30a07b in cnd_wait (mtx=0x5617dfbba8c8, cond=0x5617dfbba8f0) at ../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x5617dfc71730) at ../src/util/u_queue.c:275
#5  0x00007fc62f309b5b in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#6  0x00007fc6484b4432 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7  0x00007fc648c1c833 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7fc62eaba700 (LWP 1800)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x5617dfbba918) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5617dfbba8c8, cond=0x5617dfbba8f0) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x5617dfbba8f0, mutex=0x5617dfbba8c8) at pthread_cond_wait.c:638
#3  0x00007fc62f30a07b in cnd_wait (mtx=0x5617dfbba8c8, cond=0x5617dfbba8f0) at ../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x5617dfc70fd0) at ../src/util/u_queue.c:275
#5  0x00007fc62f309b5b in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#6  0x00007fc6484b4432 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7  0x00007fc648c1c833 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7fc63527a700 (LWP 1799)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x5617dfc6bdcc) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5617dfc6bd78, cond=0x5617dfc6bda0) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x5617dfc6bda0, mutex=0x5617dfc6bd78) at pthread_cond_wait.c:638
#3  0x00007fc62f30a07b in cnd_wait (mtx=0x5617dfc6bd78, cond=0x5617dfc6bda0) at ../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x5617dfc68a80) at ../src/util/u_queue.c:275
#5  0x00007fc62f309b5b in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#6  0x00007fc6484b4432 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7  0x00007fc648c1c833 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7fc63694a700 (LWP 1773)):
#0  0x00007fc64782d282 in g_main_context_check (context=context@entry=0x7fc628000c30, max_priority=2147483647, fds=fds@entry=0x7fc6280029e0, n_fds=n_fds@entry=1) at ../glib/gmain.c:3799
#1  0x00007fc64782d9e3 in g_main_context_iterate (context=context@entry=0x7fc628000c30, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4044
#2  0x00007fc64782db73 in g_main_context_iteration (context=0x7fc628000c30, may_block=may_block@entry=1) at ../glib/gmain.c:4108
#3  0x00007fc64916fb93 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fc628000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#4  0x00007fc6491231db in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fc636949d80, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#5  0x00007fc648f986e7 in QThread::exec() (this=this@entry=0x5617df9dbcc0) at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#6  0x00007fc64a6f0d89 in QQmlThreadPrivate::run() (this=0x5617df9dbcc0) at qml/ftw/qqmlthread.cpp:152
#7  0x00007fc648f999b6 in QThreadPrivate::start(void*) (arg=0x5617df9dbcc0) at thread/qthread_unix.cpp:360
#8  0x00007fc6484b4432 in start_thread (arg=<optimized out>) at pthread_create.c:477
#9  0x00007fc648c1c833 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7fc637be2700 (LWP 1456)):
#0  0x00007fc647829b9d in g_source_unref_internal (source=0x7fc630005070, context=0x7fc630000c30, have_lock=1) at ../glib/gmain.c:2184
#1  0x00007fc64782b8e5 in g_source_iter_next (iter=iter@entry=0x7fc637be1b80, source=source@entry=0x7fc637be1b78) at ../glib/gmain.c:1049
#2  0x00007fc64782ce8b in g_main_context_prepare (context=context@entry=0x7fc630000c30, priority=priority@entry=0x7fc637be1c00) at ../glib/gmain.c:3597
#3  0x00007fc64782d96b in g_main_context_iterate (context=context@entry=0x7fc630000c30, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4027
#4  0x00007fc64782db73 in g_main_context_iteration (context=0x7fc630000c30, may_block=may_block@entry=1) at ../glib/gmain.c:4108
#5  0x00007fc64916fb93 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fc630000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#6  0x00007fc6491231db in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fc637be1d50, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#7  0x00007fc648f986e7 in QThread::exec() (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#8  0x00007fc64a0744da in QDBusConnectionManager::run() (this=0x7fc64a0e2060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:178
#9  0x00007fc648f999b6 in QThreadPrivate::start(void*) (arg=0x7fc64a0e2060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:360
#10 0x00007fc6484b4432 in start_thread (arg=<optimized out>) at pthread_create.c:477
#11 0x00007fc648c1c833 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7fc64a892580 (LWP 1425)):
[KCrash Handler]
#6  KScreen::GetConfigOperation::start() (this=0x5617dfe74700) at /usr/src/debug/libkscreen-qt5-5.18.2-1.fc32.x86_64/src/getconfigoperation.cpp:174
#7  0x00007fc64914b312 in QObject::event(QEvent*) (this=0x5617dfe74700, e=<optimized out>) at kernel/qobject.cpp:1260
#8  0x00007fc649a8ae66 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x5617dfe74700, e=0x5617e07ac470) at kernel/qapplication.cpp:3703
#9  0x00007fc649124860 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x5617dfe74700, event=0x5617e07ac470) at ../../include/QtCore/../../src/corelib/kernel/qobject.h:143
#10 0x00007fc649127af3 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x5617df8c6770) at kernel/qcoreapplication.cpp:1840
#11 0x00007fc6491700f7 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=s@entry=0x5617df8feff0) at kernel/qeventdispatcher_glib.cpp:277
#12 0x00007fc64782d71f in g_main_dispatch (context=0x5617df8ede40) at ../glib/gmain.c:3309
#13 g_main_context_dispatch (context=0x5617df8ede40) at ../glib/gmain.c:3974
#14 0x00007fc64782daa8 in g_main_context_iterate (context=context@entry=0x5617df8ede40, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4047
#15 0x00007fc64782db73 in g_main_context_iteration (context=0x5617df8ede40, may_block=may_block@entry=1) at ../glib/gmain.c:4108
#16 0x00007fc64916fb75 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x5617df9003d0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#17 0x00007fc6491231db in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffd9aef0ff0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#18 0x00007fc64912adb6 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#19 0x00005617df616b7f in main ()
[Inferior 1 (process 1425) detached]

The reporter indicates this bug may be a duplicate of or related to bug 418241.

Possible duplicates by query: bug 418241, bug 418232, bug 418221, bug 418216, bug 418167.

Reported using DrKonqi
Comment 1 Matt Fagnani 2020-02-27 04:53:42 UTC
I should've written that after the first such crash, the desktop icons were in four columns while they were normally in three columns. I've seen this crash 4/4 times when logging into Plasma 5.18.2 on Wayland. These plasmashell crashes might be related to the patch for the kded5 crashes when logging into Plasma 5.17.90 and later on Wayland at https://bugs.kde.org/show_bug.cgi?id=416566#c6 The kded5 crashing thread had functions with Config in their names in libkscreen-qt5 in frame #8 KScreen::WaylandConfig::applyConfig at /usr/src/debug/libkscreen-qt5-5.18.0-1.fc32.x86_64/backends/kwayland/waylandconfig.cpp:330
and #9 KScreen::SetConfigOperation::start() at /usr/src/debug/libkscreen-qt5-5.18.0-1.fc32.x86_64/src/setconfigoperation.cpp:129
https://bugs.kde.org/show_bug.cgi?id=416566#c2
Comment 2 Matt Fagnani 2020-02-27 20:55:03 UTC
A patch in GetConfigOperation::start at getconfigoperation.cpp:174-176 to fix a null pointer dereference where the segmentation fault occurred was at
https://cgit.kde.org/libkscreen.git/commit/?id=069bb65af0d0059391323f9ffd2edd9162d57588
https://phabricator.kde.org/D27625

The patch was listed in the 5.18.2 Changelog for libkscreen "Fix: handle when backend fails to load/initialize. Commit. Phabricator Code review D27625"
https://kde.org/announcements/plasma-5.18.1-5.18.2-changelog.php

The if block checking for null backend added by the commit doesn't appear in /usr/src/debug/libkscreen-qt5-5.18.2-1.fc32.x86_64/src/getconfigoperation.cpp at line 174. That patch might need to be added to fix these crashes.
Comment 3 Matt Fagnani 2020-02-29 19:58:36 UTC
This crash was fixed in Fedora in libkscreen-qt5-5.18.2-2.fc32 https://koji.fedoraproject.org/koji/buildinfo?buildID=1472018 which added the commit https://cgit.kde.org/libkscreen.git/commit/?id=069bb65af0d0059391323f9ffd2edd9162d57588 That patch was added to the libkscreen 5.18 branch after the 5.18.2 tag was created https://cgit.kde.org/libkscreen.git/log/?h=Plasma/5.18  I'm reassigning this report to kscreen. Thanks.
Comment 4 Roman Gilg 2020-02-29 21:43:57 UTC
Closed as fixed as reported
Comment 5 David Edmundson 2020-02-29 21:58:28 UTC
>The patch was listed in the 5.18.2 Changelog

Heh weird. 

According to git:
git tag --contains ff98585                                                                                   git branch --contains=ff98585                                                                                * Plasma/5.18

So the fact that it isn't in the release tarball isn't surprising, the changelog is broken.