Bug 373912 - kwin crashes on compositor change
Summary: kwin crashes on compositor change
Status: RESOLVED NOT A BUG
Alias: None
Product: kwin
Classification: Plasma
Component: general (show other bugs)
Version: 5.7.5
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2016-12-19 20:26 UTC by Nico R.
Modified: 2016-12-21 12:35 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nico R. 2016-12-19 20:26:58 UTC
Application: kwin_x11 (5.7.5)

Qt Version: 5.6.1
Frameworks Version: 5.28.0
Operating System: Linux 4.8.0-30-generic x86_64
Distribution: Ubuntu 16.10

-- Information about the crash:
After the update to the latest KDE packages from kubuntu-ppa/backports/yakkety, KWin crashes whenever I switch compositor to OpenGL 2.0, 3.1 or XRender in system settings.
In all cases, composition gets deactivated right away, according to "qdbus org.kde.KWin /Compositor org.kde.kwin.Compositing.active" returning "false".

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 0x7fd9106d1940 (LWP 1652))]

Thread 5 (Thread 0x7fd873fff700 (LWP 2312)):
#0  0x00007fd927807ea3 in select () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fd925688caf in qt_safe_select (nfds=14, fdread=fdread@entry=0x7fd86c0517c8, fdwrite=fdwrite@entry=0x7fd86c051a58, fdexcept=fdexcept@entry=0x7fd86c051ce8, orig_timeout=orig_timeout@entry=0x0) at kernel/qcore_unix.cpp:75
#2  0x00007fd92568a754 in QEventDispatcherUNIX::select (timeout=0x0, exceptfds=0x7fd86c051ce8, writefds=0x7fd86c051a58, readfds=0x7fd86c0517c8, nfds=<optimized out>, this=0x7fd86c05d7e0) at kernel/qeventdispatcher_unix.cpp:320
#3  QEventDispatcherUNIXPrivate::doSelect (this=this@entry=0x7fd86c051630, flags=..., flags@entry=..., timeout=timeout@entry=0x0) at kernel/qeventdispatcher_unix.cpp:196
#4  0x00007fd92568ac6a in QEventDispatcherUNIX::processEvents (this=0x7fd86c05d7e0, flags=...) at kernel/qeventdispatcher_unix.cpp:607
#5  0x00007fd9256350fa in QEventLoop::exec (this=this@entry=0x7fd873ffec60, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007fd92545ad43 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:500
#7  0x00007fd91fef6c65 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#8  0x00007fd92545fc68 in QThreadPrivate::start (arg=0x55cd06b46b80) at thread/qthread_unix.cpp:341
#9  0x00007fd920d976ca in start_thread (arg=0x7fd873fff700) at pthread_create.c:333
#10 0x00007fd9278120af in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 4 (Thread 0x7fd90625e700 (LWP 1749)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007fd9247f2574 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x7fd9248d9f00 <QTWTF::pageheap_memory>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
#2  0x00007fd9247f25b9 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=<optimized out>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
#3  0x00007fd920d976ca in start_thread (arg=0x7fd90625e700) at pthread_create.c:333
#4  0x00007fd9278120af in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 3 (Thread 0x7fd9072ef700 (LWP 1748)):
#0  0x00007fd927807ea3 in select () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fd925688caf in qt_safe_select (nfds=15, fdread=fdread@entry=0x7fd8f4000a78, fdwrite=fdwrite@entry=0x7fd8f4000d08, fdexcept=fdexcept@entry=0x7fd8f4000f98, orig_timeout=orig_timeout@entry=0x0) at kernel/qcore_unix.cpp:75
#2  0x00007fd92568a754 in QEventDispatcherUNIX::select (timeout=0x0, exceptfds=0x7fd8f4000f98, writefds=0x7fd8f4000d08, readfds=0x7fd8f4000a78, nfds=<optimized out>, this=0x7fd8f40008c0) at kernel/qeventdispatcher_unix.cpp:320
#3  QEventDispatcherUNIXPrivate::doSelect (this=this@entry=0x7fd8f40008e0, flags=..., flags@entry=..., timeout=timeout@entry=0x0) at kernel/qeventdispatcher_unix.cpp:196
#4  0x00007fd92568ac6a in QEventDispatcherUNIX::processEvents (this=0x7fd8f40008c0, flags=...) at kernel/qeventdispatcher_unix.cpp:607
#5  0x00007fd9256350fa in QEventLoop::exec (this=this@entry=0x7fd9072eec60, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007fd92545ad43 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:500
#7  0x00007fd91fef6c65 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#8  0x00007fd92545fc68 in QThreadPrivate::start (arg=0x55cd06642e80) at thread/qthread_unix.cpp:341
#9  0x00007fd920d976ca in start_thread (arg=0x7fd9072ef700) at pthread_create.c:333
#10 0x00007fd9278120af in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 2 (Thread 0x7fd9106cd700 (LWP 1670)):
#0  0x00007fd9278060bd in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fd91e2f99d6 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fd91e2f9aec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fd92568d4ab in QEventDispatcherGlib::processEvents (this=0x7fd9080008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:419
#4  0x00007fd9256350fa in QEventLoop::exec (this=this@entry=0x7fd9106ccc50, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#5  0x00007fd92545ad43 in QThread::exec (this=this@entry=0x7fd927e92d60 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread.cpp:500
#6  0x00007fd927e1e575 in QDBusConnectionManager::run (this=0x7fd927e92d60 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:171
#7  0x00007fd92545fc68 in QThreadPrivate::start (arg=0x7fd927e92d60 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:341
#8  0x00007fd920d976ca in start_thread (arg=0x7fd9106cd700) at pthread_create.c:333
#9  0x00007fd9278120af in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105

Thread 1 (Thread 0x7fd9106d1940 (LWP 1652)):
[KCrash Handler]
#6  0x0000000000000000 in ?? ()
#7  0x00007fd9273dec9e in KWin::BuiltInEffectLoader::loadEffect (this=this@entry=0x55cd075cf280, name=..., effect=effect@entry=<incomplete type>, flags=...) at ./effectloader.cpp:146
#8  0x00007fd9273df1ef in KWin::BuiltInEffectLoader::loadEffect (this=0x55cd075cf280, effect=effect@entry=<incomplete type>, flags=flags@entry=...) at ./effectloader.cpp:125
#9  0x00007fd9273e491f in KWin::EffectLoadQueue<KWin::BuiltInEffectLoader, KWin::BuiltInEffect>::dequeue (this=0x55cd075ce180) at ./effectloader.h:257
#10 0x00007fd925665699 in QObject::event (this=0x55cd075ce180, e=<optimized out>) at kernel/qobject.cpp:1256
#11 0x00007fd925f728ac in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55cd075ce180, e=0x55cd075c49a0) at kernel/qapplication.cpp:3804
#12 0x00007fd925f77d4f in QApplication::notify (this=0x7ffd2a5af690, receiver=0x55cd075ce180, e=0x55cd075c49a0) at kernel/qapplication.cpp:3561
#13 0x00007fd9256373b0 in QCoreApplication::notifyInternal2 (receiver=0x55cd075ce180, event=event@entry=0x55cd075c49a0) at kernel/qcoreapplication.cpp:1015
#14 0x00007fd92563933c in QCoreApplication::sendEvent (event=0x55cd075c49a0, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:225
#15 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x55cd06419620) at kernel/qcoreapplication.cpp:1650
#16 0x00007fd92568ab52 in QEventDispatcherUNIX::processEvents (this=0x55cd0645d150, flags=...) at kernel/qeventdispatcher_unix.cpp:579
#17 0x00007fd90f9ed94d in QUnixEventDispatcherQPA::processEvents (this=<optimized out>, flags=...) at eventdispatchers/qunixeventdispatcher.cpp:62
#18 0x00007fd9256350fa in QEventLoop::exec (this=this@entry=0x7ffd2a5af580, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#19 0x00007fd92563d90c in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1285
#20 0x00007fd925981a7c in QGuiApplication::exec () at kernel/qguiapplication.cpp:1602
#21 0x00007fd925f6f8e5 in QApplication::exec () at kernel/qapplication.cpp:2979
#22 0x00007fd927ada206 in kdemain (argc=<optimized out>, argv=0x7ffd2a5af818) at ./main_x11.cpp:466
#23 0x00007fd92772a3f1 in __libc_start_main (main=0x55cd050047e0 <main>, argc=1, argv=0x7ffd2a5af818, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffd2a5af808) at ../csu/libc-start.c:291
#24 0x000055cd0500481a in _start ()

Reported using DrKonqi
Comment 1 Martin Flöser 2016-12-20 06:45:19 UTC
This looks very much like a problem caused by the update. Please inform the Kubuntu crew ASAP about it. They might have done a blunder there.

We have never seen a crash in this area of the code.
Comment 2 Nico R. 2016-12-21 12:00:02 UTC
Thanks for the hint that this is Kubuntu-specific. I have filed a new report here:

https://bugs.launchpad.net/kubuntu-ppa/+bug/1651734

Setting to RESOLVED since this is apparently not KDE upstream related.
Comment 3 Rik Mills 2016-12-21 12:35:17 UTC
Appears is this was some corner case dependency issue resulting in an incomplete upgrade of kwin.