[ppa-backports] 16.10: kwin crashes on compositor change, resulting in compositing being disabled

Bug #1651734 reported by Nico R
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Kubuntu PPA
Invalid
Undecided
Unassigned

Bug Description

Dear Kubuntu folks,

after the incidents I experienced, I filed a bug report via DrKonqi/Crash Handler, which landed on https://bugs.kde.org/show_bug.cgi?id=373912

The answer was to forward the bug report to here because it appears that it's not KDE Upstream related, but rather Kubuntu specific.

Here's a paste of my bug description on the KDE bugtracker:

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

Tags: yakkety
Revision history for this message
Nico R (u-nico-c) wrote :

Forgot to mention: Running Kubuntu 16.10 on a Dell Latitude E6410, Intel GM45 graphics

Revision history for this message
Nico R (u-nico-c) wrote :

Sorry, my fault. Due to a dependency problem, kwin and 7 or 8 other packages didn't get upgraded alongside all others. After resolving the APT dependency issue, everything works fine.

Changed in kubuntu-ppa:
status: New → Invalid
Revision history for this message
Rik Mills (rikmills) wrote :

You are reporting this against:

Application: kwin_x11 (5.7.5)

However, the version of Kwin in the ppa is 5.8.4. This suggests to me that either you have reported the wrong version (easy to do as 5.7.5 was the previous) or you have somehow not had Kwin properly upgraded to 5.8.4.

I am unable to replicate the crash, but am limited to testing in a VM at the moment, so that may well not reflect an analogous graphics/acceleration set up compared to yours.

It would be helpful if you give details of your graphics card and driver in use.

Revision history for this message
Rik Mills (rikmills) wrote :

Ok, do you have details of the dependency issue you can paste in or attach?

The upgrades were tested many times, but it's impossible to test with every user configuration and choice of software, and sometimes odd things happen.

Thank you.

Revision history for this message
Nico R (u-nico-c) wrote :

I guess it had to do something with libpam-kwallet-common vs. pam-kwallet-init.

Installed was pam-kwallet-init. This caused no problems with aptitude update+safe-upgrade (not even a "Package X is RECOMMENDED" warning, but I found that Discover (which I normally don't use) complained about wanting to install libpam-kwallet4 and libpam-kwallet5, and it needed libpam-kwallet-common for this, which again conflicts with the then-installed pam-kwallet-init.

So I just did "aptitude install libpam-kwallet-common", which then aptitude recognized as a conflict situation, proposing to resolve it by removing pam-kwallet-init and installing libpam-kwallet4 and 5.

Afterwards, all other packages (including kwin-x11 which I consider the culprit) upgraded flawlessly via Discover.

summary: - kwin crashes on compositor change, resulting in compositing being
- disabled
+ [ppa-backports] 16.10: kwin crashes on compositor change, resulting in
+ compositing being disabled
tags: added: yakkety
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.