Bug 429966

Summary: Tooltip of task manager makes kwin_wayland to crash
Product: [Plasma] kwin Reporter: Patrick Silva <bugseforuns>
Component: wayland-genericAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED FIXED    
Severity: crash    
Priority: NOR    
Version First Reported In: git master   
Target Milestone: ---   
Platform: Neon   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Patrick Silva 2020-12-03 13:44:39 UTC
SUMMARY
kwin_wayland crashes when I hover over an app in task manager only if "Display informational tooltips on mouse hover" option is enabled in System Settings > Workspace behavior > General behavior.

SOFTWARE/OS VERSIONS
Operating System: KDE neon Unstable Edition
KDE Plasma Version: 5.20.80
KDE Frameworks Version: 5.77.0
Qt Version: 5.15.1


Thread 11 (Thread 8753.9111):
#0  0x00007f5d54adf5ce in epoll_wait (epfd=94, events=events@entry=0x7f5d23ffe8f0, maxevents=32, timeout=-1) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
#1  0x00007f5d217280fb in impl_pollfd_wait (object=<optimized out>, pfd=<optimized out>, ev=0x7f5d23ffeaa0, n_ev=<optimized out>, timeout=<optimized out>) at ../spa/plugins/support/system.c:154
#2  0x00007f5d2171c114 in loop_iterate (object=0x55b498c31d78, timeout=-1) at ../spa/plugins/support/loop.c:289
#3  0x00007f5d56c256e0 in ?? () from target:/lib/x86_64-linux-gnu/libpipewire-0.3.so.0
#4  0x00007f5d54e5a609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#5  0x00007f5d54adf293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 10 (Thread 8753.8765):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x7f5d54886fd8 <QTWTF::pageheap_memory+57592>) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x7f5d54886f88 <QTWTF::pageheap_memory+57512>, cond=0x7f5d54886fb0 <QTWTF::pageheap_memory+57552>) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=cond@entry=0x7f5d54886fb0 <QTWTF::pageheap_memory+57552>, mutex=mutex@entry=0x7f5d54886f88 <QTWTF::pageheap_memory+57512>) at pthread_cond_wait.c:638
#3  0x00007f5d5478963a in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x7f5d54878ee0 <QTWTF::pageheap_memory>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
#4  0x00007f5d5478965f in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=<optimized out>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
#5  0x00007f5d54e5a609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007f5d54adf293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 9 (Thread 8753.8762):
#0  0x00007f5d54ad2aff in __GI___poll (fds=0x7f5d1c004e60, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f5d529dd1ae in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7f5d1c004e60, timeout=<optimized out>, context=0x7f5d1c000c20) at ../../../glib/gmain.c:4346
#2  g_main_context_iterate (context=context@entry=0x7f5d1c000c20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4042
#3  0x00007f5d529dd2e3 in g_main_context_iteration (context=0x7f5d1c000c20, may_block=may_block@entry=1) at ../../../glib/gmain.c:4108
#4  0x00007f5d55180232 in QEventDispatcherGlib::processEvents (this=0x7f5d1c000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#5  0x00007f5d5512443b in QEventLoop::exec (this=this@entry=0x7f5d35f37cc0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#6  0x00007f5d54f40982 in QThread::exec (this=this@entry=0x55b4987b5620) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#7  0x00007f5d53c46d69 in QQmlThreadPrivate::run (this=0x55b4987b5620) at qml/ftw/qqmlthread.cpp:155
#8  0x00007f5d54f41b1c in QThreadPrivate::start (arg=0x55b4987b5620) at thread/qthread_unix.cpp:329
#9  0x00007f5d54e5a609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007f5d54adf293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 8 (Thread 8753.8760):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55b497bb3478) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55b497bb3428, cond=0x55b497bb3450) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=cond@entry=0x55b497bb3450, mutex=mutex@entry=0x55b497bb3428) at pthread_cond_wait.c:638
#3  0x00007f5d3f75297b in cnd_wait (mtx=0x55b497bb3428, cond=0x55b497bb3450) at ../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x55b497c61d70) at ../src/util/u_queue.c:275
#5  0x00007f5d3f75258b in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#6  0x00007f5d54e5a609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7  0x00007f5d54adf293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 7 (Thread 8753.8759):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55b497bb3478) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55b497bb3428, cond=0x55b497bb3450) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=cond@entry=0x55b497bb3450, mutex=mutex@entry=0x55b497bb3428) at pthread_cond_wait.c:638
#3  0x00007f5d3f75297b in cnd_wait (mtx=0x55b497bb3428, cond=0x55b497bb3450) at ../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x55b497c25ad0) at ../src/util/u_queue.c:275
#5  0x00007f5d3f75258b in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#6  0x00007f5d54e5a609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7  0x00007f5d54adf293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 8753.8758):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55b497bb3478) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55b497bb3428, cond=0x55b497bb3450) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=cond@entry=0x55b497bb3450, mutex=mutex@entry=0x55b497bb3428) at pthread_cond_wait.c:638
#3  0x00007f5d3f75297b in cnd_wait (mtx=0x55b497bb3428, cond=0x55b497bb3450) at ../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x55b497c4a7d0) at ../src/util/u_queue.c:275
#5  0x00007f5d3f75258b in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#6  0x00007f5d54e5a609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7  0x00007f5d54adf293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 8753.8757):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55b497bb3478) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55b497bb3428, cond=0x55b497bb3450) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=cond@entry=0x55b497bb3450, mutex=mutex@entry=0x55b497bb3428) at pthread_cond_wait.c:638
#3  0x00007f5d3f75297b in cnd_wait (mtx=0x55b497bb3428, cond=0x55b497bb3450) at ../include/c11/threads_posix.h:155
#4  util_queue_thread_func (input=input@entry=0x55b497cbc480) at ../src/util/u_queue.c:275
#5  0x00007f5d3f75258b in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#6  0x00007f5d54e5a609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#7  0x00007f5d54adf293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 8753.8756):
#0  0x00007f5d54ad2aff in __GI___poll (fds=0x7f5d44004630, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f5d529dd1ae in g_main_context_poll (priority=<optimized out>, n_fds=2, fds=0x7f5d44004630, timeout=<optimized out>, context=0x7f5d44000c20) at ../../../glib/gmain.c:4346
#2  g_main_context_iterate (context=context@entry=0x7f5d44000c20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4042
#3  0x00007f5d529dd2e3 in g_main_context_iteration (context=0x7f5d44000c20, may_block=may_block@entry=1) at ../../../glib/gmain.c:4108
#4  0x00007f5d55180232 in QEventDispatcherGlib::processEvents (this=0x7f5d44000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#5  0x00007f5d5512443b in QEventLoop::exec (this=this@entry=0x7f5d4d78ace0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#6  0x00007f5d54f40982 in QThread::exec (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#7  0x00007f5d54f41b1c in QThreadPrivate::start (arg=0x55b497bd1f40) at thread/qthread_unix.cpp:329
#8  0x00007f5d54e5a609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#9  0x00007f5d54adf293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 8753.8755):
#0  0x00007f5d54ad2aff in __GI___poll (fds=0x7f5d40005240, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f5d529dd1ae in g_main_context_poll (priority=<optimized out>, n_fds=2, fds=0x7f5d40005240, timeout=<optimized out>, context=0x7f5d40000c20) at ../../../glib/gmain.c:4346
#2  g_main_context_iterate (context=context@entry=0x7f5d40000c20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4042
#3  0x00007f5d529dd2e3 in g_main_context_iteration (context=0x7f5d40000c20, may_block=may_block@entry=1) at ../../../glib/gmain.c:4108
#4  0x00007f5d55180232 in QEventDispatcherGlib::processEvents (this=0x7f5d40000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#5  0x00007f5d5512443b in QEventLoop::exec (this=this@entry=0x7f5d4df8bce0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#6  0x00007f5d54f40982 in QThread::exec (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#7  0x00007f5d54f41b1c in QThreadPrivate::start (arg=0x55b497bd0280) at thread/qthread_unix.cpp:329
#8  0x00007f5d54e5a609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#9  0x00007f5d54adf293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 8753.8754):
#0  0x00007f5d54ad2aff in __GI___poll (fds=0x7f5d48017490, nfds=5, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f5d529dd1ae in g_main_context_poll (priority=<optimized out>, n_fds=5, fds=0x7f5d48017490, timeout=<optimized out>, context=0x7f5d48001ce0) at ../../../glib/gmain.c:4346
#2  g_main_context_iterate (context=context@entry=0x7f5d48001ce0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4042
#3  0x00007f5d529dd2e3 in g_main_context_iteration (context=0x7f5d48001ce0, may_block=may_block@entry=1) at ../../../glib/gmain.c:4108
#4  0x00007f5d55180232 in QEventDispatcherGlib::processEvents (this=0x7f5d48000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#5  0x00007f5d5512443b in QEventLoop::exec (this=this@entry=0x7f5d4e81fcb0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#6  0x00007f5d54f40982 in QThread::exec (this=this@entry=0x7f5d56487d80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#7  0x00007f5d56403f4b in QDBusConnectionManager::run (this=0x7f5d56487d80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:179
#8  0x00007f5d54f41b1c in QThreadPrivate::start (arg=0x7f5d56487d80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:329
#9  0x00007f5d54e5a609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007f5d54adf293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 8753.8753):
#0  0x000055b497d09ae0 in ?? ()
#1  0x00007f5d56c58f97 in pw_stream_destroy () from target:/lib/x86_64-linux-gnu/libpipewire-0.3.so.0
#2  0x000055b4960ac8f1 in KWin::PipeWireStream::~PipeWireStream (this=0x55b497d09ab0, __in_chrg=<optimized out>) at ./screencast/pipewirestream.cpp:189
#3  0x000055b4960a68ea in KWin::WindowStream::~WindowStream (this=0x55b497d09ab0, __in_chrg=<optimized out>) at ./screencast/screencastmanager.cpp:40
#4  KWin::WindowStream::~WindowStream (this=0x55b497d09ab0, __in_chrg=<optimized out>) at ./screencast/screencastmanager.cpp:40
#5  0x00007f5d5515c94e in QtPrivate::QSlotObjectBase::call (a=0x7ffd1255f000, r=0x55b497d09ab0, this=0x55b497bab430) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#6  doActivate<false> (sender=0x55b497d09920, signal_index=3, argv=0x7ffd1255f000) at kernel/qobject.cpp:3886
#7  0x00007f5d55155d17 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7f5d56642200 <KWaylandServer::ScreencastStreamV1Interface::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3946
#8  0x00007f5d565299b4 in KWaylandServer::ScreencastStreamV1Interface::finished (this=<optimized out>) at ./obj-x86_64-linux-gnu/src/server/KWaylandServer_autogen/EWIEGA46WW/moc_screencast_v1_interface.cpp:132
#9  0x00007f5d56562c99 in KWaylandServer::ScreencastStreamV1InterfacePrivate::zkde_screencast_stream_unstable_v1_close (this=0x55b497ca8350, resource=0x55b497ccdc40) at ./src/server/screencast_v1_interface.cpp:40
#10 0x00007f5d51d26ff5 in ffi_call_unix64 () at ../src/x86/unix64.S:101
#11 0x00007f5d51d2640a in ffi_call_int (cif=<optimized out>, fn=<optimized out>, rvalue=<optimized out>, avalue=<optimized out>, closure=<optimized out>) at ../src/x86/ffi64.c:669
#12 0x00007f5d533b2628 in wl_closure_invoke (closure=closure@entry=0x55b4989e4ee0, flags=flags@entry=2, target=<optimized out>, target@entry=0x55b498a2ed10, opcode=opcode@entry=0, data=<optimized out>, data@entry=0x55b498ba81a0) at ../src/connection.c:1018
#13 0x00007f5d533ae9e2 in wl_client_connection_data (fd=<optimized out>, mask=<optimized out>, data=0x55b498ba81a0) at ../src/wayland-server.c:432
#14 0x00007f5d533b065a in wl_event_loop_dispatch (loop=0x55b497b857c0, timeout=timeout@entry=0) at ../src/event-loop.c:1027
#15 0x00007f5d565404a3 in KWaylandServer::Display::Private::dispatch (this=<optimized out>) at ./src/server/display.cpp:136
#16 0x00007f5d5515c94e in QtPrivate::QSlotObjectBase::call (a=0x7ffd1255f750, r=0x55b497bb5730, this=0x55b49887b870) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#17 doActivate<false> (sender=0x55b49887baf0, signal_index=3, argv=0x7ffd1255f750) at kernel/qobject.cpp:3886
#18 0x00007f5d55155d17 in QMetaObject::activate (sender=sender@entry=0x55b49887baf0, m=m@entry=0x7f5d553bdb60 <QSocketNotifier::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffd1255f750) at kernel/qobject.cpp:3946
#19 0x00007f5d551609c3 in QSocketNotifier::activated (this=this@entry=0x55b49887baf0, _t1=..., _t2=<optimized out>, _t3=...) at .moc/moc_qsocketnotifier.cpp:178
#20 0x00007f5d55161163 in QSocketNotifier::event (this=0x55b49887baf0, e=0x7ffd1255fa20) at kernel/qsocketnotifier.cpp:302
#21 0x00007f5d55da0da3 in QApplicationPrivate::notify_helper (this=this@entry=0x55b497b7aa50, receiver=receiver@entry=0x55b49887baf0, e=e@entry=0x7ffd1255fa20) at kernel/qapplication.cpp:3630
#22 0x00007f5d55da9b98 in QApplication::notify (this=0x7ffd1255fe00, receiver=0x55b49887baf0, e=0x7ffd1255fa20) at kernel/qapplication.cpp:3154
#23 0x00007f5d5512592a in QCoreApplication::notifyInternal2 (receiver=0x55b49887baf0, event=0x7ffd1255fa20) at ../../include/QtCore/5.15.1/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:325
#24 0x00007f5d5517d45b in QEventDispatcherUNIXPrivate::activateSocketNotifiers (this=0x55b497b87260) at kernel/qeventdispatcher_unix.cpp:304
#25 0x00007f5d5517d8bb in QEventDispatcherUNIX::processEvents (this=<optimized out>, flags=...) at kernel/qeventdispatcher_unix.cpp:511
#26 0x000055b4960f78e1 in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
#27 0x00007f5d5512443b in QEventLoop::exec (this=this@entry=0x7ffd1255fbb0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#28 0x00007f5d5512c5e4 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#29 0x000055b4960897cc in main (argc=<optimized out>, argv=<optimized out>) at ./main_wayland.cpp:704
Detaching from program: target:/usr/bin/kwin_wayland, process 8753
Ending remote debugging.
[Inferior 1 (process 8753) detached]
Comment 1 Patrick Silva 2020-12-10 12:32:14 UTC
no longer reproducible on neon unstable.