Bug 389262

Summary: KWin crashes after an update
Product: [Plasma] kwin Reporter: Jonathan Sambrook <jonathan>
Component: generalAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED UPSTREAM    
Severity: crash Keywords: drkonqi
Priority: NOR    
Version First Reported In: 5.11.5   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Jonathan Sambrook 2018-01-20 18:56:22 UTC
Application: kwin_x11 (5.11.5)

Qt Version: 5.9.1
Frameworks Version: 5.41.0
Operating System: Linux 4.13.0-31-generic x86_64
Distribution: Ubuntu 17.10

-- Information about the crash:
I've just apt dist-upgraded and KWin crashes shortly after starting up. It then tries to auto-restart, but crashes immediately.

The crash can be reproduced every time.

-- Backtrace:
Application: KWin (kwin_x11), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f6e1aa25180 (LWP 2822))]

Thread 6 (Thread 0x7f6d65491700 (LWP 2915)):
#0  0x00007f6e133ab072 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x5612b58ae280) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x5612b58ae230, cond=0x5612b58ae258) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=0x5612b58ae258, mutex=0x5612b58ae230) at pthread_cond_wait.c:655
#3  0x00007f6d5ebd5d1b in util_queue_thread_func (input=<optimized out>) at ../../../../include/c11/threads_posix.h:155
#4  0x00007f6d5ebd5a38 in impl_thrd_routine (p=<optimized out>) at ../../../../include/c11/threads_posix.h:87
#5  0x00007f6e133a47fc in start_thread (arg=0x7f6d65491700) at pthread_create.c:465
#6  0x00007f6e1a3a7b5f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7f6df9150700 (LWP 2914)):
#0  0x00007f6e133ab072 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x5612b58aedb8) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x5612b58aed68, cond=0x5612b58aed90) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=0x5612b58aed90, mutex=0x5612b58aed68) at pthread_cond_wait.c:655
#3  0x00007f6d5ebd5d1b in util_queue_thread_func (input=<optimized out>) at ../../../../include/c11/threads_posix.h:155
#4  0x00007f6d5ebd5a38 in impl_thrd_routine (p=<optimized out>) at ../../../../include/c11/threads_posix.h:87
#5  0x00007f6e133a47fc in start_thread (arg=0x7f6df9150700) at pthread_create.c:465
#6  0x00007f6e1a3a7b5f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7f6de61a2700 (LWP 2832)):
#0  0x00007f6e133ab072 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x7f6e16bfdfb8) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x7f6e16bfdf68, cond=0x7f6e16bfdf90) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=0x7f6e16bfdf90, mutex=0x7f6e16bfdf68) at pthread_cond_wait.c:655
#3  0x00007f6e16909bd4 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#4  0x00007f6e16909c19 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#5  0x00007f6e133a47fc in start_thread (arg=0x7f6de61a2700) at pthread_create.c:465
#6  0x00007f6e1a3a7b5f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7f6df35ef700 (LWP 2831)):
#0  0x00007f6e1a39ba4b in __GI_ppoll (fds=0x7f6de8000d18, nfds=1, timeout=<optimized out>, sigmask=0x0) at ../sysdeps/unix/sysv/linux/ppoll.c:39
#1  0x00007f6e179bc151 in qt_safe_poll(pollfd*, unsigned long, timespec const*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007f6e179bd86e in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007f6e17965e3a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f6e177853ca in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f6e11eabf45 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#6  0x00007f6e1778a29d in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f6e133a47fc in start_thread (arg=0x7f6df35ef700) at pthread_create.c:465
#8  0x00007f6e1a3a7b5f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f6dfa3bd700 (LWP 2829)):
#0  0x00007f6e1a39ba4b in __GI_ppoll (fds=0x7f6df400e778, nfds=1, timeout=<optimized out>, sigmask=0x0) at ../sysdeps/unix/sysv/linux/ppoll.c:39
#1  0x00007f6e179bc151 in qt_safe_poll(pollfd*, unsigned long, timespec const*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007f6e179bd86e in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007f6e17965e3a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f6e177853ca in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f6e1106ce45 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#6  0x00007f6e1778a29d in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f6e133a47fc in start_thread (arg=0x7f6dfa3bd700) at pthread_create.c:465
#8  0x00007f6e1a3a7b5f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f6e1aa25180 (LWP 2822)):
[KCrash Handler]
#6  __memcpy_ssse3 () at ../sysdeps/x86_64/multiarch/memcpy-ssse3.S:2832
#7  0x00007f6d5ecda4d5 in tgsi_dup_tokens (tokens=0x5612b5c0aa40) at /usr/include/x86_64-linux-gnu/bits/string_fortified.h:34
#8  0x00007f6d5ef4c0d4 in r600_create_shader_state_tokens (ctx=<optimized out>, tokens=0x5612b5c0aa40, pipe_shader_type=1) at ../../../../../../src/gallium/drivers/r600/r600_state_common.c:907
#9  0x00007f6d5ef4c11c in r600_create_shader_state (ctx=<optimized out>, state=0x7fff62259dd0, pipe_shader_type=1) at ../../../../../../src/gallium/drivers/r600/r600_state_common.c:917
#10 0x00007f6d5eb1b988 in st_create_fp_variant (st=<optimized out>, stfp=0x5612b5c1fd70, key=0x7fff62259f80) at ../../../../src/mesa/state_tracker/st_program.c:1221
#11 0x00007f6d5eb1daf3 in st_get_fp_variant (st=<optimized out>, stfp=0x5612b5c1fd70, key=0x7fff62259f80) at ../../../../src/mesa/state_tracker/st_program.c:1248
#12 0x00007f6d5ead1880 in st_update_fp (st=0x5612b5b01410) at ../../../../src/mesa/state_tracker/st_atom_shader.c:141
#13 0x00007f6d5eacdc27 in st_validate_state (st=0x5612b5b01410, pipeline=<optimized out>) at ../../../../src/mesa/state_tracker/st_atom.c:251
#14 0x00007f6d5eaec7df in st_draw_vbo (ctx=0x7f6df0037010, prims=0x7fff6225a120, nr_prims=1, ib=0x0, index_bounds_valid=<optimized out>, min_index=<optimized out>, max_index=<optimized out>, tfb_vertcount=0x0, stream=0, indirect=0x0) at ../../../../src/mesa/state_tracker/st_draw.c:122
#15 0x00007f6d5eaaf7a2 in vbo_draw_arrays (ctx=0x7f6df0037010, mode=6, start=0, count=4, numInstances=1, baseInstance=0, drawID=0) at ../../../../src/mesa/vbo/vbo_exec_array.c:486
#16 0x00007f6d5eaafacb in vbo_exec_DrawArrays (mode=6, start=0, count=4) at ../../../../src/mesa/vbo/vbo_exec_array.c:641
#17 0x00007f6e18271965 in QOpenGLTextureGlyphCache::resizeTextureData(int, int) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#18 0x00007f6e181f644a in QTextureGlyphCache::fillInPendingGlyphs() () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#19 0x00007f6e1257cfd6 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#20 0x00007f6e12579cc9 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#21 0x00007f6e126273c8 in QQuickTextNode::addGlyphs(QPointF const&, QGlyphRun const&, QColor const&, QQuickText::TextStyle, QColor const&, QSGNode*) () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#22 0x00007f6e1262c4d4 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#23 0x00007f6e1262832a in QQuickTextNode::addTextLayout(QPointF const&, QTextLayout*, QColor const&, QQuickText::TextStyle, QColor const&, QColor const&, QColor const&, QColor const&, int, int, int, int) () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#24 0x00007f6e12626f91 in QQuickText::updatePaintNode(QSGNode*, QQuickItem::UpdatePaintNodeData*) () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#25 0x00007f6e125e1868 in QQuickWindowPrivate::updateDirtyNode(QQuickItem*) () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#26 0x00007f6e125e20e3 in QQuickWindowPrivate::updateDirtyNodes() () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#27 0x00007f6e125e3352 in QQuickWindowPrivate::syncSceneGraph() () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#28 0x00007f6e12578325 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#29 0x00007f6e1257937a in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#30 0x00007f6e17f32d35 in QWindow::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#31 0x00007f6e125ecd05 in QQuickWindow::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#32 0x00007f6d643dbbe3 in PlasmaQuick::Dialog::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libKF5PlasmaQuick.so.5
#33 0x00007f6e186e246c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#34 0x00007f6e186e9d34 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#35 0x00007f6e17967de8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#36 0x00007f6e17f27e5f in QGuiApplicationPrivate::processExposeEvent(QWindowSystemInterfacePrivate::ExposeEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#37 0x00007f6e17f28a9d in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#38 0x00007f6e17f00cab in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#39 0x00007f6e014d69b6 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#40 0x00007f6e17965e3a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#41 0x00007f6e1796eda4 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#42 0x00007f6e1a67bdb6 in kdemain () from /usr/lib/x86_64-linux-gnu/libkdeinit5_kwin_x11.so
#43 0x00007f6e1a2b41c1 in __libc_start_main (main=0x5612b4e407b0, argc=1, argv=0x7fff6225d7c8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff6225d7b8) at ../csu/libc-start.c:308
#44 0x00005612b4e407ea in _start ()

Reported using DrKonqi
Comment 1 Martin Flöser 2018-02-01 20:02:37 UTC
Crash happens in r600 driver. Backtrace is really good; please report to mesa developers.