https://bugs.kde.org/show_bug.cgi?id=419017

            Bug ID: 419017
           Summary: Plasma crashes on Wayland when I click on button to
                    close "Status and Notifications" popup while its
                    tooltip is visible
           Product: plasmashell
           Version: master
          Platform: Neon Packages
                OS: Linux
            Status: REPORTED
          Severity: crash
          Priority: NOR
         Component: generic-wayland
          Assignee: plasma-b...@kde.org
          Reporter: bugsefor...@gmx.com
  Target Milestone: 1.0

STEPS TO REPRODUCE
1. start Wayland session
2. click on the arrow beside the digital clock to show hidden systray icons
3. move cursor outside of the just clicked arrow and hover over it again
4. click on the arrow while "Close popup" tooltip is visible

OBSERVED RESULT
plasma crashes

EXPECTED RESULT
no crash

SOFTWARE/OS VERSIONS
Operating System: KDE neon Unstable Edition
KDE Plasma Version: 5.18.80
KDE Frameworks Version: 5.69.0
Qt Version: 5.14.1


Thread 11 (Thread 0x7fff8ee35700 (LWP 6802)):
#0  0x00007fffee8f39f3 in futex_wait_cancelable (private=<optimized out>,
expected=0, futex_word=0x5555571c7714)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  0x00007fffee8f39f3 in __pthread_cond_wait_common (abstime=0x0,
mutex=0x5555571c76c0, cond=0x5555571c76e8)
    at pthread_cond_wait.c:502
#2  0x00007fffee8f39f3 in __pthread_cond_wait (cond=0x5555571c76e8,
mutex=0x5555571c76c0) at pthread_cond_wait.c:655
#3  0x00007ffff1da4d9b in QWaitConditionPrivate::wait(QDeadlineTimer)
(deadline=..., this=0x5555571c76c0)
    at thread/qwaitcondition_unix.cpp:146
#4  0x00007ffff1da4d9b in QWaitCondition::wait(QMutex*, QDeadlineTimer)
(this=<optimized out>, mutex=0x55555caf0960, deadline=...) at
thread/qwaitcondition_unix.cpp:225
#5  0x00007ffff1da4f19 in QWaitCondition::wait(QMutex*, unsigned long)
(this=this@entry=0x55555caf0968, mutex=mutex@entry=0x55555caf0960,
time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:208
#6  0x00007ffff5e9c1d3 in QSGRenderThreadEventQueue::takeEvent(bool)
(wait=true, this=0x55555caf0958)
    at scenegraph/qsgthreadedrenderloop.cpp:255
#7  0x00007ffff5e9c1d3 in QSGRenderThread::processEventsAndWaitForMore()
(this=this@entry=0x55555caf08c0)
    at scenegraph/qsgthreadedrenderloop.cpp:905
#8  0x00007ffff5e9c631 in QSGRenderThread::run() (this=0x55555caf08c0) at
scenegraph/qsgthreadedrenderloop.cpp:1000
#9  0x00007ffff1d9e7ec in QThreadPrivate::start(void*) (arg=0x55555caf08c0) at
thread/qthread_unix.cpp:342
#10 0x00007fffee8ed6db in start_thread (arg=0x7fff8ee35700) at
pthread_create.c:463
#11 0x00007ffff169388f in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 10 (Thread 0x7fff8f7fe700 (LWP 6801)):
#0  0x00007fffee8f39f3 in futex_wait_cancelable (private=<optimized out>,
expected=0, futex_word=0x555557281d10)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  0x00007fffee8f39f3 in __pthread_cond_wait_common (abstime=0x0,
mutex=0x555557281cc0, cond=0x555557281ce8)
    at pthread_cond_wait.c:502
#2  0x00007fffee8f39f3 in __pthread_cond_wait (cond=0x555557281ce8,
mutex=0x555557281cc0) at pthread_cond_wait.c:655
#3  0x00007ffff1da4d9b in QWaitConditionPrivate::wait(QDeadlineTimer)
(deadline=..., this=0x555557281cc0)
    at thread/qwaitcondition_unix.cpp:146
#4  0x00007ffff1da4d9b in QWaitCondition::wait(QMutex*, QDeadlineTimer)
(this=<optimized out>, mutex=0x555557284090, deadline=...) at
thread/qwaitcondition_unix.cpp:225
#5  0x00007ffff1da4f19 in QWaitCondition::wait(QMutex*, unsigned long)
(this=this@entry=0x555557284098, mutex=mutex@entry=0x555557284090,
time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:208
#6  0x00007ffff5e9c1d3 in QSGRenderThreadEventQueue::takeEvent(bool)
(wait=true, this=0x555557284088)
    at scenegraph/qsgthreadedrenderloop.cpp:255
#7  0x00007ffff5e9c1d3 in QSGRenderThread::processEventsAndWaitForMore()
(this=this@entry=0x555557283ff0)
    at scenegraph/qsgthreadedrenderloop.cpp:905
#8  0x00007ffff5e9c631 in QSGRenderThread::run() (this=0x555557283ff0) at
scenegraph/qsgthreadedrenderloop.cpp:1000
#9  0x00007ffff1d9e7ec in QThreadPrivate::start(void*) (arg=0x555557283ff0) at
thread/qthread_unix.cpp:342
#10 0x00007fffee8ed6db in start_thread (arg=0x7fff8f7fe700) at
pthread_create.c:463
#11 0x00007ffff169388f in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 9 (Thread 0x7fff8ffff700 (LWP 6800)):
#0  0x00007fffee8f3ed9 in futex_reltimed_wait_cancelable (private=<optimized
out>, reltime=0x7fff8fffebf0, expected=0, futex_word=0x555559f265a0) at
../sysdeps/unix/sysv/linux/futex-internal.h:142
#1  0x00007fffee8f3ed9 in __pthread_cond_wait_common (abstime=0x7fff8fffeca0,
mutex=0x555559f26550, cond=0x555559f26578)
    at pthread_cond_wait.c:533
#2  0x00007fffee8f3ed9 in __pthread_cond_timedwait (cond=0x555559f26578,
mutex=0x555559f26550, abstime=0x7fff8fffeca0)
    at pthread_cond_wait.c:667
#3  0x00007ffff1da4d2a in QWaitConditionPrivate::wait_relative(QDeadlineTimer)
(this=0x555559f26550, deadline=...)
    at thread/qwaitcondition_unix.cpp:136
#4  0x00007ffff1da4d2a in QWaitConditionPrivate::wait(QDeadlineTimer)
(deadline=..., this=0x555559f26550)
    at thread/qwaitcondition_unix.cpp:144
#5  0x00007ffff1da4d2a in QWaitCondition::wait(QMutex*, QDeadlineTimer)
(this=<optimized out>, mutex=0x55555a0413c8, deadline=...) at
thread/qwaitcondition_unix.cpp:225
#6  0x00007ffff1da4ee6 in QWaitCondition::wait(QMutex*, unsigned long)
(this=this@entry=0x5555558e7b00, mutex=mutex@entry=0x55555a0413c8,
time=<optimized out>) at thread/qwaitcondition_unix.cpp:209
#7  0x00007ffff1da2275 in QThreadPoolThread::run() (this=0x5555558e7af0) at
thread/qthreadpool.cpp:139
#8  0x00007ffff1d9e7ec in QThreadPrivate::start(void*) (arg=0x5555558e7af0) at
thread/qthread_unix.cpp:342
#9  0x00007fffee8ed6db in start_thread (arg=0x7fff8ffff700) at
pthread_create.c:463
#10 0x00007ffff169388f in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 8 (Thread 0x7fffa14d8700 (LWP 6793)):
#0  0x00007fffee8f39f3 in futex_wait_cancelable (private=<optimized out>,
expected=0, futex_word=0x55555700a5f4)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  0x00007fffee8f39f3 in __pthread_cond_wait_common (abstime=0x0,
mutex=0x55555700a5a0, cond=0x55555700a5c8)
    at pthread_cond_wait.c:502
#2  0x00007fffee8f39f3 in __pthread_cond_wait (cond=0x55555700a5c8,
mutex=0x55555700a5a0) at pthread_cond_wait.c:655
#3  0x00007ffff1da4d9b in QWaitConditionPrivate::wait(QDeadlineTimer)
(deadline=..., this=0x55555700a5a0)
    at thread/qwaitcondition_unix.cpp:146
#4  0x00007ffff1da4d9b in QWaitCondition::wait(QMutex*, QDeadlineTimer)
(this=<optimized out>, mutex=0x55555704cbf0, deadline=...) at
thread/qwaitcondition_unix.cpp:225
#5  0x00007ffff1da4f19 in QWaitCondition::wait(QMutex*, unsigned long)
(this=this@entry=0x55555704cbf8, mutex=mutex@entry=0x55555704cbf0,
time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:208
#6  0x00007ffff5e9c1d3 in QSGRenderThreadEventQueue::takeEvent(bool)
(wait=true, this=0x55555704cbe8)
    at scenegraph/qsgthreadedrenderloop.cpp:255
#7  0x00007ffff5e9c1d3 in QSGRenderThread::processEventsAndWaitForMore()
(this=this@entry=0x55555704cb50)
    at scenegraph/qsgthreadedrenderloop.cpp:905
#8  0x00007ffff5e9c631 in QSGRenderThread::run() (this=0x55555704cb50) at
scenegraph/qsgthreadedrenderloop.cpp:1000
#9  0x00007ffff1d9e7ec in QThreadPrivate::start(void*) (arg=0x55555704cb50) at
thread/qthread_unix.cpp:342
#10 0x00007fffee8ed6db in start_thread (arg=0x7fffa14d8700) at
pthread_create.c:463
#11 0x00007ffff169388f in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 7 (Thread 0x7fffbbfff700 (LWP 6785)):
#0  0x00007fffee8f39f3 in futex_wait_cancelable (private=<optimized out>,
expected=0, futex_word=0x55555610a310)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  0x00007fffee8f39f3 in __pthread_cond_wait_common (abstime=0x0,
mutex=0x55555610a2c0, cond=0x55555610a2e8)
    at pthread_cond_wait.c:502
#2  0x00007fffee8f39f3 in __pthread_cond_wait (cond=0x55555610a2e8,
mutex=0x55555610a2c0) at pthread_cond_wait.c:655
#3  0x00007ffff1da4d9b in QWaitConditionPrivate::wait(QDeadlineTimer)
(deadline=..., this=0x55555610a2c0)
    at thread/qwaitcondition_unix.cpp:146
#4  0x00007ffff1da4d9b in QWaitCondition::wait(QMutex*, QDeadlineTimer)
(this=<optimized out>, mutex=0x55555610a0b0, deadline=...) at
thread/qwaitcondition_unix.cpp:225
#5  0x00007ffff1da4f19 in QWaitCondition::wait(QMutex*, unsigned long)
(this=this@entry=0x55555610a0b8, mutex=mutex@entry=0x55555610a0b0,
time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:208
#6  0x00007ffff5e9c1d3 in QSGRenderThreadEventQueue::takeEvent(bool)
(wait=true, this=0x55555610a0a8)
    at scenegraph/qsgthreadedrenderloop.cpp:255
#7  0x00007ffff5e9c1d3 in QSGRenderThread::processEventsAndWaitForMore()
(this=this@entry=0x55555610a010)
    at scenegraph/qsgthreadedrenderloop.cpp:905
#8  0x00007ffff5e9c631 in QSGRenderThread::run() (this=0x55555610a010) at
scenegraph/qsgthreadedrenderloop.cpp:1000
#9  0x00007ffff1d9e7ec in QThreadPrivate::start(void*) (arg=0x55555610a010) at
thread/qthread_unix.cpp:342
#10 0x00007fffee8ed6db in start_thread (arg=0x7fffbbfff700) at
pthread_create.c:463
#11 0x00007ffff169388f in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 0x7fffc3848700 (LWP 6782)):
#0  0x00007ffff1686bf9 in __GI___poll (fds=0x7fffb40062f0, nfds=1, timeout=-1)
at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fffeb45a5c9 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffeb45a6dc in g_main_context_iteration () at
/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff1fed0bc in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(this=0x7fffb4000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#4  0x00007ffff1f8c63a in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
(this=this@entry=0x7fffc3847d30, flags=..., flags@entry=...) at
kernel/qeventloop.cpp:225
#5  0x00007ffff1d9d317 in QThread::exec() (this=this@entry=0x555556062a30) at
thread/qthread.cpp:536
#6  0x00007ffff5ddea86 in QQuickPixmapReader::run() (this=0x555556062a30) at
util/qquickpixmapcache.cpp:987
#7  0x00007ffff1d9e7ec in QThreadPrivate::start(void*) (arg=0x555556062a30) at
thread/qthread_unix.cpp:342
#8  0x00007fffee8ed6db in start_thread (arg=0x7fffc3848700) at
pthread_create.c:463
#9  0x00007ffff169388f in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7fffc4049700 (LWP 6781)):
#0  0x00007ffff1686bf9 in __GI___poll (fds=0x7fffbc0029e0, nfds=3, timeout=-1)
at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fffeb45a5c9 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffeb45a6dc in g_main_context_iteration () at
/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff1fed0bc in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(this=0x7fffbc000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#4  0x00007ffff1f8c63a in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
(this=this@entry=0x7fffc4048da0, flags=..., flags@entry=...) at
kernel/qeventloop.cpp:225
#5  0x00007ffff1d9d317 in QThread::exec() (this=<optimized out>) at
thread/qthread.cpp:536
#6  0x00007ffff1d9e7ec in QThreadPrivate::start(void*) (arg=0x5555560dfdb0) at
thread/qthread_unix.cpp:342
#7  0x00007fffee8ed6db in start_thread (arg=0x7fffc4049700) at
pthread_create.c:463
#8  0x00007ffff169388f in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7fffd2510700 (LWP 6780)):
#0  0x00007fffee8f39f3 in futex_wait_cancelable (private=<optimized out>,
expected=0, futex_word=0x555555d6aa2c)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  0x00007fffee8f39f3 in __pthread_cond_wait_common (abstime=0x0,
mutex=0x555555d6a9d8, cond=0x555555d6aa00)
    at pthread_cond_wait.c:502
#2  0x00007fffee8f39f3 in __pthread_cond_wait (cond=0x555555d6aa00,
mutex=0x555555d6a9d8) at pthread_cond_wait.c:655
#3  0x00007fffd363decb in  () at /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#4  0x00007fffd363dac7 in  () at /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#5  0x00007fffee8ed6db in start_thread (arg=0x7fffd2510700) at
pthread_create.c:463
#6  0x00007ffff169388f in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7fffe1202700 (LWP 6779)):
#0  0x00007ffff1686bf9 in __GI___poll (fds=0x7fffd4002de0, nfds=1, timeout=-1)
at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fffeb45a5c9 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffeb45a6dc in g_main_context_iteration () at
/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff1fed0bc in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(this=0x7fffd4000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#4  0x00007ffff1f8c63a in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
(this=this@entry=0x7fffe1201d80, flags=..., flags@entry=...) at
kernel/qeventloop.cpp:225
#5  0x00007ffff1d9d317 in QThread::exec() (this=this@entry=0x5555558fca00) at
thread/qthread.cpp:536
#6  0x00007ffff5949605 in QQmlThreadPrivate::run() (this=0x5555558fca00) at
qml/ftw/qqmlthread.cpp:155
#7  0x00007ffff1d9e7ec in QThreadPrivate::start(void*) (arg=0x5555558fca00) at
thread/qthread_unix.cpp:342
#8  0x00007fffee8ed6db in start_thread (arg=0x7fffe1202700) at
pthread_create.c:463
#9  0x00007ffff169388f in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7fffe307b700 (LWP 6778)):
#0  0x00007ffff1686bf9 in __GI___poll (fds=0x7fffdc002de0, nfds=3, timeout=-1)
at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fffeb45a5c9 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffeb45a6dc in g_main_context_iteration () at
/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff1fed0bc in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(this=0x7fffdc000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#4  0x00007ffff1f8c63a in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
(this=this@entry=0x7fffe307ad70, flags=..., flags@entry=...) at
kernel/qeventloop.cpp:225
#5  0x00007ffff1d9d317 in QThread::exec() (this=this@entry=0x7ffff3f0cda0
<(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at
thread/qthread.cpp:536
#6  0x00007ffff3c94555 in QDBusConnectionManager::run() (this=0x7ffff3f0cda0
<(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at
qdbusconnection.cpp:179
#7  0x00007ffff1d9e7ec in QThreadPrivate::start(void*) (arg=0x7ffff3f0cda0
<(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at
thread/qthread_unix.cpp:342
#8  0x00007fffee8ed6db in start_thread (arg=0x7fffe307b700) at
pthread_create.c:463
#9  0x00007ffff169388f in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7ffff7f9ac80 (LWP 6774)):
#0  0x00007ffff15b0e97 in __GI_raise (sig=sig@entry=6) at
../sysdeps/unix/sysv/linux/raise.c:51
#1  0x00007ffff15b2801 in __GI_abort () at abort.c:79
#2  0x00007ffff1d7a59b in qt_message_fatal (context=..., message=<synthetic
pointer>...) at global/qlogging.cpp:1894
#3  0x00007ffff1d7a59b in QMessageLogger::fatal(char const*, ...) const
(this=this@entry=0x7fffffffd950, msg=msg@entry=0x7fffe5420900 "The Wayland
connection experienced a fatal error: %s") at global/qlogging.cpp:893
#4  0x00007fffe53925d8 in QtWaylandClient::QWaylandDisplay::checkError() const
(this=<optimized out>)
    at qwaylanddisplay.cpp:198
#5  0x00007fffe539264e in QtWaylandClient::QWaylandDisplay::flushRequests()
(this=0x555555814dc0)
    at qwaylanddisplay.cpp:209
#6  0x00007ffff1fc8dc9 in doActivate<false>(QObject*, int, void**)
(sender=0x555555882730, signal_index=4, argv=0x7fffffffda30) at
kernel/qobject.cpp:3882
#7  0x00007ffff1fc38a2 in QMetaObject::activate(QObject*, QMetaObject const*,
int, void**) (sender=sender@entry=0x555555882730, m=m@entry=0x7ffff245b240
<QAbstractEventDispatcher::staticMetaObject>,
local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x0) at
kernel/qobject.cpp:3930
#8  0x00007ffff1f8a4b3 in QAbstractEventDispatcher::awake()
(this=this@entry=0x555555882730)
    at .moc/moc_qabstracteventdispatcher.cpp:149
#9  0x00007ffff1fed0fb in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(this=0x555555882730, flags=...) at kernel/qeventdispatcher_glib.cpp:430
#10 0x00007ffff1f8c63a in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)
(this=this@entry=0x7fffffffdb50, flags=..., flags@entry=...) at
kernel/qeventloop.cpp:225
#11 0x00007ffff1f95db0 in QCoreApplication::exec() () at
kernel/qcoreapplication.cpp:1400
#12 0x00005555555752d4 in main(int, char**) (argc=<optimized out>,
argv=<optimized out>) at ./shell/main.cpp:228

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to