Bug 414116

Summary: Plasmashell aborted when its Wayland connection broke
Product: [Plasma] plasmashell Reporter: Matt Fagnani <matt.fagnani>
Component: generalAssignee: David Edmundson <kde>
Status: RESOLVED MOVED    
Severity: crash CC: matt.fagnani, plasma-bugs
Priority: NOR Keywords: drkonqi
Version: 5.16.5   
Target Milestone: 1.0   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: New crash information added by DrKonqi
New crash information added by DrKonqi
New crash information added by DrKonqi

Description Matt Fagnani 2019-11-13 23:36:04 UTC
Application: plasmashell (5.16.5)

Qt Version: 5.12.5
Frameworks Version: 5.64.0
Operating System: Linux 5.3.11-300.fc31.x86_64 x86_64
Distribution (Platform): Fedora RPMs

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

I updated from KF 5.61 to 5.64 in Plasma 5.16.5 on Wayland in Fedora 31. I logged out of Plasma. I logged into Plasma on Wayland from sddm. I noticed that the Task Manager and NetworkManager applet were semi-transparent. I opened System Settings. I typed transparent in the search bar and selected Desktop Behavior. I typed transparent in the search bar. I clicked on the box with the two arrows beside Blur. I disconnected from Wifi and connected to Ethernet using the NetworkManager applet. The System Settings window showed Not Responding in the title bar. plasmashell aborted with an error message that the Wayland connection had broken "The Wayland connection broke. Did the Wayland compositor die?". System Settings aborted with the same message.

- Unusual behavior I noticed:
The Task Manager disappeared. The background went black. plasmashell restarted automatically.

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

Thread 20 (Thread 0x7fec5b79d700 (LWP 5580)):
#0  0x00007fecf0d70b0d in QMutex::unlock() (this=this@entry=0x557307800d10) at /usr/include/c++/9/bits/atomic_base.h:769
#1  0x00007fecf0f6cbc2 in QMutexLocker::unlock() (this=<synthetic pointer>) at ../../include/QtCore/../../src/corelib/thread/qmutex.h:240
#2  QMutexLocker::~QMutexLocker() (this=<synthetic pointer>, __in_chrg=<optimized out>) at ../../include/QtCore/../../src/corelib/thread/qmutex.h:213
#3  QThreadData::canWaitLocked() (this=0x557307800ce0) at ../../include/QtCore/5.12.5/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:269
#4  postEventSourcePrepare(GSource*, gint*) (s=0x7fec54005a30, timeout=timeout@entry=0x7fec5b79cb14) at kernel/qeventdispatcher_glib.cpp:259
#5  0x00007fecef5dbd1a in g_main_context_prepare (context=context@entry=0x7fec5400e9a0, priority=priority@entry=0x7fec5b79cba0) at ../glib/gmain.c:3489
#6  0x00007fecef5dc6cb in g_main_context_iterate (context=context@entry=0x7fec5400e9a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:3897
#7  0x00007fecef5dc8d3 in g_main_context_iteration (context=0x7fec5400e9a0, may_block=may_block@entry=1) at ../glib/gmain.c:3978
#8  0x00007fecf0f6ccd3 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fec540060a0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#9  0x00007fecf0f16ceb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fec5b79cce0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#10 0x00007fecf0d6f395 in QThread::exec() (this=this@entry=0x5573078045c0) at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#11 0x00007fecf2adce8a in QQuickPixmapReader::run() (this=0x5573078045c0) at util/qquickpixmapcache.cpp:953
#12 0x00007fecf0d704e6 in QThreadPrivate::start(void*) (arg=0x5573078045c0) at thread/qthread_unix.cpp:361
#13 0x00007fecf01c44e2 in start_thread (arg=<optimized out>) at pthread_create.c:479
#14 0x00007fecf09e4643 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 19 (Thread 0x7feca0e02700 (LWP 5524)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x557309134734) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5573091346e0, cond=0x557309134708) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x557309134708, mutex=0x5573091346e0) at pthread_cond_wait.c:638
#3  0x00007fecf0d75ff3 in QWaitConditionPrivate::wait(QDeadlineTimer) (deadline=..., this=0x5573091346e0) at thread/qwaitcondition_unix.cpp:146
#4  QWaitCondition::wait(QMutex*, QDeadlineTimer) (this=<optimized out>, mutex=0x557309711a60, deadline=...) at thread/qwaitcondition_unix.cpp:225
#5  0x00007fecf0d76081 in QWaitCondition::wait(QMutex*, unsigned long) (this=this@entry=0x557309711a68, mutex=mutex@entry=0x557309711a60, time=time@entry=18446744073709551615) at ../../include/QtCore/../../src/corelib/kernel/qdeadlinetimer.h:68
#6  0x00007fecf2b691b9 in QSGRenderThreadEventQueue::takeEvent(bool) (wait=true, this=0x557309711a58) at scenegraph/qsgthreadedrenderloop.cpp:245
#7  QSGRenderThread::processEventsAndWaitForMore() (this=this@entry=0x5573097119e0) at scenegraph/qsgthreadedrenderloop.cpp:710
#8  0x00007fecf2b6945d in QSGRenderThread::run() (this=0x5573097119e0) at scenegraph/qsgthreadedrenderloop.cpp:739
#9  0x00007fecf0d704e6 in QThreadPrivate::start(void*) (arg=0x5573097119e0) at thread/qthread_unix.cpp:361
#10 0x00007fecf01c44e2 in start_thread (arg=<optimized out>) at pthread_create.c:479
#11 0x00007fecf09e4643 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 18 (Thread 0x7fec94c60700 (LWP 5523)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x55730967922c) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5573096791d8, cond=0x557309679200) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x557309679200, mutex=0x5573096791d8) at pthread_cond_wait.c:638
#3  0x00007fecd72b1e6b in cnd_wait (mtx=0x5573096791d8, cond=0x557309679200) at ../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x55730989ec40) at ../src/util/u_queue.c:272
#5  0x00007fecd72b1a7b in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#6  0x00007fecf01c44e2 in start_thread (arg=<optimized out>) at pthread_create.c:479
#7  0x00007fecf09e4643 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 17 (Thread 0x7fec6b7f9700 (LWP 4974)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x5573080d0cc0) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5573080d0c70, cond=0x5573080d0c98) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x5573080d0c98, mutex=0x5573080d0c70) at pthread_cond_wait.c:638
#3  0x00007fecf0d75ff3 in QWaitConditionPrivate::wait(QDeadlineTimer) (deadline=..., this=0x5573080d0c70) at thread/qwaitcondition_unix.cpp:146
#4  QWaitCondition::wait(QMutex*, QDeadlineTimer) (this=<optimized out>, mutex=0x557309292a30, deadline=...) at thread/qwaitcondition_unix.cpp:225
#5  0x00007fecf0d76081 in QWaitCondition::wait(QMutex*, unsigned long) (this=this@entry=0x557309292a38, mutex=mutex@entry=0x557309292a30, time=time@entry=18446744073709551615) at ../../include/QtCore/../../src/corelib/kernel/qdeadlinetimer.h:68
#6  0x00007fecf2b691b9 in QSGRenderThreadEventQueue::takeEvent(bool) (wait=true, this=0x557309292a28) at scenegraph/qsgthreadedrenderloop.cpp:245
#7  QSGRenderThread::processEventsAndWaitForMore() (this=this@entry=0x5573092929b0) at scenegraph/qsgthreadedrenderloop.cpp:710
#8  0x00007fecf2b6945d in QSGRenderThread::run() (this=0x5573092929b0) at scenegraph/qsgthreadedrenderloop.cpp:739
#9  0x00007fecf0d704e6 in QThreadPrivate::start(void*) (arg=0x5573092929b0) at thread/qthread_unix.cpp:361
#10 0x00007fecf01c44e2 in start_thread (arg=<optimized out>) at pthread_create.c:479
#11 0x00007fecf09e4643 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 16 (Thread 0x7fec6bffa700 (LWP 4973)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x557309cf3788) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x557309cf3738, cond=0x557309cf3760) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x557309cf3760, mutex=0x557309cf3738) at pthread_cond_wait.c:638
#3  0x00007fecd72b1e6b in cnd_wait (mtx=0x557309cf3738, cond=0x557309cf3760) at ../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x5573091b6790) at ../src/util/u_queue.c:272
#5  0x00007fecd72b1a7b in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#6  0x00007fecf01c44e2 in start_thread (arg=<optimized out>) at pthread_create.c:479
#7  0x00007fecf09e4643 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 15 (Thread 0x7fec96522700 (LWP 4950)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x557308e0b784) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x557308e0b730, cond=0x557308e0b758) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x557308e0b758, mutex=0x557308e0b730) at pthread_cond_wait.c:638
#3  0x00007fecf0d75ff3 in QWaitConditionPrivate::wait(QDeadlineTimer) (deadline=..., this=0x557308e0b730) at thread/qwaitcondition_unix.cpp:146
#4  QWaitCondition::wait(QMutex*, QDeadlineTimer) (this=<optimized out>, mutex=0x557307ad8a30, deadline=...) at thread/qwaitcondition_unix.cpp:225
#5  0x00007fecf0d76081 in QWaitCondition::wait(QMutex*, unsigned long) (this=this@entry=0x557307ad8a38, mutex=mutex@entry=0x557307ad8a30, time=time@entry=18446744073709551615) at ../../include/QtCore/../../src/corelib/kernel/qdeadlinetimer.h:68
#6  0x00007fecf2b691b9 in QSGRenderThreadEventQueue::takeEvent(bool) (wait=true, this=0x557307ad8a28) at scenegraph/qsgthreadedrenderloop.cpp:245
#7  QSGRenderThread::processEventsAndWaitForMore() (this=this@entry=0x557307ad89b0) at scenegraph/qsgthreadedrenderloop.cpp:710
#8  0x00007fecf2b6945d in QSGRenderThread::run() (this=0x557307ad89b0) at scenegraph/qsgthreadedrenderloop.cpp:739
#9  0x00007fecf0d704e6 in QThreadPrivate::start(void*) (arg=0x557307ad89b0) at thread/qthread_unix.cpp:361
#10 0x00007fecf01c44e2 in start_thread (arg=<optimized out>) at pthread_create.c:479
#11 0x00007fecf09e4643 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 14 (Thread 0x7fec96d23700 (LWP 4949)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x557308eeadb8) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x557308eead68, cond=0x557308eead90) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x557308eead90, mutex=0x557308eead68) at pthread_cond_wait.c:638
#3  0x00007fecd72b1e6b in cnd_wait (mtx=0x557308eead68, cond=0x557308eead90) at ../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x557308f09110) at ../src/util/u_queue.c:272
#5  0x00007fecd72b1a7b in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#6  0x00007fecf01c44e2 in start_thread (arg=<optimized out>) at pthread_create.c:479
#7  0x00007fecf09e4643 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 13 (Thread 0x7feca178a700 (LWP 4930)):
#0  0x00007fecf09d9a1f in __GI___poll (fds=0x7fec900029e0, nfds=1, timeout=841885) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fecef5dc79e in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7fec900029e0, timeout=<optimized out>, context=0x7fec90000c30) at ../glib/gmain.c:4216
#2  g_main_context_iterate (context=context@entry=0x7fec90000c30, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:3912
#3  0x00007fecef5dc8d3 in g_main_context_iteration (context=0x7fec90000c30, may_block=may_block@entry=1) at ../glib/gmain.c:3978
#4  0x00007fecf0f6ccd3 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fec90000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#5  0x00007fecf0f16ceb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7feca1789ce0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#6  0x00007fecf0d6f395 in QThread::exec() (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#7  0x00007feca1fd8c4c in KCupsConnection::run() () at /lib64/libkcupslib.so
#8  0x00007fecf0d704e6 in QThreadPrivate::start(void*) (arg=0x5573085435c0) at thread/qthread_unix.cpp:361
#9  0x00007fecf01c44e2 in start_thread (arg=<optimized out>) at pthread_create.c:479
#10 0x00007fecf09e4643 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 12 (Thread 0x7fecab7fe700 (LWP 4814)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x55730701f9e0) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55730701f990, cond=0x55730701f9b8) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x55730701f9b8, mutex=0x55730701f990) at pthread_cond_wait.c:638
#3  0x00007fecf0d75ff3 in QWaitConditionPrivate::wait(QDeadlineTimer) (deadline=..., this=0x55730701f990) at thread/qwaitcondition_unix.cpp:146
#4  QWaitCondition::wait(QMutex*, QDeadlineTimer) (this=<optimized out>, mutex=0x557307952020, deadline=...) at thread/qwaitcondition_unix.cpp:225
#5  0x00007fecf0d76081 in QWaitCondition::wait(QMutex*, unsigned long) (this=this@entry=0x557307952028, mutex=mutex@entry=0x557307952020, time=time@entry=18446744073709551615) at ../../include/QtCore/../../src/corelib/kernel/qdeadlinetimer.h:68
#6  0x00007fecf2b691b9 in QSGRenderThreadEventQueue::takeEvent(bool) (wait=true, this=0x557307952018) at scenegraph/qsgthreadedrenderloop.cpp:245
#7  QSGRenderThread::processEventsAndWaitForMore() (this=this@entry=0x557307951fa0) at scenegraph/qsgthreadedrenderloop.cpp:710
#8  0x00007fecf2b6945d in QSGRenderThread::run() (this=0x557307951fa0) at scenegraph/qsgthreadedrenderloop.cpp:739
#9  0x00007fecf0d704e6 in QThreadPrivate::start(void*) (arg=0x557307951fa0) at thread/qthread_unix.cpp:361
#10 0x00007fecf01c44e2 in start_thread (arg=<optimized out>) at pthread_create.c:479
#11 0x00007fecf09e4643 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 11 (Thread 0x7fecabfff700 (LWP 4810)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x557307af611c) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x557307af60c8, cond=0x557307af60f0) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x557307af60f0, mutex=0x557307af60c8) at pthread_cond_wait.c:638
#3  0x00007fecd72b1e6b in cnd_wait (mtx=0x557307af60c8, cond=0x557307af60f0) at ../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x557307b14470) at ../src/util/u_queue.c:272
#5  0x00007fecd72b1a7b in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#6  0x00007fecf01c44e2 in start_thread (arg=<optimized out>) at pthread_create.c:479
#7  0x00007fecf09e4643 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 10 (Thread 0x7feccaa89700 (LWP 4715)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x5573072d70a0) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5573072d7050, cond=0x5573072d7078) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x5573072d7078, mutex=0x5573072d7050) at pthread_cond_wait.c:638
#3  0x00007fecd72b1e6b in cnd_wait (mtx=0x5573072d7050, cond=0x5573072d7078) at ../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x5573072d8960) at ../src/util/u_queue.c:272
#5  0x00007fecd72b1a7b in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#6  0x00007fecf01c44e2 in start_thread (arg=<optimized out>) at pthread_create.c:479
#7  0x00007fecf09e4643 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 9 (Thread 0x7feccb28a700 (LWP 4714)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x5573072d70a0) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5573072d7050, cond=0x5573072d7078) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x5573072d7078, mutex=0x5573072d7050) at pthread_cond_wait.c:638
#3  0x00007fecd72b1e6b in cnd_wait (mtx=0x5573072d7050, cond=0x5573072d7078) at ../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x5573072d7970) at ../src/util/u_queue.c:272
#5  0x00007fecd72b1a7b in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#6  0x00007fecf01c44e2 in start_thread (arg=<optimized out>) at pthread_create.c:479
#7  0x00007fecf09e4643 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 8 (Thread 0x7fecd4a4f700 (LWP 4713)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x5573072d69a4) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5573072d6950, cond=0x5573072d6978) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x5573072d6978, mutex=0x5573072d6950) at pthread_cond_wait.c:638
#3  0x00007fecd72b1e6b in cnd_wait (mtx=0x5573072d6950, cond=0x5573072d6978) at ../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x5573072d7730) at ../src/util/u_queue.c:272
#5  0x00007fecd72b1a7b in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#6  0x00007fecf01c44e2 in start_thread (arg=<optimized out>) at pthread_create.c:479
#7  0x00007fecf09e4643 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 7 (Thread 0x7fecd5250700 (LWP 4712)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x5573072d69a4) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5573072d6950, cond=0x5573072d6978) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x5573072d6978, mutex=0x5573072d6950) at pthread_cond_wait.c:638
#3  0x00007fecd72b1e6b in cnd_wait (mtx=0x5573072d6950, cond=0x5573072d6978) at ../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x5573072d8900) at ../src/util/u_queue.c:272
#5  0x00007fecd72b1a7b in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#6  0x00007fecf01c44e2 in start_thread (arg=<optimized out>) at pthread_create.c:479
#7  0x00007fecf09e4643 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 0x7fecd5a51700 (LWP 4711)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x5573072d69a4) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5573072d6950, cond=0x5573072d6978) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x5573072d6978, mutex=0x5573072d6950) at pthread_cond_wait.c:638
#3  0x00007fecd72b1e6b in cnd_wait (mtx=0x5573072d6950, cond=0x5573072d6978) at ../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x5573072d86e0) at ../src/util/u_queue.c:272
#5  0x00007fecd72b1a7b in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#6  0x00007fecf01c44e2 in start_thread (arg=<optimized out>) at pthread_create.c:479
#7  0x00007fecf09e4643 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7fecd6252700 (LWP 4710)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x5573072d7478) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5573072d7428, cond=0x5573072d7450) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x5573072d7450, mutex=0x5573072d7428) at pthread_cond_wait.c:638
#3  0x00007fecd72b1e6b in cnd_wait (mtx=0x5573072d7428, cond=0x5573072d7450) at ../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x5573072d8020) at ../src/util/u_queue.c:272
#5  0x00007fecd72b1a7b in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#6  0x00007fecf01c44e2 in start_thread (arg=<optimized out>) at pthread_create.c:479
#7  0x00007fecf09e4643 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7fecdceaa700 (LWP 4708)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x5573072d3358) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5573072d3308, cond=0x5573072d3330) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x5573072d3330, mutex=0x5573072d3308) at pthread_cond_wait.c:638
#3  0x00007fecd72b1e6b in cnd_wait (mtx=0x5573072d3308, cond=0x5573072d3330) at ../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x5573072d1d60) at ../src/util/u_queue.c:272
#5  0x00007fecd72b1a7b in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#6  0x00007fecf01c44e2 in start_thread (arg=<optimized out>) at pthread_create.c:479
#7  0x00007fecf09e4643 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7fecde752700 (LWP 4679)):
#0  __GI___clock_gettime (clock_id=clock_id@entry=1, tp=tp@entry=0x7fecde751a50) at ../sysdeps/unix/sysv/linux/clock_gettime.c:35
#1  0x00007fecf0f6c4c5 in qt_clock_gettime (ts=0x7fecde751a50, clock=1) at kernel/qelapsedtimer_unix.cpp:175
#2  do_gettime (frac=<synthetic pointer>, sec=<synthetic pointer>) at kernel/qelapsedtimer_unix.cpp:166
#3  qt_gettime() () at kernel/qelapsedtimer_unix.cpp:175
#4  0x00007fecf0f6b00d in QTimerInfoList::updateCurrentTime() (this=this@entry=0x7fecd0004d10) at kernel/qtimerinfo_unix.cpp:91
#5  0x00007fecf0f6b419 in QTimerInfoList::timerWait(timespec&) (this=0x7fecd0004d10, tm=...) at kernel/qtimerinfo_unix.cpp:388
#6  0x00007fecf0f6c984 in timerSourcePrepareHelper(GTimerSource*, gint*) (src=<optimized out>, timeout=timeout@entry=0x7fecde751b34) at kernel/qeventdispatcher_glib.cpp:137
#7  0x00007fecf0f6ca32 in timerSourcePrepare(GSource*, gint*) (source=<optimized out>, timeout=timeout@entry=0x7fecde751b34) at kernel/qeventdispatcher_glib.cpp:165
#8  0x00007fecef5dbd1a in g_main_context_prepare (context=context@entry=0x7fecd0000c30, priority=priority@entry=0x7fecde751bc0) at ../glib/gmain.c:3489
#9  0x00007fecef5dc6cb in g_main_context_iterate (context=context@entry=0x7fecd0000c30, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:3897
#10 0x00007fecef5dc8d3 in g_main_context_iteration (context=0x7fecd0000c30, may_block=may_block@entry=1) at ../glib/gmain.c:3978
#11 0x00007fecf0f6ccd3 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fecd0000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#12 0x00007fecf0f16ceb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fecde751d00, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#13 0x00007fecf0d6f395 in QThread::exec() (this=this@entry=0x5573070324b0) at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#14 0x00007fecf27ee119 in QQmlThreadPrivate::run() (this=0x5573070324b0) at qml/ftw/qqmlthread.cpp:148
#15 0x00007fecf0d704e6 in QThreadPrivate::start(void*) (arg=0x5573070324b0) at thread/qthread_unix.cpp:361
#16 0x00007fecf01c44e2 in start_thread (arg=<optimized out>) at pthread_create.c:479
#17 0x00007fecf09e4643 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7fecdf99a700 (LWP 4600)):
#0  __GI___libc_read (nbytes=16, buf=0x7fecdf999ad0, fd=5) at ../sysdeps/unix/sysv/linux/read.c:26
#1  __GI___libc_read (fd=5, buf=buf@entry=0x7fecdf999ad0, nbytes=nbytes@entry=16) at ../sysdeps/unix/sysv/linux/read.c:24
#2  0x00007fecef62446f in read (__nbytes=16, __buf=0x7fecdf999ad0, __fd=<optimized out>) at /usr/include/bits/unistd.h:44
#3  g_wakeup_acknowledge (wakeup=0x557306f8b9c0) at ../glib/gwakeup.c:210
#4  0x00007fecef5dc2e7 in g_main_context_check (context=context@entry=0x7fecd8000c30, max_priority=2147483647, fds=fds@entry=0x7fecd80029e0, n_fds=n_fds@entry=1) at ../glib/gmain.c:3695
#5  0x00007fecef5dc742 in g_main_context_iterate (context=context@entry=0x7fecd8000c30, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:3914
#6  0x00007fecef5dc8d3 in g_main_context_iteration (context=0x7fecd8000c30, may_block=may_block@entry=1) at ../glib/gmain.c:3978
#7  0x00007fecf0f6ccd3 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fecd8000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#8  0x00007fecf0f16ceb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fecdf999cf0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#9  0x00007fecf0d6f395 in QThread::exec() (this=this@entry=0x7fecf180e060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#10 0x00007fecf178af4a in QDBusConnectionManager::run() (this=0x7fecf180e060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:178
#11 0x00007fecf0d704e6 in QThreadPrivate::start(void*) (arg=0x7fecf180e060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:361
#12 0x00007fecf01c44e2 in start_thread (arg=<optimized out>) at pthread_create.c:479
#13 0x00007fecf09e4643 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7fecf2f6fd00 (LWP 4549)):
[KCrash Handler]
#6  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#7  0x00007fecf09088d9 in __GI_abort () at abort.c:79
#8  0x00007fecf0d3ab1b in qt_message_fatal (context=..., message=<synthetic pointer>...) at global/qlogging.cpp:1907
#9  QMessageLogger::fatal(char const*, ...) const (this=this@entry=0x7ffd560e2c90, msg=msg@entry=0x7fecdffb2a00 "The Wayland connection broke. Did the Wayland compositor die?") at global/qlogging.cpp:888
#10 0x00007fecdff3108b in QtWaylandClient::QWaylandDisplay::checkError() const (this=<optimized out>) at /usr/include/qt5/QtCore/qlogging.h:91
#11 QtWaylandClient::QWaylandDisplay::checkError() const (this=<optimized out>) at qwaylanddisplay.cpp:170
#12 0x00007fecdff3ca4e in QtWaylandClient::QWaylandDisplay::flushRequests() (this=0x557306f53db0) at qwaylanddisplay.cpp:188
#13 0x00007fecf0f41dfb in QMetaObject::activate(QObject*, int, int, void**) (sender=0x557306f7fdf0, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3803
#14 0x00007fecf0f6cc86 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x557306f7fdf0, flags=...) at kernel/qeventdispatcher_glib.cpp:409
#15 0x00007fecf0f16ceb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffd560e2e90, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#16 0x00007fecf0f1ea16 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#17 0x00005573050dd7e4 in main ()
[Inferior 1 (process 4549) detached]

Possible duplicates by query: bug 401442, bug 400533, bug 392099, bug 392092, bug 388223.

Reported using DrKonqi
Comment 1 Christoph Feck 2019-12-04 01:34:23 UTC
Superseeded by your newer report, bug 414220.
Comment 2 Matt Fagnani 2020-02-12 02:08:17 UTC
Created attachment 125881 [details]
New crash information added by DrKonqi

plasmashell (5.17.90) using Qt 5.13.2

- What I was doing when the application crashed:

I was using Plasma 5.17.90 on Wayland in Fedora Rawhide/32 with Qt 5.13.2, KF 5.67.0. I opened konsole. I ran coredumpctl gdb on a plasmashell login crash. gdb aborted while processing the debuginfo files. konsole showed Not responding in its title bar, and its colours faded. konsole aborted with an error "The Wayland connection broke. Did the Wayland compositor die?". plasmashell aborted with the same error a few seconds after konsole did. The problem was likely in Qt particularly qtwayland given the trace of the crashing thread.

- Unusual behavior I noticed:
The background went black. plasmashell restarted automatically.

-- Backtrace (Reduced):
#6  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#7  0x00007fc87da48895 in __GI_abort () at abort.c:79
#8  0x00007fc87de6da25 in qt_message_fatal (message=<synthetic pointer>..., context=...) at global/qlogging.cpp:1907
#9  QMessageLogger::fatal(char const*, ...) const (this=this@entry=0x7ffddcd479b0, msg=msg@entry=0x7fc86d0ede30 "The Wayland connection broke. Did the Wayland compositor die?") at global/qlogging.cpp:888
#10 0x00007fc86d04d81f in QtWaylandClient::QWaylandDisplay::checkError() const (this=<optimized out>) at /usr/include/qt5/QtCore/qlogging.h:91
Comment 3 Matt Fagnani 2020-07-13 14:32:14 UTC
Created attachment 130090 [details]
New crash information added by DrKonqi

plasmashell (5.19.3) using Qt 5.14.2

- What I was doing when the application crashed:

I logged into Plasma 5.19.3 on Wayland in Fedora Rawhide with Qt 5.14.2, KF 5.72.0 from sddm. I've continued to see these plasmashell crashes where the Wayland connection broke occasionally when logging in and at other times like when using Firefox. The crashes happened particularly when there's been high I/O to the drive Fedora was on. Several KDE programs aborted each time I logged out of Plasma 5.19.3 and earlier on Wayland with the same error. Is there a setting that could increase something like a timeout duration for Qt programs before the Wayland connection is considered to be broken?

- Unusual behavior I noticed:
The background went black and automatically reappeared.

-- Backtrace (Reduced):
#4  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:49
#5  0x00007f28fadfa8a4 in __GI_abort () at abort.c:79
#6  0x00007f28fb21da7f in qt_message_fatal (message=<synthetic pointer>..., context=...) at global/qlogging.cpp:1914
#7  QMessageLogger::fatal (this=this@entry=0x7ffe676728f0, msg=msg@entry=0x7f28e997c160 "The Wayland connection broke. Did the Wayland compositor die?") at global/qlogging.cpp:893
#8  0x00007f28e98ff8a9 in QtWaylandClient::QWaylandDisplay::checkError (this=<optimized out>) at /usr/include/qt5/QtCore/qlogging.h:90
Comment 4 Matt Fagnani 2020-10-20 10:10:15 UTC
Created attachment 132580 [details]
New crash information added by DrKonqi

plasmashell (5.19.5) using Qt 5.15.1

- What I was doing when the application crashed:

I logged into Plasma 5.19.5 on Wayland in Fedora 33. I clicked on the Network Manager applet then on the connection. plasmashell stopped responding for about 10 seconds. plasmashell aborted with the error  "The Wayland connection broke. Did the Wayland compositor die?" The journal showed the following errors at the time of the crash.

Oct 20 05:44:23 plasmashell[1280]: file:///usr/lib64/qt5/qml/org/kde/plasma/extras/ExpandableListItem4/qt5/qml/org/kde/plasma/extras/ExpandableListItem.qml:327: TypeError: Cannot read property 'width' of null
Oct 20 05:44:23 plasmashell[1280]: The Wayland connection broke. Did the Wayland compositor die?

The screen turned black. plasmashell reappeared. This crash has happened before, but it's infrequent.

-- Backtrace (Reduced):
#4  __GI_raise (sig=<optimized out>) at ../sysdeps/unix/sysv/linux/raise.c:49
#5  0x00007ff9e5ccb8a4 in __GI_abort () at abort.c:79
#6  0x00007ff9e60f0b07 in qt_message_fatal (message=<synthetic pointer>..., context=...) at global/qlogging.cpp:1914
#7  QMessageLogger::fatal(char const*, ...) const (this=<optimized out>, msg=<optimized out>) at global/qlogging.cpp:893
#8  0x00007ff9d4839d89 in QtWaylandClient::QWaylandDisplay::checkError() const (this=<optimized out>) at /usr/include/qt5/QtCore/qlogging.h:90