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

Reply via email to