Bug 413901 - Ksysguard aborted when its Wayland connection broke
Summary: Ksysguard aborted when its Wayland connection broke
Status: RESOLVED UPSTREAM
Alias: None
Product: ksysguard
Classification: Unmaintained
Component: general (show other bugs)
Version: 5.16.5
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: KSysGuard Developers
URL:
Keywords: drkonqi, wayland
Depends on:
Blocks:
 
Reported: 2019-11-07 03:24 UTC by Matt Fagnani
Modified: 2020-02-05 14:47 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Matt Fagnani 2019-11-07 03:24:13 UTC
Application: ksysguard (5.16.5)

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

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

I was running Plasma 5.16.5 on Wayland in Fedora 31. I updated the system with the updates-testing repo enabled using sudo dnf upgrade --refresh. The update was taking longer than usual, and the system was slowing down. I started ksysguard 5.16.5. ksysguard's title bar showed (Not Responding) and its colours were faded. I tried to click on the CPU column title to sort by it. After about a minute, ksysguard aborted with a message that the Wayland connection had broken in the journal and trace. 
ksysguard[3134]: The Wayland connection broke. Did the Wayland compositor die? 

No other programs showed such a message about the Wayland connection breaking in the journal. The update completed correctly after a few minutes. I saw a similar abort of konsole with the same "The Wayland connection broke" message three weeks ago https://bugs.kde.org/show_bug.cgi?id=413058

-- Backtrace:
Application: System Monitor (ksysguard), 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 0x7f33d8dd6840 (LWP 3134))]

Thread 10 (Thread 0x7f339effd700 (LWP 3143)):
#0  0x00007f33d94c7a1f in __GI___poll (fds=0x7f33880029e0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f33cf40279e in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7f33880029e0, timeout=<optimized out>, context=0x7f3388000c30) at ../glib/gmain.c:4216
#2  g_main_context_iterate (context=context@entry=0x7f3388000c30, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:3912
#3  0x00007f33cf4028d3 in g_main_context_iteration (context=0x7f3388000c30, may_block=may_block@entry=1) at ../glib/gmain.c:3978
#4  0x00007f33d7b5acd3 in QEventDispatcherGlib::processEvents (this=0x7f3388000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#5  0x00007f33d7b04ceb in QEventLoop::exec (this=this@entry=0x7f339effcd30, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#6  0x00007f33d795d395 in QThread::exec (this=this@entry=0x7f33d7f0c060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#7  0x00007f33d7e88f4a in QDBusConnectionManager::run (this=0x7f33d7f0c060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:178
#8  0x00007f33d795e4e6 in QThreadPrivate::start (arg=0x7f33d7f0c060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:361
#9  0x00007f33cfd2a4e2 in start_thread (arg=<optimized out>) at pthread_create.c:479
#10 0x00007f33d94d2643 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 9 (Thread 0x7f339f7fe700 (LWP 3142)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x555dd7d7ae18) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x555dd7d7adc8, cond=0x555dd7d7adf0) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x555dd7d7adf0, mutex=0x555dd7d7adc8) at pthread_cond_wait.c:638
#3  0x00007f33bd5d7e6b in cnd_wait (mtx=0x555dd7d7adc8, cond=0x555dd7d7adf0) at ../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x555dd7d99170) at ../src/util/u_queue.c:272
#5  0x00007f33bd5d7a7b in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#6  0x00007f33cfd2a4e2 in start_thread (arg=<optimized out>) at pthread_create.c:479
#7  0x00007f33d94d2643 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 8 (Thread 0x7f339ffff700 (LWP 3141)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x555dd797b8d0) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x555dd797b880, cond=0x555dd797b8a8) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x555dd797b8a8, mutex=0x555dd797b880) at pthread_cond_wait.c:638
#3  0x00007f33bd5d7e6b in cnd_wait (mtx=0x555dd797b880, cond=0x555dd797b8a8) at ../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x555dd797d180) at ../src/util/u_queue.c:272
#5  0x00007f33bd5d7a7b in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#6  0x00007f33cfd2a4e2 in start_thread (arg=<optimized out>) at pthread_create.c:479
#7  0x00007f33d94d2643 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 7 (Thread 0x7f33b4dec700 (LWP 3140)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x555dd797b8d0) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x555dd797b880, cond=0x555dd797b8a8) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x555dd797b8a8, mutex=0x555dd797b880) at pthread_cond_wait.c:638
#3  0x00007f33bd5d7e6b in cnd_wait (mtx=0x555dd797b880, cond=0x555dd797b8a8) at ../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x555dd797d140) at ../src/util/u_queue.c:272
#5  0x00007f33bd5d7a7b in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#6  0x00007f33cfd2a4e2 in start_thread (arg=<optimized out>) at pthread_create.c:479
#7  0x00007f33d94d2643 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 0x7f33b55ed700 (LWP 3139)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x555dd797b1d0) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x555dd797b180, cond=0x555dd797b1a8) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x555dd797b1a8, mutex=0x555dd797b180) at pthread_cond_wait.c:638
#3  0x00007f33bd5d7e6b in cnd_wait (mtx=0x555dd797b180, cond=0x555dd797b1a8) at ../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x555dd797bf70) at ../src/util/u_queue.c:272
#5  0x00007f33bd5d7a7b in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#6  0x00007f33cfd2a4e2 in start_thread (arg=<optimized out>) at pthread_create.c:479
#7  0x00007f33d94d2643 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7f33b5dee700 (LWP 3138)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x555dd797b1d0) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x555dd797b180, cond=0x555dd797b1a8) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x555dd797b1a8, mutex=0x555dd797b180) at pthread_cond_wait.c:638
#3  0x00007f33bd5d7e6b in cnd_wait (mtx=0x555dd797b180, cond=0x555dd797b1a8) at ../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x555dd797d100) at ../src/util/u_queue.c:272
#5  0x00007f33bd5d7a7b in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#6  0x00007f33cfd2a4e2 in start_thread (arg=<optimized out>) at pthread_create.c:479
#7  0x00007f33d94d2643 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7f33b65ef700 (LWP 3137)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x555dd797b1d0) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x555dd797b180, cond=0x555dd797b1a8) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x555dd797b1a8, mutex=0x555dd797b180) at pthread_cond_wait.c:638
#3  0x00007f33bd5d7e6b in cnd_wait (mtx=0x555dd797b180, cond=0x555dd797b1a8) at ../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x555dd797ced0) at ../src/util/u_queue.c:272
#5  0x00007f33bd5d7a7b in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#6  0x00007f33cfd2a4e2 in start_thread (arg=<optimized out>) at pthread_create.c:479
#7  0x00007f33d94d2643 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7f33b6df0700 (LWP 3136)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x555dd797bca8) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x555dd797bc58, cond=0x555dd797bc80) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x555dd797bc80, mutex=0x555dd797bc58) at pthread_cond_wait.c:638
#3  0x00007f33bd5d7e6b in cnd_wait (mtx=0x555dd797bc58, cond=0x555dd797bc80) at ../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x555dd797c850) at ../src/util/u_queue.c:272
#5  0x00007f33bd5d7a7b in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#6  0x00007f33cfd2a4e2 in start_thread (arg=<optimized out>) at pthread_create.c:479
#7  0x00007f33d94d2643 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f33b7f50700 (LWP 3135)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x555dd7977b78) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x555dd7977b28, cond=0x555dd7977b50) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x555dd7977b50, mutex=0x555dd7977b28) at pthread_cond_wait.c:638
#3  0x00007f33bd5d7e6b in cnd_wait (mtx=0x555dd7977b28, cond=0x555dd7977b50) at ../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x555dd79762b0) at ../src/util/u_queue.c:272
#5  0x00007f33bd5d7a7b in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#6  0x00007f33cfd2a4e2 in start_thread (arg=<optimized out>) at pthread_create.c:479
#7  0x00007f33d94d2643 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f33d8dd6840 (LWP 3134)):
[KCrash Handler]
#6  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#7  0x00007f33d93f68d9 in __GI_abort () at abort.c:79
#8  0x00007f33d7928b1b in qt_message_fatal (context=..., message=<synthetic pointer>...) at global/qlogging.cpp:1907
#9  QMessageLogger::fatal (this=this@entry=0x7ffca65173d0, msg=msg@entry=0x7f33bec00a00 "The Wayland connection broke. Did the Wayland compositor die?") at global/qlogging.cpp:888
#10 0x00007f33beb7f08b in QtWaylandClient::QWaylandDisplay::checkError (this=<optimized out>) at /usr/include/qt5/QtCore/qlogging.h:91
#11 QtWaylandClient::QWaylandDisplay::checkError (this=<optimized out>) at qwaylanddisplay.cpp:170
#12 0x00007f33beb8aa4e in QtWaylandClient::QWaylandDisplay::flushRequests (this=0x555dd78c8050) at qwaylanddisplay.cpp:188
#13 0x00007f33d7b2fdfb in QMetaObject::activate (sender=0x555dd7919dd0, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3803
#14 0x00007f33d7b3c08c in QSocketNotifier::activated (this=this@entry=0x555dd7919dd0, _t1=<optimized out>, _t2=...) at .moc/moc_qsocketnotifier.cpp:140
#15 0x00007f33d7b3c3f1 in QSocketNotifier::event (this=0x555dd7919dd0, e=0x7ffca65177c0) at kernel/qsocketnotifier.cpp:266
#16 0x00007f33d85c0ad6 in QApplicationPrivate::notify_helper (this=this@entry=0x555dd78c1e80, receiver=receiver@entry=0x555dd7919dd0, e=e@entry=0x7ffca65177c0) at kernel/qapplication.cpp:3700
#17 0x00007f33d85ca150 in QApplication::notify (this=0x7ffca6517aa0, receiver=0x555dd7919dd0, e=0x7ffca65177c0) at kernel/qapplication.cpp:3446
#18 0x00007f33d7b05de8 in QCoreApplication::notifyInternal2 (receiver=0x555dd7919dd0, event=0x7ffca65177c0) at kernel/qcoreapplication.cpp:1088
#19 0x00007f33d7b5b667 in socketNotifierSourceDispatch (source=source@entry=0x555dd78ed040) at kernel/qeventdispatcher_glib.cpp:106
#20 0x00007f33cf4024a0 in g_main_dispatch (context=0x555dd791eb20) at ../glib/gmain.c:3179
#21 g_main_context_dispatch (context=context@entry=0x555dd791eb20) at ../glib/gmain.c:3844
#22 0x00007f33cf402830 in g_main_context_iterate (context=context@entry=0x555dd791eb20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:3917
#23 0x00007f33cf4028d3 in g_main_context_iteration (context=0x555dd791eb20, may_block=may_block@entry=1) at ../glib/gmain.c:3978
#24 0x00007f33d7b5acb5 in QEventDispatcherGlib::processEvents (this=0x555dd78f6b80, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#25 0x00007f33d7b04ceb in QEventLoop::exec (this=this@entry=0x7ffca65179d0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#26 0x00007f33d7b0ca16 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#27 0x00007f33d801f5b0 in QGuiApplication::exec () at kernel/qguiapplication.cpp:1777
#28 0x00007f33d85c0a49 in QApplication::exec () at kernel/qapplication.cpp:2856
#29 0x00007f33d961e60f in kdemain (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/ksysguard-5.16.5-1.fc31.x86_64/gui/ksysguard.cpp:627
#30 0x00007f33d93f81a3 in __libc_start_main (main=0x555dd5ba7070 <main>, argc=1, argv=0x7ffca6517be8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffca6517bd8) at ../csu/libc-start.c:308
#31 0x0000555dd5ba70ae in _start ()
[Inferior 1 (process 3134) detached]

Possible duplicates by query: bug 401442.

Reported using DrKonqi
Comment 1 Christoph Feck 2020-02-05 14:47:43 UTC
"The Wayland connection broke". Qt does not recover from this error.