Package: libqt5wayland5,plasma-workspace-wayland
Version: 5.7.1~20161021-2,4:5.8.6-2.1
Severity: minor
To reproduce (>50% but not 100% reproducible):
- right-click on two areas, opening both their right-click menus (the
example below was two application launchers, but the desktop then an
empty section of the bottom bar also works)
- click "Task Manager settings" in the second menu
- click Cancel
The screen briefly goes black, then reappears with a crash reporter icon
in the system tray; opening this finds the following backtrace.
It can only be set up under Wayland: under X11, opening another
right-click menu closes the first. The backtrace also points to
libqt5wayland5, but it is possible the real bug is elsewhere.
Possibly related: upstream bugs
https://bugs.kde.org/show_bug.cgi?id=375411 and
https://bugs.kde.org/show_bug.cgi?id=377345 crash in the same place, but
it's unclear whether they had two menus open.
Copying and pasting the backtrace also seems to be difficult: it always
took two attempts to kwrite, and never worked at all to gedit.
Triggering this bug too many times can make the screen *stay* black
(i.e. potential data loss, but seems unlikely to happen outside of
deliberate testing).
I have only tested stable, as I suspect running a full desktop in a
build chroot won't work.
Application: Plasma (plasmashell), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fab044cd940 (LWP 939))]
Thread 9 (Thread 0x7faa3bbff700 (LWP 1087)):
#0 pthread_cond_wait@@GLIBC_2.3.2 () at
../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1 0x00007faaff297c6b in QWaitConditionPrivate::wait
(time=18446744073709551615, this=0x55bdfd01e900) at
thread/qwaitcondition_unix.cpp:143
#2 QWaitCondition::wait (this=this@entry=0x55bdfd01eac8,
mutex=mutex@entry=0x55bdfd01eac0, time=time@entry=18446744073709551615)
at thread/qwaitcondition_unix.cpp:215
#3 0x00007fab0251c405 in QSGRenderThreadEventQueue::takeEvent
(wait=true, this=0x55bdfd01eab8) at scenegraph/qsgthreadedrenderloop.cpp:242
#4 QSGRenderThread::processEventsAndWaitForMore
(this=this@entry=0x55bdfd01ea40) at scenegraph/qsgthreadedrenderloop.cpp:690
#5 0x00007fab0251ccfa in QSGRenderThread::run (this=0x55bdfd01ea40) at
scenegraph/qsgthreadedrenderloop.cpp:719
#6 0x00007faaff296da8 in QThreadPrivate::start (arg=0x55bdfd01ea40) at
thread/qthread_unix.cpp:368
#7 0x00007faafe3a9494 in start_thread (arg=0x7faa3bbff700) at
pthread_create.c:333
#8 0x00007faafebafaff in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:97
Thread 8 (Thread 0x7faa40981700 (LWP 1051)):
#0 pthread_cond_wait@@GLIBC_2.3.2 () at
../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1 0x00007faaff297c6b in QWaitConditionPrivate::wait
(time=18446744073709551615, this=0x55bdfca21e80) at
thread/qwaitcondition_unix.cpp:143
#2 QWaitCondition::wait (this=this@entry=0x55bdfca55768,
mutex=mutex@entry=0x55bdfca55760, time=time@entry=18446744073709551615)
at thread/qwaitcondition_unix.cpp:215
#3 0x00007fab0251c405 in QSGRenderThreadEventQueue::takeEvent
(wait=true, this=0x55bdfca55758) at scenegraph/qsgthreadedrenderloop.cpp:242
#4 QSGRenderThread::processEventsAndWaitForMore
(this=this@entry=0x55bdfca556e0) at scenegraph/qsgthreadedrenderloop.cpp:690
#5 0x00007fab0251ccfa in QSGRenderThread::run (this=0x55bdfca556e0) at
scenegraph/qsgthreadedrenderloop.cpp:719
#6 0x00007faaff296da8 in QThreadPrivate::start (arg=0x55bdfca556e0) at
thread/qthread_unix.cpp:368
#7 0x00007faafe3a9494 in start_thread (arg=0x7faa40981700) at
pthread_create.c:333
#8 0x00007faafebafaff in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:97
Thread 7 (Thread 0x7faa52c9a700 (LWP 1038)):
#0 pthread_cond_wait@@GLIBC_2.3.2 () at
../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1 0x00007faaff297c6b in QWaitConditionPrivate::wait
(time=18446744073709551615, this=0x55bdfb70f4b0) at
thread/qwaitcondition_unix.cpp:143
#2 QWaitCondition::wait (this=this@entry=0x55bdfbaab7c8,
mutex=mutex@entry=0x55bdfbaab7c0, time=time@entry=18446744073709551615)
at thread/qwaitcondition_unix.cpp:215
#3 0x00007fab0251c405 in QSGRenderThreadEventQueue::takeEvent
(wait=true, this=0x55bdfbaab7b8) at scenegraph/qsgthreadedrenderloop.cpp:242
#4 QSGRenderThread::processEventsAndWaitForMore
(this=this@entry=0x55bdfbaab740) at scenegraph/qsgthreadedrenderloop.cpp:690
#5 0x00007fab0251ccfa in QSGRenderThread::run (this=0x55bdfbaab740) at
scenegraph/qsgthreadedrenderloop.cpp:719
#6 0x00007faaff296da8 in QThreadPrivate::start (arg=0x55bdfbaab740) at
thread/qthread_unix.cpp:368
#7 0x00007faafe3a9494 in start_thread (arg=0x7faa52c9a700) at
pthread_create.c:333
#8 0x00007faafebafaff in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:97
Thread 6 (Thread 0x7faa58a56700 (LWP 1037)):
#0 0x00007faafeba66ad in poll () at ../sysdeps/unix/syscall-template.S:84
#1 0x00007faafa5219f6 in g_main_context_poll (priority=<optimized out>,
n_fds=1, fds=0x7faa540013c0, timeout=<optimized out>,
context=0x7faa54000990) at ././glib/gmain.c:4228
#2 g_main_context_iterate (context=context@entry=0x7faa54000990,
block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at
././glib/gmain.c:3924
#3 0x00007faafa521b0c in g_main_context_iteration
(context=0x7faa54000990, may_block=may_block@entry=1) at
././glib/gmain.c:3990
#4 0x00007faaff4bb06b in QEventDispatcherGlib::processEvents
(this=0x7faa540008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#5 0x00007faaff4649ca in QEventLoop::exec
(this=this@entry=0x7faa58a55c10, flags=..., flags@entry=...) at
kernel/qeventloop.cpp:212
#6 0x00007faaff2920f3 in QThread::exec (this=this@entry=0x55bdfb6e0e30)
at thread/qthread.cpp:507
#7 0x00007fab024ad406 in QQuickPixmapReader::run (this=0x55bdfb6e0e30)
at util/qquickpixmapcache.cpp:822
#8 0x00007faaff296da8 in QThreadPrivate::start (arg=0x55bdfb6e0e30) at
thread/qthread_unix.cpp:368
#9 0x00007faafe3a9494 in start_thread (arg=0x7faa58a56700) at
pthread_create.c:333
#10 0x00007faafebafaff in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:97
Thread 5 (Thread 0x7faae639f700 (LWP 1032)):
#0 pthread_cond_wait@@GLIBC_2.3.2 () at
../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1 0x00007fab03f252c4 in ?? () from
/usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#2 0x00007fab03f25309 in ?? () from
/usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#3 0x00007faafe3a9494 in start_thread (arg=0x7faae639f700) at
pthread_create.c:333
#4 0x00007faafebafaff in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:97
Thread 4 (Thread 0x7faae7fff700 (LWP 1013)):
#0 0x00007faafeba271d in read () at ../sysdeps/unix/syscall-template.S:84
#1 0x00007faafa565d40 in read (__nbytes=16, __buf=0x7faae7ffea40,
__fd=<optimized out>) at /usr/include/x86_64-linux-gnu/bits/unistd.h:44
#2 g_wakeup_acknowledge (wakeup=0x7faae00025a0) at ././glib/gwakeup.c:210
#3 0x00007faafa5214be in g_main_context_check
(context=context@entry=0x7faadc000990, max_priority=2147483647,
fds=fds@entry=0x7faadc002e70, n_fds=n_fds@entry=1) at ././glib/gmain.c:3707
#4 0x00007faafa521994 in g_main_context_iterate
(context=context@entry=0x7faadc000990, block=block@entry=1,
dispatch=dispatch@entry=1, self=<optimized out>) at ././glib/gmain.c:3926
#5 0x00007faafa521b0c in g_main_context_iteration
(context=0x7faadc000990, may_block=may_block@entry=1) at
././glib/gmain.c:3990
#6 0x00007faaff4bb06b in QEventDispatcherGlib::processEvents
(this=0x7faadc0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#7 0x00007faaff4649ca in QEventLoop::exec
(this=this@entry=0x7faae7ffec60, flags=..., flags@entry=...) at
kernel/qeventloop.cpp:212
#8 0x00007faaff2920f3 in QThread::exec (this=<optimized out>) at
thread/qthread.cpp:507
#9 0x00007fab01b236a5 in ?? () from
/usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#10 0x00007faaff296da8 in QThreadPrivate::start (arg=0x55bdfb795d60) at
thread/qthread_unix.cpp:368
#11 0x00007faafe3a9494 in start_thread (arg=0x7faae7fff700) at
pthread_create.c:333
#12 0x00007faafebafaff in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:97
Thread 3 (Thread 0x7faaeda1c700 (LWP 970)):
#0 0x00007faafeba271d in read () at ../sysdeps/unix/syscall-template.S:84
#1 0x00007faafa565d40 in read (__nbytes=16, __buf=0x7faaeda1ba40,
__fd=<optimized out>) at /usr/include/x86_64-linux-gnu/bits/unistd.h:44
#2 g_wakeup_acknowledge (wakeup=0x7faae80027b0) at ././glib/gwakeup.c:210
#3 0x00007faafa5214be in g_main_context_check
(context=context@entry=0x7faae0000990, max_priority=2147483647,
fds=fds@entry=0x7faae0003070, n_fds=n_fds@entry=1) at ././glib/gmain.c:3707
#4 0x00007faafa521994 in g_main_context_iterate
(context=context@entry=0x7faae0000990, block=block@entry=1,
dispatch=dispatch@entry=1, self=<optimized out>) at ././glib/gmain.c:3926
#5 0x00007faafa521b0c in g_main_context_iteration
(context=0x7faae0000990, may_block=may_block@entry=1) at
././glib/gmain.c:3990
#6 0x00007faaff4bb06b in QEventDispatcherGlib::processEvents
(this=0x7faae00008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#7 0x00007faaff4649ca in QEventLoop::exec
(this=this@entry=0x7faaeda1bc60, flags=..., flags@entry=...) at
kernel/qeventloop.cpp:212
#8 0x00007faaff2920f3 in QThread::exec (this=<optimized out>) at
thread/qthread.cpp:507
#9 0x00007fab01b236a5 in ?? () from
/usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#10 0x00007faaff296da8 in QThreadPrivate::start (arg=0x55bdfb745050) at
thread/qthread_unix.cpp:368
#11 0x00007faafe3a9494 in start_thread (arg=0x7faaeda1c700) at
pthread_create.c:333
#12 0x00007faafebafaff in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:97
Thread 2 (Thread 0x7faaef452700 (LWP 956)):
#0 0x00007faafeba66ad in poll () at ../sysdeps/unix/syscall-template.S:84
#1 0x00007faafa5219f6 in g_main_context_poll (priority=<optimized out>,
n_fds=1, fds=0x7faae8003220, timeout=<optimized out>,
context=0x7faae8000990) at ././glib/gmain.c:4228
#2 g_main_context_iterate (context=context@entry=0x7faae8000990,
block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at
././glib/gmain.c:3924
#3 0x00007faafa521b0c in g_main_context_iteration
(context=0x7faae8000990, may_block=may_block@entry=1) at
././glib/gmain.c:3990
#4 0x00007faaff4bb06b in QEventDispatcherGlib::processEvents
(this=0x7faae80008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#5 0x00007faaff4649ca in QEventLoop::exec
(this=this@entry=0x7faaef451c50, flags=..., flags@entry=...) at
kernel/qeventloop.cpp:212
#6 0x00007faaff2920f3 in QThread::exec (this=<optimized out>) at
thread/qthread.cpp:507
#7 0x00007fab0460e6d5 in ?? () from
/usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#8 0x00007faaff296da8 in QThreadPrivate::start (arg=0x7fab04683d60) at
thread/qthread_unix.cpp:368
#9 0x00007faafe3a9494 in start_thread (arg=0x7faaef452700) at
pthread_create.c:333
#10 0x00007faafebafaff in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:97
Thread 1 (Thread 0x7fab044cd940 (LWP 939)):
[KCrash Handler]
#6 0x0000000000000000 in ?? ()
#7 0x00007faaf0d32cad in
QtWaylandClient::QWaylandDisplay::handleKeyboardFocusChanged
(this=0x55bdfb681e80, inputDevice=<optimized out>) at
qwaylanddisplay.cpp:418
#8 0x00007faaf0d29e1e in
QtWaylandClient::QWaylandInputDevice::Keyboard::keyboard_leave
(this=0x55bdfb687990, time=<optimized out>, surface=<optimized out>) at
qwaylandinputdevice.cpp:629
#9 0x00007faafa0cc038 in ffi_call_unix64 () at ../src/x86/unix64.S:76
#10 0x00007faafa0cba9a in ffi_call (cif=cif@entry=0x7ffc7f66a120,
fn=<optimized out>, rvalue=<optimized out>, rvalue@entry=0x0,
avalue=avalue@entry=0x7ffc7f66a1f0) at ../src/x86/ffi64.c:525
#11 0x00007faafe19bf2e in wl_closure_invoke
(closure=closure@entry=0x55bdfd80fcc0, flags=flags@entry=1,
target=<optimized out>, target@entry=0x55bdfb687af0,
opcode=opcode@entry=2, data=<optimized out>) at ../src/connection.c:935
#12 0x00007faafe198bc0 in dispatch_event
(display=display@entry=0x55bdfb6702d0, queue=<optimized out>) at
../src/wayland-client.c:1310
#13 0x00007faafe199e14 in dispatch_queue (queue=0x55bdfb670398,
display=0x55bdfb6702d0) at ../src/wayland-client.c:1456
#14 wl_display_dispatch_queue_pending (display=0x55bdfb6702d0,
queue=0x55bdfb670398) at ../src/wayland-client.c:1698
#15 0x00007faafe199e6c in wl_display_dispatch_pending
(display=<optimized out>) at ../src/wayland-client.c:1761
#16 0x00007faaf0d31812 in
QtWaylandClient::QWaylandDisplay::flushRequests (this=0x55bdfb681e80) at
qwaylanddisplay.cpp:181
#17 0x00007faaff4925e9 in QMetaObject::activate
(sender=sender@entry=0x55bdfb6ea8a0, signalOffset=<optimized out>,
local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x0) at
kernel/qobject.cpp:3740
#18 0x00007faaff492f07 in QMetaObject::activate
(sender=sender@entry=0x55bdfb6ea8a0, m=m@entry=0x7faaff6b0360
<QAbstractEventDispatcher::staticMetaObject>,
local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x0) at
kernel/qobject.cpp:3602
#19 0x00007faaff50bd53 in QAbstractEventDispatcher::awake
(this=this@entry=0x55bdfb6ea8a0) at
.moc/moc_qabstracteventdispatcher.cpp:143
#20 0x00007faaff4bb08e in QEventDispatcherGlib::processEvents
(this=0x55bdfb6ea8a0, flags=...) at kernel/qeventdispatcher_glib.cpp:430
#21 0x00007faaff4649ca in QEventLoop::exec
(this=this@entry=0x7ffc7f66a540, flags=..., flags@entry=...) at
kernel/qeventloop.cpp:212
#22 0x00007faaff46d13c in QCoreApplication::exec () at
kernel/qcoreapplication.cpp:1261
#23 0x000055bdfa4c206f in main (argc=<optimized out>, argv=<optimized
out>) at ./shell/main.cpp:166