Bug 380493

Summary: KWin crashes when title of a window changes
Product: [Plasma] kwin Reporter: VaryHeavy <anvariom>
Component: generalAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED UPSTREAM    
Severity: crash Keywords: drkonqi
Priority: NOR    
Version First Reported In: 5.8.7   
Target Milestone: ---   
Platform: Neon   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description VaryHeavy 2017-06-03 06:51:37 UTC
Application: kwin_x11 (5.8.7)

Qt Version: 5.7.1
Frameworks Version: 5.34.0
Operating System: Linux 4.4.0-79-generic x86_64
Distribution: KDE neon LTS User Edition 5.8

-- Information about the crash:
- What I was doing when the application crashed:

I am writing a text note in Kate, and when I saved the note (and window title changed), KWin crashed.
In addition, I had some other applications opened, like Firefox, Dolphin, Telegram Desktop or Avidemux.

The crash can be reproduced sometimes.

-- 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 0x7f8675559900 (LWP 1809))]

Thread 8 (Thread 0x7f8654b8c700 (LWP 21752)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f8672d1c9fb in QWaitConditionPrivate::wait (time=18446744073709551615, this=0x1d8e5e0) at thread/qwaitcondition_unix.cpp:143
#2  QWaitCondition::wait (this=this@entry=0x228d988, mutex=mutex@entry=0x228d980, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:215
#3  0x00007f866e3b547d in QSGRenderThreadEventQueue::takeEvent (wait=true, this=0x228d978) at scenegraph/qsgthreadedrenderloop.cpp:242
#4  QSGRenderThread::processEventsAndWaitForMore (this=this@entry=0x228d900) at scenegraph/qsgthreadedrenderloop.cpp:690
#5  0x00007f866e3b5d55 in QSGRenderThread::run (this=0x228d900) at scenegraph/qsgthreadedrenderloop.cpp:719
#6  0x00007f8672d1bb48 in QThreadPrivate::start (arg=0x228d900) at thread/qthread_unix.cpp:368
#7  0x00007f866ed8c6ba in start_thread (arg=0x7f8654b8c700) at pthread_create.c:333
#8  0x00007f867505b82d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 7 (Thread 0x7f86569d0700 (LWP 21751)):
#0  0x00007f867504fb5d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f8672f37aaa in poll (__timeout=<optimized out>, __nfds=1, __fds=0x7f8648012898) at /usr/include/x86_64-linux-gnu/bits/poll2.h:46
#2  qt_ppoll (timeout_ts=0x0, nfds=1, fds=0x7f8648012898) at kernel/qcore_unix.cpp:83
#3  qt_safe_poll (fds=0x7f8648012898, nfds=1, timeout_ts=timeout_ts@entry=0x0) at kernel/qcore_unix.cpp:102
#4  0x00007f8672f39392 in QEventDispatcherUNIX::processEvents (this=<optimized out>, flags=...) at kernel/qeventdispatcher_unix.cpp:500
#5  0x00007f8672ee70ba in QEventLoop::exec (this=this@entry=0x7f86569cfca0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#6  0x00007f8672d16f64 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:507
#7  0x00007f866dee9bf5 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#8  0x00007f8672d1bb48 in QThreadPrivate::start (arg=0x226cdf0) at thread/qthread_unix.cpp:368
#9  0x00007f866ed8c6ba in start_thread (arg=0x7f86569d0700) at pthread_create.c:333
#10 0x00007f867505b82d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 6 (Thread 0x7f86456ad700 (LWP 1992)):
#0  0x00007f867504fb5d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f8672f37aaa in poll (__timeout=<optimized out>, __nfds=1, __fds=0x7f863c000a58) at /usr/include/x86_64-linux-gnu/bits/poll2.h:46
#2  qt_ppoll (timeout_ts=0x0, nfds=1, fds=0x7f863c000a58) at kernel/qcore_unix.cpp:83
#3  qt_safe_poll (fds=0x7f863c000a58, nfds=1, timeout_ts=timeout_ts@entry=0x0) at kernel/qcore_unix.cpp:102
#4  0x00007f8672f39392 in QEventDispatcherUNIX::processEvents (this=<optimized out>, flags=...) at kernel/qeventdispatcher_unix.cpp:500
#5  0x00007f8672ee70ba in QEventLoop::exec (this=this@entry=0x7f86456acca0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#6  0x00007f8672d16f64 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:507
#7  0x00007f866dee9bf5 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#8  0x00007f8672d1bb48 in QThreadPrivate::start (arg=0x17a23b0) at thread/qthread_unix.cpp:368
#9  0x00007f866ed8c6ba in start_thread (arg=0x7f86456ad700) at pthread_create.c:333
#10 0x00007f867505b82d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 5 (Thread 0x7f863bfff700 (LWP 1920)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f86720b36f4 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#2  0x00007f86720b3739 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#3  0x00007f866ed8c6ba in start_thread (arg=0x7f863bfff700) at pthread_create.c:333
#4  0x00007f867505b82d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 4 (Thread 0x7f8655c21700 (LWP 1906)):
#0  QEventDispatcherUNIXPrivate::markPendingSocketNotifiers (this=this@entry=0x7f864c0008e0) at kernel/qeventdispatcher_unix.cpp:289
#1  0x00007f8672f38fd4 in QEventDispatcherUNIXPrivate::activateSocketNotifiers (this=this@entry=0x7f864c0008e0) at kernel/qeventdispatcher_unix.cpp:294
#2  0x00007f8672f3942d in QEventDispatcherUNIX::processEvents (this=<optimized out>, flags=...) at kernel/qeventdispatcher_unix.cpp:509
#3  0x00007f8672ee70ba in QEventLoop::exec (this=this@entry=0x7f8655c20ca0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#4  0x00007f8672d16f64 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:507
#5  0x00007f866dee9bf5 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#6  0x00007f8672d1bb48 in QThreadPrivate::start (arg=0x1539bf0) at thread/qthread_unix.cpp:368
#7  0x00007f866ed8c6ba in start_thread (arg=0x7f8655c21700) at pthread_create.c:333
#8  0x00007f867505b82d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7f8657fff700 (LWP 1862)):
#0  0x00007f867504fb5d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f8672f37aaa in poll (__timeout=<optimized out>, __nfds=1, __fds=0x7f865000f1a8) at /usr/include/x86_64-linux-gnu/bits/poll2.h:46
#2  qt_ppoll (timeout_ts=0x0, nfds=1, fds=0x7f865000f1a8) at kernel/qcore_unix.cpp:83
#3  qt_safe_poll (fds=0x7f865000f1a8, nfds=1, timeout_ts=timeout_ts@entry=0x0) at kernel/qcore_unix.cpp:102
#4  0x00007f8672f39392 in QEventDispatcherUNIX::processEvents (this=<optimized out>, flags=...) at kernel/qeventdispatcher_unix.cpp:500
#5  0x00007f8672ee70ba in QEventLoop::exec (this=this@entry=0x7f8657ffec90, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#6  0x00007f8672d16f64 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:507
#7  0x00007f8675678735 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#8  0x00007f8672d1bb48 in QThreadPrivate::start (arg=0x7f86756ecd60) at thread/qthread_unix.cpp:368
#9  0x00007f866ed8c6ba in start_thread (arg=0x7f8657fff700) at pthread_create.c:333
#10 0x00007f867505b82d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7f865e6bf700 (LWP 1827)):
#0  0x00007f867504fb5d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f86741b5c62 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007f86741b78d7 in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007f865f798d79 in QXcbEventReader::run (this=0x1307680) at qxcbconnection.cpp:1343
#4  0x00007f8672d1bb48 in QThreadPrivate::start (arg=0x1307680) at thread/qthread_unix.cpp:368
#5  0x00007f866ed8c6ba in start_thread (arg=0x7f865e6bf700) at pthread_create.c:333
#6  0x00007f867505b82d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7f8675559900 (LWP 1809)):
[KCrash Handler]
#6  0x0000000041da603b in ?? ()
#7  0x00007f864720a4a4 in ?? () from /usr/lib/nvidia-375/libnvidia-glcore.so.375.66
#8  0x00007f864720f768 in ?? () from /usr/lib/nvidia-375/libnvidia-glcore.so.375.66
#9  0x00007f8646de2468 in ?? () from /usr/lib/nvidia-375/libnvidia-glcore.so.375.66
#10 0x00007f8673545566 in QOpenGLFunctions::glDrawArrays (count=4, first=0, mode=6, this=0x240bbf0) at ../../include/QtGui/../../src/gui/opengl/qopenglfunctions.h:741
#11 QOpenGLTextureGlyphCache::resizeTextureData (this=0x24e1560, width=<optimized out>, height=<optimized out>) at opengl/qopengltextureglyphcache.cpp:392
#12 0x00007f86734e3e6a in QTextureGlyphCache::resizeCache (height=<optimized out>, width=<optimized out>, this=0x24e1560) at painting/qtextureglyphcache_p.h:130
#13 QTextureGlyphCache::fillInPendingGlyphs (this=this@entry=0x24e1560) at painting/qtextureglyphcache.cpp:247
#14 0x00007f866e39c9f5 in QSGTextMaskMaterial::populate (this=0x2007c50, p=..., glyphIndexes=..., glyphPositions=..., geometry=geometry@entry=0x1dba9c0, boundingRect=boundingRect@entry=0x7ffeec998ff0, baseLine=0x1dba9a8, margins=...) at scenegraph/qsgdefaultglyphnode_p.cpp:474
#15 0x00007f866e39a89c in QSGDefaultGlyphNode::update (this=0x1dba8b0) at scenegraph/qsgdefaultglyphnode.cpp:127
#16 0x00007f866e4228c7 in QQuickTextNode::addGlyphs (this=this@entry=0x1d92630, position=..., glyphs=..., color=..., style=style@entry=QQuickText::Normal, styleColor=..., parentNode=0x0) at items/qquicktextnode.cpp:115
#17 0x00007f866e42761c in QQuickTextNodeEngine::addToSceneGraph (this=this@entry=0x7ffeec999280, parentNode=parentNode@entry=0x1d92630, style=style@entry=QQuickText::Normal, styleColor=...) at items/qquicktextnodeengine.cpp:777
#18 0x00007f866e42387f in QQuickTextNode::addTextLayout (this=this@entry=0x1d92630, position=..., textLayout=textLayout@entry=0x2413898, color=..., style=QQuickText::Normal, styleColor=..., anchorColor=..., selectionColor=..., selectedTextColor=..., selectionStart=-1, selectionEnd=-1, lineStart=0, lineCount=1) at items/qquicktextnode.cpp:273
#19 0x00007f866e422279 in QQuickText::updatePaintNode (this=0x2161940, oldNode=<optimized out>, data=<optimized out>) at items/qquicktext.cpp:2305
#20 0x00007f866e3df720 in QQuickWindowPrivate::updateDirtyNode (this=this@entry=0x1dba060, item=item@entry=0x2161940) at items/qquickwindow.cpp:3121
#21 0x00007f866e3dff8b in QQuickWindowPrivate::updateDirtyNodes (this=this@entry=0x1dba060) at items/qquickwindow.cpp:2866
#22 0x00007f866e3e1020 in QQuickWindowPrivate::syncSceneGraph (this=0x1dba060) at items/qquickwindow.cpp:419
#23 0x00007f866e4c52ba in QQuickRenderControl::sync (this=<optimized out>) at items/qquickrendercontrol.cpp:272
#24 0x00007f8655e82170 in Aurorae::Decoration::<lambda()>::operator() (__closure=0x223c050) at /workspace/build/plugins/kdecorations/aurorae/src/aurorae.cpp:362
#25 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, Aurorae::Decoration::init()::<lambda()> >::call (arg=<optimized out>, f=...) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:135
#26 QtPrivate::Functor<Aurorae::Decoration::init()::<lambda()>, 0>::call<QtPrivate::List<>, void> (arg=<optimized out>, f=...) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:192
#27 QtPrivate::QFunctorSlotObject<Aurorae::Decoration::init()::<lambda()>, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, this_=0x223c040, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject_impl.h:169
#28 0x00007f8672f141f6 in QtPrivate::QSlotObjectBase::call (a=0x7ffeec99bb30, r=0x2536900, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobject_impl.h:101
#29 QMetaObject::activate (sender=sender@entry=0x285f570, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3723
#30 0x00007f8672f14837 in QMetaObject::activate (sender=sender@entry=0x285f570, m=m@entry=0x7f867312e700 <QTimer::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3602
#31 0x00007f8672f8cb50 in QTimer::timeout (this=this@entry=0x285f570) at .moc/moc_qtimer.cpp:198
#32 0x00007f8672f207a8 in QTimer::timerEvent (this=0x285f570, e=<optimized out>) at kernel/qtimer.cpp:254
#33 0x00007f8672f14d53 in QObject::event (this=0x285f570, e=<optimized out>) at kernel/qobject.cpp:1285
#34 0x00007f86737c7ecc in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x285f570, e=0x7ffeec99be50) at kernel/qapplication.cpp:3799
#35 0x00007f86737cf8c6 in QApplication::notify (this=0x7ffeec99c130, receiver=0x285f570, e=0x7ffeec99be50) at kernel/qapplication.cpp:3556
#36 0x00007f8672ee90c8 in QCoreApplication::notifyInternal2 (receiver=0x285f570, event=event@entry=0x7ffeec99be50) at kernel/qcoreapplication.cpp:988
#37 0x00007f8672f3b68e in QCoreApplication::sendEvent (event=0x7ffeec99be50, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#38 QTimerInfoList::activateTimers (this=this@entry=0x1343840) at kernel/qtimerinfo_unix.cpp:644
#39 0x00007f8672f3840c in QEventDispatcherUNIXPrivate::activateTimers (this=this@entry=0x13437a0) at kernel/qeventdispatcher_unix.cpp:249
#40 0x00007f8672f39602 in QEventDispatcherUNIX::processEvents (this=<optimized out>, flags=..., flags@entry=...) at kernel/qeventdispatcher_unix.cpp:514
#41 0x00007f865f81185d in QUnixEventDispatcherQPA::processEvents (this=<optimized out>, flags=...) at eventdispatchers/qunixeventdispatcher.cpp:68
#42 0x00007f8672ee70ba in QEventLoop::exec (this=this@entry=0x7ffeec99c020, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#43 0x00007f8672eef6cc in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1261
#44 0x00007f867322424c in QGuiApplication::exec () at kernel/qguiapplication.cpp:1633
#45 0x00007f86737c7e25 in QApplication::exec () at kernel/qapplication.cpp:2975
#46 0x00007f8675327206 in kdemain (argc=1, argv=0x7ffeec99c2b8) at /workspace/build/main_x11.cpp:466
#47 0x00007f8674f75830 in __libc_start_main (main=0x400710 <main(int, char**)>, argc=1, argv=0x7ffeec99c2b8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffeec99c2a8) at ../csu/libc-start.c:291
#48 0x0000000000400749 in _start ()

Possible duplicates by query: bug 373134, bug 364259, bug 364008.

Reported using DrKonqi
Comment 1 Christoph Feck 2017-06-06 15:27:46 UTC
Unfortunately it crashes in the proprietary NVIDIA driver. There is probably nothing we can do about it. From what the backtrace shows, you can workaround by using the breeze window decoration.
Comment 2 Martin Flöser 2017-06-17 12:16:47 UTC
Crash in proprietary blob, nothing we can do.