Bug 413058

Summary: Konsole aborted when Wayland connection broke
Product: [Applications] konsole Reporter: Matt Fagnani <matt.fagnani>
Component: generalAssignee: Konsole Developer <konsole-devel>
Status: RESOLVED UPSTREAM    
Severity: crash CC: matt.fagnani, meven29
Priority: NOR Keywords: drkonqi, wayland
Version: 19.12.1   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: New crash information added by DrKonqi

Description Matt Fagnani 2019-10-16 20:20:22 UTC
Application: konsole (19.08.0)

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

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

I was using Plasma 5.16.5 on Wayland in Fedora 31. I had Konsole 19.8.0 running with two tabs open. I opened VLC 3.0.9 and selected open a file. An error message stated that the vlc file opening process had exited unexpectedly. Konsole showed an error message which disappeared before I could read all of it. Konsole disappeared. I started konsole again. I right-clicked in konsole and selected Open File manager. Konsole crashed. I'm unsure if the konsole trace is from the first or second crash. The trace showed the error message that the Wayland connection broke "The Wayland connection broke. Did the Wayland compositor die?". Plasma didn't crash when that happened.

- Unusual behavior I noticed:
Konsole showed (Not Responding) in the title bar, and the colours in konsole faded before it crashed.

-- Backtrace:
Application: Konsole (konsole), 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 0x7fdceabfe840 (LWP 1854))]

Thread 9 (Thread 0x7fdcbbfff700 (LWP 1862)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x5567370f47b0) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5567370f4760, cond=0x5567370f4788) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x5567370f4788, mutex=0x5567370f4760) at pthread_cond_wait.c:638
#3  0x00007fdcd5407cab in util_queue_thread_func () from /usr/lib64/dri/radeonsi_dri.so
#4  0x00007fdcd54078bb in impl_thrd_routine () from /usr/lib64/dri/radeonsi_dri.so
#5  0x00007fdce87c24e2 in start_thread (arg=<optimized out>) at pthread_create.c:479
#6  0x00007fdceb25a643 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 8 (Thread 0x7fdcc8a84700 (LWP 1861)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x5567370f47b0) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5567370f4760, cond=0x5567370f4788) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x5567370f4788, mutex=0x5567370f4760) at pthread_cond_wait.c:638
#3  0x00007fdcd5407cab in util_queue_thread_func () from /usr/lib64/dri/radeonsi_dri.so
#4  0x00007fdcd54078bb in impl_thrd_routine () from /usr/lib64/dri/radeonsi_dri.so
#5  0x00007fdce87c24e2 in start_thread (arg=<optimized out>) at pthread_create.c:479
#6  0x00007fdceb25a643 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 7 (Thread 0x7fdcc9285700 (LWP 1860)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x5567370f40b0) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5567370f4060, cond=0x5567370f4088) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x5567370f4088, mutex=0x5567370f4060) at pthread_cond_wait.c:638
#3  0x00007fdcd5407cab in util_queue_thread_func () from /usr/lib64/dri/radeonsi_dri.so
#4  0x00007fdcd54078bb in impl_thrd_routine () from /usr/lib64/dri/radeonsi_dri.so
#5  0x00007fdce87c24e2 in start_thread (arg=<optimized out>) at pthread_create.c:479
#6  0x00007fdceb25a643 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 0x7fdcc9a86700 (LWP 1859)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x5567370f40b0) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5567370f4060, cond=0x5567370f4088) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x5567370f4088, mutex=0x5567370f4060) at pthread_cond_wait.c:638
#3  0x00007fdcd5407cab in util_queue_thread_func () from /usr/lib64/dri/radeonsi_dri.so
#4  0x00007fdcd54078bb in impl_thrd_routine () from /usr/lib64/dri/radeonsi_dri.so
#5  0x00007fdce87c24e2 in start_thread (arg=<optimized out>) at pthread_create.c:479
#6  0x00007fdceb25a643 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7fdcca287700 (LWP 1858)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x5567370f40b0) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5567370f4060, cond=0x5567370f4088) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x5567370f4088, mutex=0x5567370f4060) at pthread_cond_wait.c:638
#3  0x00007fdcd5407cab in util_queue_thread_func () from /usr/lib64/dri/radeonsi_dri.so
#4  0x00007fdcd54078bb in impl_thrd_routine () from /usr/lib64/dri/radeonsi_dri.so
#5  0x00007fdce87c24e2 in start_thread (arg=<optimized out>) at pthread_create.c:479
#6  0x00007fdceb25a643 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7fdccaa88700 (LWP 1857)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x556736fea028) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x556736fe9fd8, cond=0x556736fea000) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x556736fea000, mutex=0x556736fe9fd8) at pthread_cond_wait.c:638
#3  0x00007fdcd5407cab in util_queue_thread_func () from /usr/lib64/dri/radeonsi_dri.so
#4  0x00007fdcd54078bb in impl_thrd_routine () from /usr/lib64/dri/radeonsi_dri.so
#5  0x00007fdce87c24e2 in start_thread (arg=<optimized out>) at pthread_create.c:479
#6  0x00007fdceb25a643 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7fdcd4af0700 (LWP 1856)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x5567370efc88) at ../sysdeps/unix/sysv/linux/futex-internal.h:80
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5567370efc38, cond=0x5567370efc60) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x5567370efc60, mutex=0x5567370efc38) at pthread_cond_wait.c:638
#3  0x00007fdcd5407cab in util_queue_thread_func () from /usr/lib64/dri/radeonsi_dri.so
#4  0x00007fdcd54078bb in impl_thrd_routine () from /usr/lib64/dri/radeonsi_dri.so
#5  0x00007fdce87c24e2 in start_thread (arg=<optimized out>) at pthread_create.c:479
#6  0x00007fdceb25a643 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7fdcd75a0700 (LWP 1855)):
#0  0x00007fdceb24fa1f in __GI___poll (fds=0x7fdcd00029e0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fdce7ed279e in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7fdcd00029e0, timeout=<optimized out>, context=0x7fdcd0000c30) at ../glib/gmain.c:4216
#2  g_main_context_iterate (context=context@entry=0x7fdcd0000c30, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:3912
#3  0x00007fdce7ed28d3 in g_main_context_iteration (context=0x7fdcd0000c30, may_block=may_block@entry=1) at ../glib/gmain.c:3978
#4  0x00007fdce9ab2cd3 in QEventDispatcherGlib::processEvents (this=0x7fdcd0000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#5  0x00007fdce9a5cceb in QEventLoop::exec (this=this@entry=0x7fdcd759fd30, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#6  0x00007fdce98b5395 in QThread::exec (this=this@entry=0x7fdce8ff4060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#7  0x00007fdce8f70f4a in QDBusConnectionManager::run (this=0x7fdce8ff4060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:178
#8  0x00007fdce98b64e6 in QThreadPrivate::start (arg=0x7fdce8ff4060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:361
#9  0x00007fdce87c24e2 in start_thread (arg=<optimized out>) at pthread_create.c:479
#10 0x00007fdceb25a643 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7fdceabfe840 (LWP 1854)):
[KCrash Handler]
#6  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#7  0x00007fdceb17e8d9 in __GI_abort () at abort.c:79
#8  0x00007fdce9880b1b in qt_message_fatal (context=..., message=<synthetic pointer>...) at global/qlogging.cpp:1907
#9  QMessageLogger::fatal (this=this@entry=0x7ffefe4d59e0, msg=msg@entry=0x7fdcd8748a00 "The Wayland connection broke. Did the Wayland compositor die?") at global/qlogging.cpp:888
#10 0x00007fdcd86c708b 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 0x00007fdcd86d2a4e in QtWaylandClient::QWaylandDisplay::flushRequests (this=0x556736f33410) at qwaylanddisplay.cpp:188
#13 0x00007fdce9a87dfb in QMetaObject::activate (sender=0x556736f67fa0, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3803
#14 0x00007fdce9a9408c in QSocketNotifier::activated (this=this@entry=0x556736f67fa0, _t1=<optimized out>, _t2=...) at .moc/moc_qsocketnotifier.cpp:140
#15 0x00007fdce9a943f1 in QSocketNotifier::event (this=0x556736f67fa0, e=0x7ffefe4d5dd0) at kernel/qsocketnotifier.cpp:266
#16 0x00007fdcea3c8ad6 in QApplicationPrivate::notify_helper (this=this@entry=0x556736f35230, receiver=receiver@entry=0x556736f67fa0, e=e@entry=0x7ffefe4d5dd0) at kernel/qapplication.cpp:3700
#17 0x00007fdcea3d2150 in QApplication::notify (this=0x556736f35030, receiver=0x556736f67fa0, e=0x7ffefe4d5dd0) at kernel/qapplication.cpp:3446
#18 0x00007fdce9a5dde8 in QCoreApplication::notifyInternal2 (receiver=0x556736f67fa0, event=0x7ffefe4d5dd0) at kernel/qcoreapplication.cpp:1088
#19 0x00007fdce9ab3667 in socketNotifierSourceDispatch (source=source@entry=0x556736fb0d90) at kernel/qeventdispatcher_glib.cpp:106
#20 0x00007fdce7ed24a0 in g_main_dispatch (context=0x556736f8d690) at ../glib/gmain.c:3179
#21 g_main_context_dispatch (context=context@entry=0x556736f8d690) at ../glib/gmain.c:3844
#22 0x00007fdce7ed2830 in g_main_context_iterate (context=context@entry=0x556736f8d690, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:3917
#23 0x00007fdce7ed28d3 in g_main_context_iteration (context=0x556736f8d690, may_block=may_block@entry=1) at ../glib/gmain.c:3978
#24 0x00007fdce9ab2cb5 in QEventDispatcherGlib::processEvents (this=0x556736f65320, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#25 0x00007fdce9a5cceb in QEventLoop::exec (this=this@entry=0x7ffefe4d5fe0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#26 0x00007fdce9a64a16 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#27 0x00007fdce9e275b0 in QGuiApplication::exec () at kernel/qguiapplication.cpp:1777
#28 0x00007fdcea3c8a49 in QApplication::exec () at kernel/qapplication.cpp:2856
#29 0x00007fdceb35c456 in kdemain (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/konsole5-19.08.0-1.fc31.x86_64/src/main.cpp:229
#30 0x00007fdceb1801a3 in __libc_start_main (main=0x556736ac5070 <main>, argc=1, argv=0x7ffefe4d6298, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffefe4d6288) at ../csu/libc-start.c:308
#31 0x0000556736ac50ae in _start ()
[Inferior 1 (process 1854) detached]

Possible duplicates by query: bug 401442.

Reported using DrKonqi
Comment 1 Matt Fagnani 2020-01-15 21:33:21 UTC
Created attachment 125158 [details]
New crash information added by DrKonqi

konsole (19.12.1) using Qt 5.13.2

- What I was doing when the application crashed:

I was running Plasma 5.17.5 on Wayland in Fedora Rawhide with Qt 5.13.2, KF 5.66.0, Mesa 19.3.2. I opened Konsole 19.2.1. I opened a second tab. I ran coredumpctl gdb on a kwin_wayland crash which happened when logging out on the previous boot. I reported those type of kwin_wayland crashes at https://bugs.kde.org/show_bug.cgi?id=416147. The core dump file was 2.1 GB, and it took a few minutes for coredumpctl gdb to decompress and process the core dump. I ran bt in gdb to get a trace. Konsole stopped responding for about a minute with Not Responding in the title bar. Konsole's colours faded. Konsole disappeared. The trace in Dr. Konqi showed the error "The Wayland connection broke. Did the Wayland compositor die?" in frame 9 of the crashing thread 1. I've previously seen Konsole abort with that error as in my previous report here. I've also seen that error for 
plasmashell https://bugs.kde.org/show_bug.cgi?id=414116
ksysguard https://bugs.kde.org/show_bug.cgi?id=413901
system settings https://bugs.kde.org/show_bug.cgi?id=414118

The underlying problem might be in Qt particularly qtwayland.

-- Backtrace (Reduced):
#6  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#7  0x00007f99fb711899 in __GI_abort () at abort.c:79
#8  0x00007f99f9de6b25 in qt_message_fatal (context=..., message=<synthetic pointer>...) at global/qlogging.cpp:1907
#9  QMessageLogger::fatal (this=this@entry=0x7ffce5796200, msg=msg@entry=0x7f99e8b2ee30 "The Wayland connection broke. Did the Wayland compositor die?") at global/qlogging.cpp:888
#10 0x00007f99e8a7e84b in QtWaylandClient::QWaylandDisplay::checkError (this=<optimized out>) at /usr/include/qt5/QtCore/qlogging.h:91
Comment 2 Christoph Feck 2020-02-06 18:12:15 UTC
Qt cannot recover from this error.