Application: kwin_x11 (5.8.90) Qt Version: 5.7.0 Frameworks Version: 5.30.0 Operating System: Linux 4.9.0-native x86_64 Distribution: Ubuntu Zesty Zapus (development branch) -- Information about the crash: today kwin_x11 started crashing, when add sound and displayed on-screen icons kwin crashing The crash can be reproduced every time. -- Backtrace: Application: KWin (kwin_x11), signal: Aborted Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". [Current thread is 1 (Thread 0x7ff07847d3c0 (LWP 8858))] Thread 4 (Thread 0x7ff0590ba700 (LWP 8865)): #0 pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225 #1 0x00007ff075bfbc06 in QWaitConditionPrivate::wait_relative (time=30000, this=0x5616437b5c60) at thread/qwaitcondition_unix.cpp:133 #2 QWaitConditionPrivate::wait (time=30000, this=0x5616437b5c60) at thread/qwaitcondition_unix.cpp:141 #3 QWaitCondition::wait (this=this@entry=0x5616437bc340, mutex=mutex@entry=0x5616437c1a60, time=30000) at thread/qwaitcondition_unix.cpp:215 #4 0x00007ff075bf7432 in QThreadPoolThread::run (this=0x5616437bc330) at thread/qthreadpool.cpp:133 #5 0x00007ff075bfae08 in QThreadPrivate::start (arg=0x5616437bc330) at thread/qthread_unix.cpp:344 #6 0x00007ff071c546ca in start_thread (arg=0x7ff0590ba700) at pthread_create.c:333 #7 0x00007ff077f770ff in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105 Thread 3 (Thread 0x7ff05ad2a700 (LWP 8863)): #0 0x00007ff077f6b1d1 in __GI_ppoll (fds=fds@entry=0x7ff05400ac68, nfds=nfds@entry=1, timeout=<optimized out>, timeout@entry=0x0, sigmask=sigmask@entry=0x0) at ../sysdeps/unix/sysv/linux/ppoll.c:39 #1 0x00007ff075e24c71 in ppoll (__ss=<optimized out>, __timeout=<optimized out>, __nfds=<optimized out>, __fds=<optimized out>) at /usr/include/x86_64-linux-gnu/bits/poll2.h:77 #2 qt_ppoll (timeout_ts=0x0, nfds=1, fds=0x7ff05400ac68) at kernel/qcore_unix.cpp:91 #3 qt_safe_poll (fds=0x7ff05400ac68, nfds=nfds@entry=1, timeout_ts=timeout_ts@entry=0x0) at kernel/qcore_unix.cpp:112 #4 0x00007ff075e26558 in QEventDispatcherUNIX::processEvents (this=<optimized out>, flags=...) at kernel/qeventdispatcher_unix.cpp:495 #5 0x00007ff075dd332a in QEventLoop::exec (this=this@entry=0x7ff05ad29c50, flags=..., flags@entry=...) at kernel/qeventloop.cpp:210 #6 0x00007ff075bf6163 in QThread::exec (this=this@entry=0x7ff078612d60 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread.cpp:507 #7 0x00007ff07859d745 in QDBusConnectionManager::run (this=0x7ff078612d60 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:196 #8 0x00007ff075bfae08 in QThreadPrivate::start (arg=0x7ff078612d60 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:344 #9 0x00007ff071c546ca in start_thread (arg=0x7ff05ad2a700) at pthread_create.c:333 #10 0x00007ff077f770ff in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105 Thread 2 (Thread 0x7ff0609a5700 (LWP 8861)): #0 0x00007ff077f6b10d in poll () at ../sysdeps/unix/syscall-template.S:84 #1 0x00007ff0770b5c62 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1 #2 0x00007ff0770b78d7 in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1 #3 0x00007ff061653829 in QXcbEventReader::run (this=0x561643726ec0) at qxcbconnection.cpp:1337 #4 0x00007ff075bfae08 in QThreadPrivate::start (arg=0x561643726ec0) at thread/qthread_unix.cpp:344 #5 0x00007ff071c546ca in start_thread (arg=0x7ff0609a5700) at pthread_create.c:333 #6 0x00007ff077f770ff in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:105 Thread 1 (Thread 0x7ff07847d3c0 (LWP 8858)): [KCrash Handler] #6 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:58 #7 0x00007ff077ea63ea in __GI_abort () at abort.c:89 #8 0x00007ff077e9cbb7 in __assert_fail_base (fmt=<optimized out>, assertion=assertion@entry=0x7ff077bd96f0 "pendingGeometryUpdate() == PendingGeometryNone || areGeometryUpdatesBlocked()", file=file@entry=0x7ff077bd9658 "/build/kwin-m6vc7g/kwin-5.8.4+p17.04+git20161222.0259/geometry.cpp", line=line@entry=2089, function=function@entry=0x7ff077bd9420 <KWin::AbstractClient::move(int, int, KWin::AbstractClient::ForceGeometry_t)::__PRETTY_FUNCTION__> "void KWin::AbstractClient::move(int, int, KWin::AbstractClient::ForceGeometry_t)") at assert.c:92 #9 0x00007ff077e9cc62 in __GI___assert_fail (assertion=assertion@entry=0x7ff077bd96f0 "pendingGeometryUpdate() == PendingGeometryNone || areGeometryUpdatesBlocked()", file=file@entry=0x7ff077bd9658 "/build/kwin-m6vc7g/kwin-5.8.4+p17.04+git20161222.0259/geometry.cpp", line=line@entry=2089, function=function@entry=0x7ff077bd9420 <KWin::AbstractClient::move(int, int, KWin::AbstractClient::ForceGeometry_t)::__PRETTY_FUNCTION__> "void KWin::AbstractClient::move(int, int, KWin::AbstractClient::ForceGeometry_t)") at assert.c:101 #10 0x00007ff077ac4744 in KWin::AbstractClient::move (this=0x56164390da60, x=838, y=610, force=KWin::AbstractClient::NormalGeometrySet) at ./geometry.cpp:2089 #11 0x00007ff077a312cb in KWin::AbstractClient::<lambda(KWin::Toplevel*, const QRect&)>::operator() (c=<optimized out>, old=..., __closure=0x5616438a8cc0) at ./abstract_client.cpp:79 #12 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<KWin::Toplevel*, const QRect&>, void, KWin::AbstractClient::AbstractClient()::<lambda(KWin::Toplevel*, const QRect&)> >::call (arg=<optimized out>, f=...) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:501 #13 QtPrivate::Functor<KWin::AbstractClient::AbstractClient()::<lambda(KWin::Toplevel*, const QRect&)>, 2>::call<QtPrivate::List<KWin::Toplevel*, QRect const&>, void> (arg=<optimized out>, f=...) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:558 #14 QtPrivate::QFunctorSlotObject<KWin::AbstractClient::AbstractClient()::<lambda(KWin::Toplevel*, const QRect&)>, 2, QtPrivate::List<KWin::Toplevel*, const QRect&>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, this_=0x5616438a8cb0, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject_impl.h:198 #15 0x00007ff075e0134e in QtPrivate::QSlotObjectBase::call (a=0x7ffe00ec9de0, r=0x56164390da60, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobject_impl.h:130 #16 QMetaObject::activate (sender=sender@entry=0x56164390da60, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=4, argv=argv@entry=0x7ffe00ec9de0) at kernel/qobject.cpp:3723 #17 0x00007ff075e018f7 in QMetaObject::activate (sender=sender@entry=0x56164390da60, m=m@entry=0x7ff077e67220 <KWin::Toplevel::staticMetaObject>, local_signal_index=local_signal_index@entry=4, argv=argv@entry=0x7ffe00ec9de0) at kernel/qobject.cpp:3602 #18 0x00007ff077bb49d7 in KWin::Toplevel::geometryShapeChanged (this=this@entry=0x56164390da60, _t1=<optimized out>, _t1@entry=0x56164390da60, _t2=...) at ./obj-x86_64-linux-gnu/kwin_automoc.dir/moc_toplevel_5LY56G5H6Z2ILF.cpp:718 #19 0x00007ff077ac31ab in KWin::Client::setGeometry (this=0x56164390da60, x=<optimized out>, y=<optimized out>, w=243, h=243, force=<optimized out>) at ./geometry.cpp:2009 #20 0x00007ff077ac48f1 in KWin::AbstractClient::setGeometry (force=KWin::AbstractClient::NormalGeometrySet, r=..., this=0x56164390da60) at ./abstract_client.h:1050 #21 KWin::AbstractClient::blockGeometryUpdates (this=this@entry=0x56164390da60, block=block@entry=false) at ./geometry.cpp:2137 #22 0x00007ff077aa6aca in KWin::Client::manage (this=this@entry=0x56164390da60, w=w@entry=18874467, isMapped=isMapped@entry=true) at ./manage.cpp:640 #23 0x00007ff077a241a4 in KWin::Workspace::createClient (this=this@entry=0x561643802db0, w=18874467, is_mapped=is_mapped@entry=true) at ./workspace.cpp:517 #24 0x00007ff077a29cd3 in KWin::Workspace::init (this=this@entry=0x561643802db0) at ./workspace.cpp:324 #25 0x00007ff077a2aaf3 in KWin::Workspace::Workspace (this=0x561643802db0, sessionKey=...) at ./workspace.cpp:210 #26 0x00007ff077a84c63 in KWin::Application::createWorkspace (this=0x7ffe00ecae90) at ./main.cpp:274 #27 0x00007ff07823ceae in KWin::ApplicationX11::<lambda()>::<lambda()>::operator() (__closure=0x56164375db00) at ./main_x11.cpp:251 #28 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, KWin::ApplicationX11::performStartup()::<lambda()>::<lambda()> >::call (arg=<optimized out>, f=...) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:501 #29 QtPrivate::Functor<KWin::ApplicationX11::performStartup()::<lambda()>::<lambda()>, 0>::call<QtPrivate::List<>, void> (arg=<optimized out>, f=...) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:558 #30 QtPrivate::QFunctorSlotObject<KWin::ApplicationX11::performStartup()::<lambda()>::<lambda()>, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, this_=0x56164375daf0, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject_impl.h:198 #31 0x00007ff075e0134e in QtPrivate::QSlotObjectBase::call (a=0x7ffe00eca6f0, r=0x7ffe00ecae90, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobject_impl.h:130 #32 QMetaObject::activate (sender=0x561643761e40, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3723 #33 0x00007ff07823d20f in KWin::ApplicationX11::<lambda()>::operator() (__closure=0x561643767b40) at ./main_x11.cpp:264 #34 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, KWin::ApplicationX11::performStartup()::<lambda()> >::call (arg=<optimized out>, f=...) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:501 #35 QtPrivate::Functor<KWin::ApplicationX11::performStartup()::<lambda()>, 0>::call<QtPrivate::List<>, void> (arg=<optimized out>, f=...) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobjectdefs_impl.h:558 #36 QtPrivate::QFunctorSlotObject<KWin::ApplicationX11::performStartup()::<lambda()>, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, this_=0x561643767b30, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject_impl.h:198 #37 0x00007ff075e0134e in QtPrivate::QSlotObjectBase::call (a=0x7ffe00eca870, r=0x561643776d90, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobject_impl.h:130 #38 QMetaObject::activate (sender=0x561643776d90, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3723 #39 0x00007ff076bf33bb in KSelectionOwner::Private::claimSucceeded() () from /usr/lib/x86_64-linux-gnu/libKF5WindowSystem.so.5 #40 0x00007ff075e01e43 in QObject::event (this=0x561643776d90, e=<optimized out>) at kernel/qobject.cpp:1285 #41 0x00007ff0766c45dc in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x561643776d90, e=0x7ffe00ecabc0) at kernel/qapplication.cpp:3799 #42 0x00007ff0766cbd91 in QApplication::notify (this=0x7ffe00ecae90, receiver=0x561643776d90, e=0x7ffe00ecabc0) at kernel/qapplication.cpp:3556 #43 0x00007ff075dd5340 in QCoreApplication::notifyInternal2 (receiver=0x561643776d90, event=event@entry=0x7ffe00ecabc0) at kernel/qcoreapplication.cpp:988 #44 0x00007ff075e2884e in QCoreApplication::sendEvent (event=0x7ffe00ecabc0, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231 #45 QTimerInfoList::activateTimers (this=this@entry=0x56164375b180) at kernel/qtimerinfo_unix.cpp:644 #46 0x00007ff075e255cc in QEventDispatcherUNIXPrivate::activateTimers (this=this@entry=0x56164375b0e0) at kernel/qeventdispatcher_unix.cpp:249 #47 0x00007ff075e267b8 in QEventDispatcherUNIX::processEvents (this=<optimized out>, flags=...) at kernel/qeventdispatcher_unix.cpp:509 #48 0x00007ff0616cc6dd in QUnixEventDispatcherQPA::processEvents (this=<optimized out>, flags=...) at eventdispatchers/qunixeventdispatcher.cpp:68 #49 0x00007ff075dd332a in QEventLoop::exec (this=this@entry=0x7ffe00ecad80, flags=..., flags@entry=...) at kernel/qeventloop.cpp:210 #50 0x00007ff075ddba8c in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1261 #51 0x00007ff076120e3c in QGuiApplication::exec () at kernel/qguiapplication.cpp:1639 #52 0x00007ff0766c4535 in QApplication::exec () at kernel/qapplication.cpp:2975 #53 0x00007ff07823f192 in kdemain (argc=<optimized out>, argv=0x7ffe00ecb018) at ./main_x11.cpp:468 #54 0x00007ff077e8f3f1 in __libc_start_main (main=0x561642586820 <main>, argc=3, argv=0x7ffe00ecb018, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffe00ecb008) at ../csu/libc-start.c:291 #55 0x000056164258685a in _start () Possible duplicates by query: bug 359869. Reported using DrKonqi
You are using an unreleased version in an unreleased distribution. I'm sorry, but there is a fair amount of chance that this setup is just broken. We don't track such issues.
I just had the same crash. I changed volume and then kwin kept crashing until I managed to kill plasmashell. Does this have anything to do with your "update OSD when its size changes" patches? (or was that about the kwin internal OSD?)OSD)
Reverting 6383f8304711719fe22371474138efc144adc750 fixes (works around) the issue
I admit that I didn't test on X11. Can you try moving the new connect from AbstractClient to ShellClient? Then on X11 we don't have this, but on Wayland it would work nevertheless.
*** Bug 374147 has been marked as a duplicate of this bug. ***
*** Bug 374155 has been marked as a duplicate of this bug. ***
Fix at: https://phabricator.kde.org/D3808
Git commit bba18a1ba812f3a147173edc19516f0e00e7c855 by Martin Gräßlin. Committed on 27/12/2016 at 16:36. Pushed by graesslin into branch 'master'. Fix the osd re-placement on X11 Summary: 6383f8304711719fe22371474138efc144adc750 introduced a regression hitting an assert on X11 when an osd window is added. This change tries to address this by adding a GeometryUpdateBlocker around the change. The hit assertion is: pendingGeometryUpdate() == PendingGeometryNone || areGeometryUpdatesBlocked() By using a GeometryUpdateBlocker the second condition becomes true and we no longer hit the condition. Test Plan: Manual tested both on X11 and Wayland, Wayland autotest still passes Reviewers: #kwin, #plasma Subscribers: plasma-devel, kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D3808 M +1 -0 abstract_client.cpp https://commits.kde.org/kwin/bba18a1ba812f3a147173edc19516f0e00e7c855
Thank you for the quick fix! I confirm that the bug is fixed in this neon package version: Package: kwin-x11 Version: 4:5.8.5+p16.04+git20161228.0449-0
*** Bug 374265 has been marked as a duplicate of this bug. ***