Bug 380184

Summary: KWin crashed after switching of Window Decoration theme
Product: [Plasma] kwin Reporter: lhaastdaiz
Component: generalAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED DUPLICATE    
Severity: crash Keywords: drkonqi
Priority: NOR    
Version: 5.9.5   
Target Milestone: ---   
Platform: Neon   
OS: Linux   
Latest Commit: Version Fixed In:

Description lhaastdaiz 2017-05-25 12:43:53 UTC
Application: kwin_x11 (5.9.5)

Qt Version: 5.7.1
Frameworks Version: 5.33.0
Operating System: Linux 4.8.0-52-generic x86_64
Distribution: KDE neon User Edition 5.9

-- Information about the crash:
KWin crashed while switching Window Decoration themes. I believe the crash occured while I switched from the Air-Oxygen theme to the Plastik theme.

I tried to recreate the crash but was unable to, and I couldn't find kwin-x11 debug symbols so they weren't included.

The crash does not seem to be reproducible.

-- 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 0x7f54169e0940 (LWP 1383))]

Thread 8 (Thread 0x7f53dfbbd700 (LWP 11055)):
#0  0x00007f54164cab5d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f5414390aaa in poll (__timeout=<optimized out>, __nfds=1, __fds=0x7f53d0000ac8) at /usr/include/x86_64-linux-gnu/bits/poll2.h:46
#2  qt_ppoll (timeout_ts=0x0, nfds=1, fds=0x7f53d0000ac8) at kernel/qcore_unix.cpp:83
#3  qt_safe_poll (fds=0x7f53d0000ac8, nfds=1, timeout_ts=timeout_ts@entry=0x0) at kernel/qcore_unix.cpp:102
#4  0x00007f5414392392 in QEventDispatcherUNIX::processEvents (this=<optimized out>, flags=...) at kernel/qeventdispatcher_unix.cpp:500
#5  0x00007f54143400ba in QEventLoop::exec (this=this@entry=0x7f53dfbbcc60, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#6  0x00007f541416ff64 in QThread::exec (this=this@entry=0x21f8f50) at thread/qthread.cpp:507
#7  0x00007f540f349bf5 in QQmlThreadPrivate::run (this=0x21f8f50) at qml/ftw/qqmlthread.cpp:147
#8  0x00007f5414174b48 in QThreadPrivate::start (arg=0x21f8f50) at thread/qthread_unix.cpp:368
#9  0x00007f54101db6ba in start_thread (arg=0x7f53dfbbd700) at pthread_create.c:333
#10 0x00007f54164d682d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 7 (Thread 0x7f53f5b30700 (LWP 11013)):
#0  0x00007f54164cab5d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f5414390aaa in poll (__timeout=<optimized out>, __nfds=1, __fds=0x7f53e808e9d8) at /usr/include/x86_64-linux-gnu/bits/poll2.h:46
#2  qt_ppoll (timeout_ts=0x0, nfds=1, fds=0x7f53e808e9d8) at kernel/qcore_unix.cpp:83
#3  qt_safe_poll (fds=0x7f53e808e9d8, nfds=1, timeout_ts=timeout_ts@entry=0x0) at kernel/qcore_unix.cpp:102
#4  0x00007f5414392392 in QEventDispatcherUNIX::processEvents (this=<optimized out>, flags=...) at kernel/qeventdispatcher_unix.cpp:500
#5  0x00007f54143400ba in QEventLoop::exec (this=this@entry=0x7f53f5b2fc60, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#6  0x00007f541416ff64 in QThread::exec (this=this@entry=0x2130ca0) at thread/qthread.cpp:507
#7  0x00007f540f349bf5 in QQmlThreadPrivate::run (this=0x2130ca0) at qml/ftw/qqmlthread.cpp:147
#8  0x00007f5414174b48 in QThreadPrivate::start (arg=0x2130ca0) at thread/qthread_unix.cpp:368
#9  0x00007f54101db6ba in start_thread (arg=0x7f53f5b30700) at pthread_create.c:333
#10 0x00007f54164d682d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 6 (Thread 0x7f53df3b4700 (LWP 1490)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f54135056f4 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#2  0x00007f5413505739 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#3  0x00007f54101db6ba in start_thread (arg=0x7f53df3b4700) at pthread_create.c:333
#4  0x00007f54164d682d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 5 (Thread 0x7f53e0b96700 (LWP 1466)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f53f4cdc8c3 in ?? () from /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#2  0x00007f53f4cdc487 in ?? () from /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so
#3  0x00007f54101db6ba in start_thread (arg=0x7f53e0b96700) at pthread_create.c:333
#4  0x00007f54164d682d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 4 (Thread 0x7f53f6b61700 (LWP 1455)):
#0  0x00007f54164cab5d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f5414390aaa in poll (__timeout=<optimized out>, __nfds=1, __fds=0x7f53e4000ac8) at /usr/include/x86_64-linux-gnu/bits/poll2.h:46
#2  qt_ppoll (timeout_ts=0x0, nfds=1, fds=0x7f53e4000ac8) at kernel/qcore_unix.cpp:83
#3  qt_safe_poll (fds=0x7f53e4000ac8, nfds=1, timeout_ts=timeout_ts@entry=0x0) at kernel/qcore_unix.cpp:102
#4  0x00007f5414392392 in QEventDispatcherUNIX::processEvents (this=<optimized out>, flags=...) at kernel/qeventdispatcher_unix.cpp:500
#5  0x00007f54143400ba in QEventLoop::exec (this=this@entry=0x7f53f6b60c60, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#6  0x00007f541416ff64 in QThread::exec (this=this@entry=0xfc1e30) at thread/qthread.cpp:507
#7  0x00007f540f349bf5 in QQmlThreadPrivate::run (this=0xfc1e30) at qml/ftw/qqmlthread.cpp:147
#8  0x00007f5414174b48 in QThreadPrivate::start (arg=0xfc1e30) at thread/qthread_unix.cpp:368
#9  0x00007f54101db6ba in start_thread (arg=0x7f53f6b61700) at pthread_create.c:333
#10 0x00007f54164d682d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7f53fd350700 (LWP 1420)):
#0  0x00007f54164cab5d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f5414390aaa in poll (__timeout=<optimized out>, __nfds=1, __fds=0x7f53f000f958) at /usr/include/x86_64-linux-gnu/bits/poll2.h:46
#2  qt_ppoll (timeout_ts=0x0, nfds=1, fds=0x7f53f000f958) at kernel/qcore_unix.cpp:83
#3  qt_safe_poll (fds=0x7f53f000f958, nfds=1, timeout_ts=timeout_ts@entry=0x0) at kernel/qcore_unix.cpp:102
#4  0x00007f5414392392 in QEventDispatcherUNIX::processEvents (this=<optimized out>, flags=...) at kernel/qeventdispatcher_unix.cpp:500
#5  0x00007f54143400ba in QEventLoop::exec (this=this@entry=0x7f53fd34fc50, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#6  0x00007f541416ff64 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:507
#7  0x00007f5416b03735 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#8  0x00007f5414174b48 in QThreadPrivate::start (arg=0x7f5416b77d60) at thread/qthread_unix.cpp:368
#9  0x00007f54101db6ba in start_thread (arg=0x7f53fd350700) at pthread_create.c:333
#10 0x00007f54164d682d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7f53fee4a700 (LWP 1408)):
#0  0x00007f54164cab5d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f541560ec62 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007f54156108d7 in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007f53ffaf8d79 in QXcbEventReader::run (this=0xe72a30) at qxcbconnection.cpp:1343
#4  0x00007f5414174b48 in QThreadPrivate::start (arg=0xe72a30) at thread/qthread_unix.cpp:368
#5  0x00007f54101db6ba in start_thread (arg=0x7f53fee4a700) at pthread_create.c:333
#6  0x00007f54164d682d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7f54169e0940 (LWP 1383)):
[KCrash Handler]
#6  0x00007f540f303791 in QQmlPropertyCache::resolve (this=this@entry=0x1d22330, data=data@entry=0x1d21170) at qml/qqmlpropertycache.cpp:741
#7  0x00007f540f303a2d in QQmlPropertyCache::ensureResolved (p=0x1d21170, this=0x1d22330) at qml/qqmlpropertycache_p.h:505
#8  QQmlPropertyCache::findProperty (this=0x1d22330, it=..., vmemo=<optimized out>, context=<optimized out>) at qml/qqmlpropertycache.cpp:920
#9  0x00007f540f29074e in QQmlPropertyCache::property<QV4::String*> (context=0x1d39080, object=0xf4e580, key=<synthetic pointer>, this=<optimized out>) at ../../include/QtQml/5.7.1/QtQml/private/../../../../../src/qml/qml/qqmlpropertycache_p.h:288
#10 QV4::QObjectWrapper::findProperty (this=this@entry=0x7f534dec93e0, engine=engine@entry=0x1e2fd80, qmlContext=qmlContext@entry=0x1d39080, name=name@entry=0x7f534dec93d8, revisionMode=revisionMode@entry=QV4::QObjectWrapper::IgnoreRevision, local=local@entry=0x7fff5c507920) at jsruntime/qv4qobjectwrapper.cpp:257
#11 0x00007f540f2974b7 in QV4::QObjectWrapper::getQmlProperty (this=0x7f534dec93e0, qmlContext=0x1d39080, name=0x7f534dec93d8, revisionMode=QV4::QObjectWrapper::IgnoreRevision, hasProperty=0x0, includeImports=<optimized out>) at jsruntime/qv4qobjectwrapper.cpp:283
#12 0x00007f540f2a8e28 in QV4::Object::get (hasProperty=0x0, name=<optimized out>, this=<optimized out>) at jsruntime/qv4object_p.h:306
#13 QV4::Runtime::getProperty (engine=0x1e2fd80, object=..., nameIndex=<optimized out>) at jsruntime/qv4runtime.cpp:717
#14 0x00007f53dcb94df9 in ?? ()
#15 0x0000000002c69bb8 in ?? ()
#16 0x0000000000000002 in ?? ()
#17 0x000000000247b4b0 in ?? ()
#18 0x00007f540f837e5b in QQuickItem::qt_metacall (this=0x7fff5c507a60, _c=31653248, _id=1036907228, _a=0x7f534dec93d8) at .moc/moc_qquickitem.cpp:998
#19 0x00007f540f2471c3 in QV4::SimpleScriptFunction::call (that=<optimized out>, callData=0x7f534dec9320) at jsruntime/qv4functionobject.cpp:582
#20 0x00007f540f32f01b in QV4::Object::call (d=0x7f534dec9320, this=0x7f53dfe60de0) at ../../include/QtQml/5.7.1/QtQml/private/../../../../../src/qml/jsruntime/qv4object_p.h:332
#21 QQmlJavaScriptExpression::evaluate (this=this@entry=0x25c85f0, callData=callData@entry=0x7f534dec9320, isUndefined=isUndefined@entry=0x7fff5c507c80) at qml/qqmljavascriptexpression.cpp:196
#22 0x00007f540f32f4f1 in QQmlJavaScriptExpression::evaluate (this=this@entry=0x25c85f0, isUndefined=isUndefined@entry=0x7fff5c507c80) at qml/qqmljavascriptexpression.cpp:156
#23 0x00007f540f336e08 in QQmlBinding::update (this=0x25c85f0, flags=...) at qml/qqmlbinding.cpp:193
#24 0x00007f540f3401af in QQmlObjectCreator::finalize (this=0x23efc00, interrupt=...) at qml/qqmlobjectcreator.cpp:1228
#25 0x00007f540f2cd18e in QQmlComponentPrivate::complete (enginePriv=0x23f4060, state=0x30df880) at qml/qqmlcomponent.cpp:929
#26 0x00007f540f2cd257 in QQmlComponentPrivate::completeCreate (this=0x30df7e0) at qml/qqmlcomponent.cpp:965
#27 0x00007f540f2cd0c0 in QQmlComponent::create (this=0x2963e40, context=0x2ca5e80) at qml/qqmlcomponent.cpp:791
#28 0x00007f534e6e5f87 in Aurorae::Decoration::init (this=0x2b67650) at /workspace/build/plugins/kdecorations/aurorae/src/aurorae.cpp:316
#29 0x00007f54160c6271 in KWin::Decoration::DecorationBridge::createDecoration (this=0xf51c60, client=client@entry=0x1bfff20) at /workspace/build/decorations/decorationbridge.cpp:260
#30 0x00007f5415f9c081 in KWin::Client::createDecoration (this=this@entry=0x1bfff20, oldgeom=...) at /workspace/build/client.cpp:393
#31 0x00007f5415f9cc73 in KWin::Client::updateDecoration (this=0x1bfff20, check_workspace_pos=<optimized out>, force=<optimized out>) at /workspace/build/client.cpp:380
#32 0x00007f5415f7c659 in std::function<void (KWin::AbstractClient*)>::operator()(KWin::AbstractClient*) const (__args#0=0x1bfff20, this=0x7fff5c508300) at /usr/include/c++/5/functional:2267
#33 std::for_each<QList<KWin::AbstractClient*>::const_iterator, std::function<void (KWin::AbstractClient*)> >(QList<KWin::AbstractClient*>::const_iterator, QList<KWin::AbstractClient*>::const_iterator, std::function<void (KWin::AbstractClient*)>) (__f=..., __last=..., __first=...) at /usr/include/c++/5/bits/stl_algo.h:3767
#34 KWin::Workspace::forEachAbstractClient(std::function<void (KWin::AbstractClient*)>) (this=0xf3d390, func=...) at /workspace/build/workspace.cpp:1747
#35 0x00007f54160c5aaf in KWin::Decoration::recreateDecorations () at /workspace/build/decorations/decorationbridge.cpp:143
#36 0x00007f54160c89a5 in KWin::Decoration::DecorationBridge::reconfigure (this=0xf51c60) at /workspace/build/decorations/decorationbridge.cpp:185
#37 0x00007f541436d1f6 in QtPrivate::QSlotObjectBase::call (a=0x7fff5c508510, r=0xf51c60, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobject_impl.h:101
#38 QMetaObject::activate (sender=sender@entry=0xf3d390, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=12, argv=argv@entry=0x0) at kernel/qobject.cpp:3723
#39 0x00007f541436d837 in QMetaObject::activate (sender=sender@entry=0xf3d390, m=m@entry=0x7f54163c7ee0 <KWin::Workspace::staticMetaObject>, local_signal_index=local_signal_index@entry=12, argv=argv@entry=0x0) at kernel/qobject.cpp:3602
#40 0x00007f5416114073 in KWin::Workspace::configChanged (this=this@entry=0xf3d390) at /workspace/build/obj-x86_64-linux-gnu/moc_workspace.cpp:762
#41 0x00007f5415f81538 in KWin::Workspace::slotReconfigure (this=0xf3d390) at /workspace/build/workspace.cpp:830
#42 0x00007f541436ce89 in QMetaObject::activate (sender=sender@entry=0xf3d4a0, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3740
#43 0x00007f541436d837 in QMetaObject::activate (sender=sender@entry=0xf3d4a0, m=m@entry=0x7f5414587700 <QTimer::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3602
#44 0x00007f54143e5b50 in QTimer::timeout (this=this@entry=0xf3d4a0) at .moc/moc_qtimer.cpp:198
#45 0x00007f54143797a8 in QTimer::timerEvent (this=0xf3d4a0, e=<optimized out>) at kernel/qtimer.cpp:254
#46 0x00007f541436dd53 in QObject::event (this=0xf3d4a0, e=<optimized out>) at kernel/qobject.cpp:1285
#47 0x00007f5414c20ecc in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0xf3d4a0, e=0x7fff5c5089d0) at kernel/qapplication.cpp:3799
#48 0x00007f5414c288c6 in QApplication::notify (this=0x7fff5c508cb0, receiver=0xf3d4a0, e=0x7fff5c5089d0) at kernel/qapplication.cpp:3556
#49 0x00007f54143420c8 in QCoreApplication::notifyInternal2 (receiver=0xf3d4a0, event=event@entry=0x7fff5c5089d0) at kernel/qcoreapplication.cpp:988
#50 0x00007f541439468e in QCoreApplication::sendEvent (event=0x7fff5c5089d0, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#51 QTimerInfoList::activateTimers (this=this@entry=0xe9ef60) at kernel/qtimerinfo_unix.cpp:644
#52 0x00007f541439140c in QEventDispatcherUNIXPrivate::activateTimers (this=this@entry=0xe9eec0) at kernel/qeventdispatcher_unix.cpp:249
#53 0x00007f5414392602 in QEventDispatcherUNIX::processEvents (this=<optimized out>, flags=..., flags@entry=...) at kernel/qeventdispatcher_unix.cpp:514
#54 0x00007f53ffb7185d in QUnixEventDispatcherQPA::processEvents (this=<optimized out>, flags=...) at eventdispatchers/qunixeventdispatcher.cpp:68
#55 0x00007f54143400ba in QEventLoop::exec (this=this@entry=0x7fff5c508ba0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#56 0x00007f54143486cc in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1261
#57 0x00007f541467d24c in QGuiApplication::exec () at kernel/qguiapplication.cpp:1633
#58 0x00007f5414c20e25 in QApplication::exec () at kernel/qapplication.cpp:2975
#59 0x00007f54167a2142 in kdemain (argc=1, argv=0x7fff5c508e38) at /workspace/build/main_x11.cpp:468
#60 0x00007f54163f0830 in __libc_start_main (main=0x400710 <main(int, char**)>, argc=3, argv=0x7fff5c508e38, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff5c508e28) at ../csu/libc-start.c:291
#61 0x0000000000400749 in _start ()

Reported using DrKonqi
Comment 1 Christoph Feck 2017-06-06 14:58:17 UTC
As a workaround use the breeze window decoration.

*** This bug has been marked as a duplicate of bug 361236 ***