Bug 358295 - Plasma crashes on hovering / clicking of windows in the panel (wayland)
Summary: Plasma crashes on hovering / clicking of windows in the panel (wayland)
Status: RESOLVED UPSTREAM
Alias: None
Product: plasmashell
Classification: Plasma
Component: generic-wayland (other bugs)
Version First Reported In: 5.5.2
Platform: openSUSE Linux
: NOR crash
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2016-01-21 07:09 UTC by Christoph Obexer
Modified: 2016-10-05 07:29 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christoph Obexer 2016-01-21 07:09:26 UTC
Application: plasmashell (5.5.2)

Qt Version: 5.5.1
Operating System: Linux 4.4.0-1-default x86_64
Distribution: "openSUSE Tumbleweed (20160117) (x86_64)"

-- Information about the crash:
- What I was doing when the application crashed:
Hover over window items in the windowswither(?) or clicking windows.
Plasma will then very often crash.

The crash can be reproduced every time.

-- Backtrace:
Application: Plasma (plasmashell), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
[Current thread is 1 (Thread 0x7feaa6dc88c0 (LWP 3817))]

Thread 15 (Thread 0x7fea91de5700 (LWP 3820)):
#0  0x00007feaa034e24d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fea9ca43264 in  () at /usr/lib64/libglib-2.0.so.0
#2  0x00007fea9ca4336c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#3  0x00007feaa0c6452b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#4  0x00007feaa0c0e63a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#5  0x00007feaa0a3ab1c in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#6  0x00007feaa0a3f94f in  () at /usr/lib64/libQt5Core.so.5
#7  0x00007fea9fb554a4 in start_thread (arg=0x7fea91de5700) at pthread_create.c:334
#8  0x00007feaa0356bdd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 14 (Thread 0x7fea8b1db700 (LWP 3827)):
#0  0x00007ffd75919c9f in clock_gettime ()
#1  0x00007feaa03637d6 in __GI___clock_gettime (clock_id=1, tp=0x7fea8b1daaa0) at ../sysdeps/unix/clock_gettime.c:115
#2  0x00007feaa0aeb1a6 in  () at /usr/lib64/libQt5Core.so.5
#3  0x00007feaa0c620e9 in QTimerInfoList::updateCurrentTime() () at /usr/lib64/libQt5Core.so.5
#4  0x00007feaa0c625f5 in QTimerInfoList::timerWait(timespec&) () at /usr/lib64/libQt5Core.so.5
#5  0x00007feaa0c6398e in  () at /usr/lib64/libQt5Core.so.5
#6  0x00007fea9ca4288d in g_main_context_prepare () at /usr/lib64/libglib-2.0.so.0
#7  0x00007fea9ca43193 in  () at /usr/lib64/libglib-2.0.so.0
#8  0x00007fea9ca4336c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#9  0x00007feaa0c6452b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#10 0x00007feaa0c0e63a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#11 0x00007feaa0a3ab1c in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#12 0x00007feaa3d079a5 in  () at /usr/lib64/libQt5Qml.so.5
#13 0x00007feaa0a3f94f in  () at /usr/lib64/libQt5Core.so.5
#14 0x00007fea9fb554a4 in start_thread (arg=0x7fea8b1db700) at pthread_create.c:334
#15 0x00007feaa0356bdd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 13 (Thread 0x7fea7cf16700 (LWP 3828)):
#0  0x00007fea9fb5b07f in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007fea839900b3 in thread_function (mtx=0xfcbfd0, cond=0xfcbff8) at ../../../../include/c11/threads_posix.h:159
#2  0x00007fea839900b3 in thread_function (sema=0xfcbfd0) at ../../../../src/gallium/auxiliary/os/os_thread.h:259
#3  0x00007fea839900b3 in thread_function (init_data=init_data@entry=0xfcbf28) at lp_rast.c:805
#4  0x00007fea8398ff37 in impl_thrd_routine (p=<optimized out>) at ../../../../include/c11/threads_posix.h:87
#5  0x00007fea9fb554a4 in start_thread (arg=0x7fea7cf16700) at pthread_create.c:334
#6  0x00007feaa0356bdd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 12 (Thread 0x7fea7c715700 (LWP 3829)):
#0  0x00007fea9fb5b07f in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007fea839900b3 in thread_function (mtx=0xfcc138, cond=0xfcc160) at ../../../../include/c11/threads_posix.h:159
#2  0x00007fea839900b3 in thread_function (sema=0xfcc138) at ../../../../src/gallium/auxiliary/os/os_thread.h:259
#3  0x00007fea839900b3 in thread_function (init_data=init_data@entry=0xfcc090) at lp_rast.c:805
#4  0x00007fea8398ff37 in impl_thrd_routine (p=<optimized out>) at ../../../../include/c11/threads_posix.h:87
#5  0x00007fea9fb554a4 in start_thread (arg=0x7fea7c715700) at pthread_create.c:334
#6  0x00007feaa0356bdd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 11 (Thread 0x7fea7bf14700 (LWP 3830)):
#0  0x00007fea9fb5b07f in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007fea839900b3 in thread_function (mtx=0xfcc2a0, cond=0xfcc2c8) at ../../../../include/c11/threads_posix.h:159
#2  0x00007fea839900b3 in thread_function (sema=0xfcc2a0) at ../../../../src/gallium/auxiliary/os/os_thread.h:259
#3  0x00007fea839900b3 in thread_function (init_data=init_data@entry=0xfcc1f8) at lp_rast.c:805
#4  0x00007fea8398ff37 in impl_thrd_routine (p=<optimized out>) at ../../../../include/c11/threads_posix.h:87
#5  0x00007fea9fb554a4 in start_thread (arg=0x7fea7bf14700) at pthread_create.c:334
#6  0x00007feaa0356bdd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 10 (Thread 0x7fea7b713700 (LWP 3831)):
#0  0x00007fea9fb5b07f in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007fea839900b3 in thread_function (mtx=0xfcc408, cond=0xfcc430) at ../../../../include/c11/threads_posix.h:159
#2  0x00007fea839900b3 in thread_function (sema=0xfcc408) at ../../../../src/gallium/auxiliary/os/os_thread.h:259
#3  0x00007fea839900b3 in thread_function (init_data=init_data@entry=0xfcc360) at lp_rast.c:805
#4  0x00007fea8398ff37 in impl_thrd_routine (p=<optimized out>) at ../../../../include/c11/threads_posix.h:87
#5  0x00007fea9fb554a4 in start_thread (arg=0x7fea7b713700) at pthread_create.c:334
#6  0x00007feaa0356bdd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 9 (Thread 0x7fea758a6700 (LWP 3836)):
#0  0x00007feaa034a22d in read () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fea9ca85210 in  () at /usr/lib64/libglib-2.0.so.0
#2  0x00007fea9ca42d94 in g_main_context_check () at /usr/lib64/libglib-2.0.so.0
#3  0x00007fea9ca43208 in  () at /usr/lib64/libglib-2.0.so.0
#4  0x00007fea9ca4336c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#5  0x00007feaa0c6452b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#6  0x00007feaa0c0e63a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#7  0x00007feaa0a3ab1c in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#8  0x00007feaa3d079a5 in  () at /usr/lib64/libQt5Qml.so.5
#9  0x00007feaa0a3f94f in  () at /usr/lib64/libQt5Core.so.5
#10 0x00007fea9fb554a4 in start_thread (arg=0x7fea758a6700) at pthread_create.c:334
#11 0x00007feaa0356bdd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 8 (Thread 0x7fea6ffff700 (LWP 3837)):
#0  0x00007feaa0c63e0b in  () at /usr/lib64/libQt5Core.so.5
#1  0x00007fea9ca4288d in g_main_context_prepare () at /usr/lib64/libglib-2.0.so.0
#2  0x00007fea9ca43193 in  () at /usr/lib64/libglib-2.0.so.0
#3  0x00007fea9ca4336c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#4  0x00007feaa0c6452b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#5  0x00007feaa0c0e63a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#6  0x00007feaa0a3ab1c in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#7  0x00007feaa3d079a5 in  () at /usr/lib64/libQt5Qml.so.5
#8  0x00007feaa0a3f94f in  () at /usr/lib64/libQt5Core.so.5
#9  0x00007fea9fb554a4 in start_thread (arg=0x7fea6ffff700) at pthread_create.c:334
#10 0x00007feaa0356bdd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 7 (Thread 0x7fea6e109700 (LWP 3838)):
#0  0x00007fea9fb5b07f in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007feaa64aea84 in  () at /usr/lib64/libQt5Script.so.5
#2  0x00007feaa64aeac9 in  () at /usr/lib64/libQt5Script.so.5
#3  0x00007fea9fb554a4 in start_thread (arg=0x7fea6e109700) at pthread_create.c:334
#4  0x00007feaa0356bdd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 6 (Thread 0x7fe9e6a40700 (LWP 3839)):
#0  0x00007fea9ca8609a in g_private_get () at /usr/lib64/libglib-2.0.so.0
#1  0x00007fea9ca69380 in g_thread_self () at /usr/lib64/libglib-2.0.so.0
#2  0x00007fea9ca4335d in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#3  0x00007feaa0c6452b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#4  0x00007feaa0c0e63a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#5  0x00007feaa0a3ab1c in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#6  0x00007feaa488ce42 in  () at /usr/lib64/libQt5Quick.so.5
#7  0x00007feaa0a3f94f in  () at /usr/lib64/libQt5Core.so.5
#8  0x00007fea9fb554a4 in start_thread (arg=0x7fe9e6a40700) at pthread_create.c:334
#9  0x00007feaa0356bdd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 5 (Thread 0x7fe9df73f700 (LWP 3841)):
#0  0x00007fea9fb5b07f in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007feaa0a40abb in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib64/libQt5Core.so.5
#2  0x00007feaa48ff00e in  () at /usr/lib64/libQt5Quick.so.5
#3  0x00007feaa48ff853 in  () at /usr/lib64/libQt5Quick.so.5
#4  0x00007feaa0a3f94f in  () at /usr/lib64/libQt5Core.so.5
#5  0x00007fea9fb554a4 in start_thread (arg=0x7fe9df73f700) at pthread_create.c:334
#6  0x00007feaa0356bdd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 4 (Thread 0x7fe9dd8ea700 (LWP 3842)):
#0  0x00007fea9fb5b07f in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007feaa0a40abb in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib64/libQt5Core.so.5
#2  0x00007feaa48ff00e in  () at /usr/lib64/libQt5Quick.so.5
#3  0x00007feaa48ff853 in  () at /usr/lib64/libQt5Quick.so.5
#4  0x00007feaa0a3f94f in  () at /usr/lib64/libQt5Core.so.5
#5  0x00007fea9fb554a4 in start_thread (arg=0x7fe9dd8ea700) at pthread_create.c:334
#6  0x00007feaa0356bdd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7fe9d5290700 (LWP 3850)):
#0  0x00007feaa034e24d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fea9ca43264 in  () at /usr/lib64/libglib-2.0.so.0
#2  0x00007fea9ca4336c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#3  0x00007feaa0c6452b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#4  0x00007feaa0c0e63a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#5  0x00007feaa0a3ab1c in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#6  0x00007fe9d77a5e47 in KCupsConnection::run() () at /usr/lib64/libkcupslib.so
#7  0x00007feaa0a3f94f in  () at /usr/lib64/libQt5Core.so.5
#8  0x00007fea9fb554a4 in start_thread (arg=0x7fe9d5290700) at pthread_create.c:334
#9  0x00007feaa0356bdd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7fe9c562d700 (LWP 3926)):
[KCrash Handler]
#6  0x00007feaa039b8c9 in __memcpy_ssse3 () at ../sysdeps/x86_64/multiarch/memcpy-ssse3.S:2909
#7  0x00007fea895619a6 in dri2_wl_swrast_put_image2 (__len=18446744073709551612, __src=0x7fe9c016cac0, __dest=<optimized out>) at /usr/include/bits/string3.h:53
#8  0x00007fea895619a6 in dri2_wl_swrast_put_image2 (draw=0x7fe9c0003670, op=<optimized out>, x=<optimized out>, y=0, w=<optimized out>, h=1, stride=64, data=0x7fe9c016cac0 "\241\241\240\253", loaderPrivate=0x7fe9c00033f0) at drivers/dri2/platform_wayland.c:1609
#9  0x00007fea89561ba0 in dri2_wl_swrast_put_image (draw=<optimized out>, op=<optimized out>, x=<optimized out>, y=<optimized out>, w=<optimized out>, h=<optimized out>, data=0x7fe9c016cac0 "\241\241\240\253", loaderPrivate=0x7fe9c00033f0) at drivers/dri2/platform_wayland.c:1625
#10 0x00007fea8364e2a6 in drisw_put_image (height=<optimized out>, width=<optimized out>, data=<optimized out>, dPriv=<optimized out>) at drisw.c:71
#11 0x00007fea8364e2a6 in drisw_put_image (drawable=<optimized out>, data=<optimized out>, width=<optimized out>, height=<optimized out>) at drisw.c:141
#12 0x00007fea8364e9ce in drisw_swap_buffers (sub_box=0x0, ptex=0x7fe9c01fcde0, dPriv=0x7fe9c0003670) at drisw.c:164
#13 0x00007fea8364e9ce in drisw_swap_buffers (ptex=0x7fe9c01fcde0, dPriv=0x7fe9c0003670) at drisw.c:181
#14 0x00007fea8364e9ce in drisw_swap_buffers (dPriv=0x7fe9c0003670) at drisw.c:208
#15 0x00007fea8955fbc3 in dri2_wl_swrast_swap_buffers (drv=<optimized out>, disp=<optimized out>, draw=<optimized out>) at drivers/dri2/platform_wayland.c:1696
#16 0x00007fea89554f96 in eglSwapBuffers (dpy=0xf67430, surface=surface@entry=0x7fe9c00033f0) at main/eglapi.c:1010
#17 0x00007fea8833461e in QtWaylandClient::QWaylandGLContext::swapBuffers(QPlatformSurface*) (this=0x1ef82a0, surface=<optimized out>) at ../../../../hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp:521
#18 0x00007feaa11885d2 in QOpenGLContext::swapBuffers(QSurface*) () at /usr/lib64/libQt5Gui.so.5
#19 0x00007feaa48fa6e9 in  () at /usr/lib64/libQt5Quick.so.5
#20 0x00007feaa48ff72c in  () at /usr/lib64/libQt5Quick.so.5
#21 0x00007feaa0a3f94f in  () at /usr/lib64/libQt5Core.so.5
#22 0x00007fea9fb554a4 in start_thread (arg=0x7fe9c562d700) at pthread_create.c:334
#23 0x00007feaa0356bdd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7feaa6dc88c0 (LWP 3817)):
#0  0x00007fea9fb5b07f in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007feaa0a40abb in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib64/libQt5Core.so.5
#2  0x00007feaa48fc3ee in  () at /usr/lib64/libQt5Quick.so.5
#3  0x00007feaa48fe7bc in  () at /usr/lib64/libQt5Quick.so.5
#4  0x00007feaa48fee1b in  () at /usr/lib64/libQt5Quick.so.5
#5  0x00007feaa115cc3b in QWindow::event(QEvent*) () at /usr/lib64/libQt5Gui.so.5
#6  0x00007feaa492f621 in QQuickWindow::event(QEvent*) () at /usr/lib64/libQt5Quick.so.5
#7  0x00007feaa67df1f3 in PlasmaQuick::Dialog::event(QEvent*) () at /usr/lib64/libKF5PlasmaQuick.so.5
#8  0x00007fea89bb3f85 in  () at /usr/lib64/qt5/qml/org/kde/plasma/core/libcorebindingsplugin.so
#9  0x00007feaa1f878cc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#10 0x00007feaa1f8c9d6 in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#11 0x00007feaa0c10cf3 in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5
#12 0x00007feaa11556e4 in QGuiApplicationPrivate::processExposeEvent(QWindowSystemInterfacePrivate::ExposeEvent*) () at /usr/lib64/libQt5Gui.so.5
#13 0x00007feaa115637d in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () at /usr/lib64/libQt5Gui.so.5
#14 0x00007feaa113b9f8 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Gui.so.5
#15 0x00007fea924dbd20 in userEventSourceDispatch(GSource*, GSourceFunc, gpointer) (source=<optimized out>) at eventdispatchers/qeventdispatcher_glib.cpp:70
#16 0x00007fea9ca43097 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#17 0x00007fea9ca432c8 in  () at /usr/lib64/libglib-2.0.so.0
#18 0x00007fea9ca4336c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#19 0x00007feaa0c6450f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#20 0x00007feaa0c0e63a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#21 0x00007feaa0c162fd in QCoreApplication::exec() () at /usr/lib64/libQt5Core.so.5
#22 0x0000000000436571 in main ()

Reported using DrKonqi
Comment 1 Martin Flöser 2016-10-05 07:29:14 UTC
The crash happens in the mesa driver after Qt swapped buffer. It's not a bug in our code base. Given the recent developments in Wayland all over the stack I consider it as quite likely that this crash got fixed in Mesa by now.