SUMMARY Getting an "Assertion `m_windows.contains(c)' failed." error that crashes Kwin. Happens at random when closing some windows; what windows cause it is more or less consistent but I don't see any particular pattern. I got it once when System Settings stopped responding, I get it consistently when closing a particular Konsole window that was saved with my session, and I got it once when clicking OK in the "About System" dialog. Makes the Wayland session unusable — which is sad because everything else was working perfectly for me. STEPS TO REPRODUCE 1. Open windows, or have windows open as part of session restore 2. Close a window OBSERVED RESULT Kwin sometimes crashes with an assertion failure, kicking you back to the display manager EXPECTED RESULT Kwin always continues running SOFTWARE/OS VERSIONS Linux: 4.15.14-041514-generic KDE Plasma Version: 5.14.4 KDE Frameworks Version: 5.53.0 Qt Version: 5.11.2 ADDITIONAL INFORMATION Relevant part of my log: > Using Wayland-EGL > Using the 'xdg-shell-v6' shell integration > file:///usr/share/plasma/plasmoids/org.kde.plasma.pager/contents/ui/main.qml:426: TypeError: Cannot read property '0' of undefined > kwin_wayland: /workspace/build/scene.cpp:412: void KWin::Scene::windowClosed(KWin::Toplevel*, KWin::Deleted*): Assertion `m_windows.contains(c)' failed. > QSocketNotifier: Invalid socket 21 and type 'Read', disabling... > (EE) > Fatal server error: > (EE) failed to read Wayland events: Broken pipe > (EE) > The Wayland connection broke. Did the Wayland compositor die? > The Wayland connection broke. Did the Wayland compositor die? > The Wayland connection broke. Did the Wayland compositor die? (Bug #400129 contains the same assertion failure, but is about a fixed Xwayland crash.)
Hmm, could it be that Scene::windowClosed is called several times for the same window? Could you please provide a backtrace of the crash?
> (gdb) bt > #0 0x00007fc56cc4fe97 in __GI_raise (sig=sig@entry=6) > at ../sysdeps/unix/sysv/linux/raise.c:51 > #1 0x00007fc56cc51801 in __GI_abort () at abort.c:79 > #2 0x00007fc56cc4139a in __assert_fail_base (fmt=0x7fc56cdc87d8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x7fc56fca4f0d "m_windows.contains(c)", file=file@entry=0x7fc56fca4ef1 "/workspace/build/scene.cpp", line=line@entry=412, function=function@entry=0x7fc56fca5100 "void KWin::Scene::windowClosed(KWin::Toplevel*, KWin::Deleted*)") at assert.c:92 > #3 0x00007fc56cc41412 in __GI___assert_fail (assertion=0x7fc56fca4f0d "m_windows.contains(c)", file=0x7fc56fca4ef1 "/workspace/build/scene.cpp", line=412, function=0x7fc56fca5100 "void KWin::Scene::windowClosed(KWin::Toplevel*, KWin::Deleted*)") at assert.c:101 > #4 0x00007fc56fbad6bf in KWin::Scene::windowClosed(KWin::Toplevel*, KWin::Deleted*) () at /usr/lib/x86_64-linux-gnu/libkwin.so.5 > #5 0x00007fc56fc81063 in () at /usr/lib/x86_64-linux-gnu/libkwin.so.5 > #6 0x00007fc56d85d075 in QMetaObject::activate(QObject*, int, int, void**) () > at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 > #7 0x00007fc56fc7aaae in KWin::Toplevel::windowClosed(KWin::Toplevel*, KWin::Deleted*) () at /usr/lib/x86_64-linux-gnu/libkwin.so.5 > #8 0x00007fc56fc1d99c in KWin::ShellClient::destroyClient() () > at /usr/lib/x86_64-linux-gnu/libkwin.so.5 > #9 0x00007fc56d85d18f in QMetaObject::activate(QObject*, int, int, void**) () > at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 > #10 0x00007fc56d85d7ef in QObject::destroyed(QObject*) () > at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 > #11 0x00007fc56d86416a in QObject::~QObject() () > at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 > #12 0x00007fc56ef42c17 in () > at /usr/lib/x86_64-linux-gnu/libKF5WaylandServer.so.5 > #13 0x00007fc56d85dc00 in QObject::event(QEvent*) () > at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 > #14 0x00007fc56de13e1c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 > #15 0x00007fc56de1b3ef in QApplication::notify(QObject*, QEvent*) () > at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 > #16 0x00007fc56d82dfe8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 > #17 0x00007fc56d830b2d in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 > #18 0x00007fc5685e0e7d in () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5 > #19 0x00007fc5685e11b0 in QQuickRenderControl::~QQuickRenderControl() () > at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5 > #20 0x00007fc5685e11d9 in QQuickRenderControl::~QQuickRenderControl() () > at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5 > #21 0x00007fc52457887e in () > at /usr/lib/x86_64-linux-gnu/qt5/plugins/org.kde.kdecoration2/kwin5_aurorae.so > #22 0x00007fc5245789b9 in () > at /usr/lib/x86_64-linux-gnu/qt5/plugins/org.kde.kdecoration2/kwin5_aurorae.so > #23 0x00007fc56faec9d6 in KWin::AbstractClient::destroyDecoration() () > at /usr/lib/x86_64-linux-gnu/libkwin.so.5 > #24 0x00007fc56fc1d9b0 in KWin::ShellClient::destroyClient() () > at /usr/lib/x86_64-linux-gnu/libkwin.so.5 > #25 0x00007fc56d85d18f in QMetaObject::activate(QObject*, int, int, void**) () > at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 > #26 0x00007fc56ef21838 in KWayland::Server::Resource::Private::unbind(wl_resource*) () at /usr/lib/x86_64-linux-gnu/libKF5WaylandServer.so.5 > #27 0x00007fc565e3be52 in () > at /usr/lib/x86_64-linux-gnu/libwayland-server.so.0 > #28 0x00007fc565e3beae in wl_resource_destroy () > at /usr/lib/x86_64-linux-gnu/libwayland-server.so.0 > #29 0x00007fc55f282dae in ffi_call_unix64 () > at /usr/lib/x86_64-linux-gnu/libffi.so.6 > #30 0x00007fc55f28271f in ffi_call () at /usr/lib/x86_64-linux-gnu/libffi.so.6 > #31 0x00007fc565e3f7e4 in () > at /usr/lib/x86_64-linux-gnu/libwayland-server.so.0 > #32 0x00007fc565e3c26f in () > at /usr/lib/x86_64-linux-gnu/libwayland-server.so.0 > #33 0x00007fc565e3d832 in wl_event_loop_dispatch () > at /usr/lib/x86_64-linux-gnu/libwayland-server.so.0 > #34 0x00007fc56ef0043e in KWayland::Server::Display::Private::dispatch() () > at /usr/lib/x86_64-linux-gnu/libKF5WaylandServer.so.5 > #35 0x00007fc56d85d18f in QMetaObject::activate(QObject*, int, int, void**) () > at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 > #36 0x00007fc56d869868 in QSocketNotifier::activated(int, QSocketNotifier::QPrivateSignal) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 > #37 0x00007fc56d869c22 in QSocketNotifier::event(QEvent*) () > at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 > #38 0x00007fc56de13e1c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 > #39 0x00007fc56de1b3ef in QApplication::notify(QObject*, QEvent*) () > at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 > #40 0x00007fc56d82dfe8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 > #41 0x00007fc56d885108 in QEventDispatcherUNIXPrivate::activateSocketNotifiers() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 > #42 0x00007fc56d885788 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 > #43 0x00007fc5586ddfed in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () > at /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/KWinQpaPlugin.so > #44 0x00007fc56d82c30a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 > #45 0x00007fc56d8354d0 in QCoreApplication::exec() () > at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 > #46 0x0000561d0fc8e897 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at ./main_wayland.cpp:807 Is this correct? I think I installed the needed symbols, but C backtraces are pretty opaque to me.
No, debug symbols are still missing.
> (gdb) bt > #0 0x00007f7668d6ee97 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51 > #1 0x00007f7668d70801 in __GI_abort () at abort.c:79 > #2 0x00007f7668d6039a in __assert_fail_base (fmt=0x7f7668ee77d8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x7f766bdc3f0d "m_windows.contains(c)", file=file@entry=0x7f766bdc3ef1 "/workspace/build/scene.cpp", line=line@entry=412, function=function@entry=0x7f766bdc4100 <KWin::Scene::windowClosed(KWin::Toplevel*, KWin::Deleted*)::__PRETTY_FUNCTION__> "void KWin::Scene::windowClosed(KWin::Toplevel*, KWin::Deleted*)") at assert.c:92 > #3 0x00007f7668d60412 in __GI___assert_fail (assertion=assertion@entry=0x7f766bdc3f0d "m_windows.contains(c)", file=file@entry=0x7f766bdc3ef1 "/workspace/build/scene.cpp", line=line@entry=412, function=function@entry=0x7f766bdc4100 <KWin::Scene::windowClosed(KWin::Toplevel*, KWin::Deleted*)::__PRETTY_FUNCTION__> "void KWin::Scene::windowClosed(KWin::Toplevel*, KWin::Deleted*)") at assert.c:101 > #4 0x00007f766bccc6bf in KWin::Scene::windowClosed(KWin::Toplevel*, KWin::Deleted*) (this=0x555de11e8cd0, c=<optimized out>, deleted=0x555de1b575b0) at ./scene.cpp:412 > #5 0x00007f766bda0063 in KWin::Scene::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at ./obj-x86_64-linux-gnu/kwin_autogen/EWIEGA46WW/moc_scene.cpp:98 > #6 0x00007f766997c075 in QMetaObject::activate(QObject*, int, int, void**) (sender=sender@entry=0x555de0de48e0, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=5, argv=argv@entry=0x7ffec71d51d0) at kernel/qobject.cpp:3771 > #7 0x00007f766997c747 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=sender@entry=0x555de0de48e0, m=m@entry=0x7f766c054e60 <KWin::Toplevel::staticMetaObject>, local_signal_index=local_signal_index@entry=5, argv=argv@entry=0x7ffec71d51d0) at kernel/qobject.cpp:3633 > #8 0x00007f766bd99aae in KWin::Toplevel::windowClosed(KWin::Toplevel*, KWin::Deleted*) (this=this@entry=0x555de0de48e0, _t1=<optimized out>, _t1@entry=0x555de0de48e0, _t2=<optimized out>, _t2@entry=0x555de1b575b0) at ./obj-x86_64-linux-gnu/kwin_autogen/EWIEGA46WW/moc_toplevel.cpp:718 > #9 0x00007f766bd3c99c in KWin::ShellClient::destroyClient() (this=0x555de0de48e0) at ./shell_client.cpp:376 > #10 0x00007f766997c18f in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffec71d5340, r=0x555de0de48e0, this=0x555de18188f0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:376 > #11 0x00007f766997c18f in QMetaObject::activate(QObject*, int, int, void**) (sender=sender@entry=0x555de1816700, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffec71d5340) at kernel/qobject.cpp:3754 > #12 0x00007f766997c747 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=sender@entry=0x555de1816700, m=m@entry=0x7f7669dc8a40 <QObject::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffec71d5340) at kernel/qobject.cpp:3633 > #13 0x00007f766997c7ef in QObject::destroyed(QObject*) (this=this@entry=0x555de1816700, _t1=<optimized out>, _t1@entry=0x555de1816700) at .moc/moc_qobject.cpp:214 > #14 0x00007f766998316a in QObject::~QObject() (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:904 > #15 0x00007f766b061c17 in () at /usr/lib/x86_64-linux-gnu/libKF5WaylandServer.so.5 > #16 0x00007f766997cc00 in QObject::event(QEvent*) (this=0x555de1816700, e=<optimized out>) at kernel/qobject.cpp:1242 > #17 0x00007f7669f32e1c in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x555de0adb010, receiver=receiver@entry=0x555de1816700, e=e@entry=0x555de1962dd0) at kernel/qapplication.cpp:3727 > #18 0x00007f7669f3a3ef in QApplication::notify(QObject*, QEvent*) (this=0x7ffec71d6690, receiver=0x555de1816700, e=0x555de1962dd0) at kernel/qapplication.cpp:3486 > #19 0x00007f766994cfe8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x555de1816700, event=event@entry=0x555de1962dd0) at kernel/qcoreapplication.cpp:1048 > #20 0x00007f766994fb2d in QCoreApplication::sendEvent(QObject*, QEvent*) (event=0x555de1962dd0, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234 > #21 0x00007f766994fb2d in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=52, data=0x555de0ac6500) at kernel/qcoreapplication.cpp:1745 > #22 0x00007f76646ffe7d in QQuickRenderControlPrivate::windowDestroyed() (this=this@entry=0x555de1986940) at items/qquickrendercontrol.cpp:190 > #23 0x00007f76647001b0 in QQuickRenderControlPrivate::windowDestroyed() (this=0x555de1986940) at items/qquickrendercontrol.cpp:176 > #24 0x00007f76647001b0 in QQuickRenderControl::~QQuickRenderControl() (this=0x555de19971c0, __in_chrg=<optimized out>) at items/qquickrendercontrol.cpp:181 > #25 0x00007f76647001d9 in QQuickRenderControl::~QQuickRenderControl() (this=0x555de19971c0, __in_chrg=<optimized out>) at items/qquickrendercontrol.cpp:184 > #26 0x00007f763807a87e in Aurorae::Decoration::~Decoration() (this=0x555de181a570, __in_chrg=<optimized out>) at ./plugins/kdecorations/aurorae/src/aurorae.cpp:273 > #27 0x00007f763807a9b9 in Aurorae::Decoration::~Decoration() (this=0x555de181a570, __in_chrg=<optimized out>) at ./plugins/kdecorations/aurorae/src/aurorae.cpp:280 > #28 0x00007f766bc0b9d6 in KWin::AbstractClient::destroyDecoration() (this=0x555de0de48e0) at ./abstract_client.cpp:1528 > #29 0x00007f766bd3c9b0 in KWin::ShellClient::destroyClient() (this=0x555de0de48e0) at ./shell_client.cpp:378 > #30 0x00007f766997c18f in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffec71d58a0, r=0x555de0de48e0, this=0x555de1818460) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:376 > #31 0x00007f766997c18f in QMetaObject::activate(QObject*, int, int, void**) (sender=0x555de1816490, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3754 > #32 0x00007f766b040838 in KWayland::Server::Resource::Private::unbind(wl_resource*) () at /usr/lib/x86_64-linux-gnu/libKF5WaylandServer.so.5 > #33 0x00007f7661f5ae52 in () at /usr/lib/x86_64-linux-gnu/libwayland-server.so.0 > #34 0x00007f7661f5aeae in wl_resource_destroy () at /usr/lib/x86_64-linux-gnu/libwayland-server.so.0 > #35 0x00007f765b3a1dae in ffi_call_unix64 () at /usr/lib/x86_64-linux-gnu/libffi.so.6 > #36 0x00007f765b3a171f in ffi_call () at /usr/lib/x86_64-linux-gnu/libffi.so.6 > #37 0x00007f7661f5e7e4 in () at /usr/lib/x86_64-linux-gnu/libwayland-server.so.0 > #38 0x00007f7661f5b26f in () at /usr/lib/x86_64-linux-gnu/libwayland-server.so.0 > #39 0x00007f7661f5c832 in wl_event_loop_dispatch () at /usr/lib/x86_64-linux-gnu/libwayland-server.so.0 > #40 0x00007f766b01f43e in KWayland::Server::Display::Private::dispatch() () at /usr/lib/x86_64-linux-gnu/libKF5WaylandServer.so.5 > #41 0x00007f766997c18f in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffec71d6030, r=0x555de0b27900, this=0x555de0b22440) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:376 > #42 0x00007f766997c18f in QMetaObject::activate(QObject*, int, int, void**) (sender=sender@entry=0x555de0aef420, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffec71d6030) at kernel/qobject.cpp:3754 > #43 0x00007f766997c747 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=sender@entry=0x555de0aef420, m=m@entry=0x7f7669dd0c60 <QSocketNotifier::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffec71d6030) at kernel/qobject.cpp:3633 > #44 0x00007f7669988868 in QSocketNotifier::activated(int, QSocketNotifier::QPrivateSignal) (this=this@entry=0x555de0aef420, _t1=<optimized out>, _t2=...) at .moc/moc_qsocketnotifier.cpp:136 > #45 0x00007f7669988c22 in QSocketNotifier::event(QEvent*) (this=0x555de0aef420, e=0x7ffec71d62a0) at kernel/qsocketnotifier.cpp:266 > #46 0x00007f7669f32e1c in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x555de0adb010, receiver=receiver@entry=0x555de0aef420, e=e@entry=0x7ffec71d62a0) at kernel/qapplication.cpp:3727 > #47 0x00007f7669f3a3ef in QApplication::notify(QObject*, QEvent*) (this=0x7ffec71d6690, receiver=0x555de0aef420, e=0x7ffec71d62a0) at kernel/qapplication.cpp:3486 > #48 0x00007f766994cfe8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=receiver@entry=0x555de0aef420, event=event@entry=0x7ffec71d62a0) at kernel/qcoreapplication.cpp:1048 > #49 0x00007f76699a4108 in QCoreApplication::sendEvent(QObject*, QEvent*) (event=0x7ffec71d62a0, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234 > #50 0x00007f76699a4108 in QEventDispatcherUNIXPrivate::activateSocketNotifiers() (this=this@entry=0x555de0aee6b0) at kernel/qeventdispatcher_unix.cpp:304 > #51 0x00007f76699a4788 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at kernel/qeventdispatcher_unix.cpp:509 > #52 0x00007f76547fcfed in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/KWinQpaPlugin.so > #53 0x00007f766994b30a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffec71d6450, flags=..., flags@entry=...) at kernel/qeventloop.cpp:214 > #54 0x00007f76699544d0 in QCoreApplication::exec() () at kernel/qcoreapplication.cpp:1336 > #55 0x0000555ddf193897 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at ./main_wayland.cpp:807 This better?
Er, I had the terminal extremely wide for easier comparison, and it looks like that changed gdb's wrapping. Version from a narrower terminal: > #0 0x00007f7668d6ee97 in __GI_raise (sig=sig@entry=6) > at ../sysdeps/unix/sysv/linux/raise.c:51 > #1 0x00007f7668d70801 in __GI_abort () at abort.c:79 > #2 0x00007f7668d6039a in __assert_fail_base (fmt=0x7f7668ee77d8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x7f766bdc3f0d "m_windows.contains(c)", file=file@entry=0x7f766bdc3ef1 "/workspace/build/scene.cpp", line=line@entry=412, function=function@entry=0x7f766bdc4100 <KWin::Scene::windowClosed(KWin::Toplevel*, KWin::Deleted*)::__PRETTY_FUNCTION__> "void KWin::Scene::windowClosed(KWin::Toplevel*, KWin::Deleted*)") at assert.c:92 > #3 0x00007f7668d60412 in __GI___assert_fail (assertion=assertion@entry=0x7f766bdc3f0d "m_windows.contains(c)", file=file@entry=0x7f766bdc3ef1 "/workspace/build/scene.cpp", line=line@entry=412, function=function@entry=0x7f766bdc4100 <KWin::Scene::windowClosed(KWin::Toplevel*, KWin::Deleted*)::__PRETTY_FUNCTION__> "void KWin::Scene::windowClosed(KWin::Toplevel*, KWin::Deleted*)") at assert.c:101 > #4 0x00007f766bccc6bf in KWin::Scene::windowClosed(KWin::Toplevel*, KWin::Deleted*) (this=0x555de11e8cd0, c=<optimized out>, deleted=0x555de1b575b0) > at ./scene.cpp:412 > #5 0x00007f766bda0063 in KWin::Scene::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) > at ./obj-x86_64-linux-gnu/kwin_autogen/EWIEGA46WW/moc_scene.cpp:98 > #6 0x00007f766997c075 in QMetaObject::activate(QObject*, int, int, void**) (sender=sender@entry=0x555de0de48e0, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=5, argv=argv@entry=0x7ffec71d51d0) > at kernel/qobject.cpp:3771 > #7 0x00007f766997c747 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=sender@entry=0x555de0de48e0, m=m@entry=0x7f766c054e60 <KWin::Toplevel::staticMetaObject>, local_signal_index=local_signal_index@entry=5, argv=argv@entry=0x7ffec71d51d0) at kernel/qobject.cpp:3633 > #8 0x00007f766bd99aae in KWin::Toplevel::windowClosed(KWin::Toplevel*, KWin::Deleted*) (this=this@entry=0x555de0de48e0, _t1=<optimized out>, > _t1@entry=0x555de0de48e0, _t2=<optimized out>, _t2@entry=0x555de1b575b0) > at ./obj-x86_64-linux-gnu/kwin_autogen/EWIEGA46WW/moc_toplevel.cpp:718 > #9 0x00007f766bd3c99c in KWin::ShellClient::destroyClient() (this=0x555de0de48e0) at ./shell_client.cpp:376 > #10 0x00007f766997c18f in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffec71d5340, r=0x555de0de48e0, this=0x555de18188f0) > at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:376 > #11 0x00007f766997c18f in QMetaObject::activate(QObject*, int, int, void**) (sender=sender@entry=0x555de1816700, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffec71d5340) > at kernel/qobject.cpp:3754 > #12 0x00007f766997c747 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=sender@entry=0x555de1816700, m=m@entry=0x7f7669dc8a40 <QObject::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffec71d5340) at kernel/qobject.cpp:3633 > #13 0x00007f766997c7ef in QObject::destroyed(QObject*) (this=this@entry=0x555de1816700, _t1=<optimized out>, _t1@entry=0x555de1816700) > at .moc/moc_qobject.cpp:214 > #14 0x00007f766998316a in QObject::~QObject() (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:904 > #15 0x00007f766b061c17 in () > at /usr/lib/x86_64-linux-gnu/libKF5WaylandServer.so.5 > #16 0x00007f766997cc00 in QObject::event(QEvent*) (this=0x555de1816700, e=<optimized out>) at kernel/qobject.cpp:1242 > #17 0x00007f7669f32e1c in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x555de0adb010, receiver=receiver@entry=0x555de1816700, e=e@entry=0x555de1962dd0) at kernel/qapplication.cpp:3727 > #18 0x00007f7669f3a3ef in QApplication::notify(QObject*, QEvent*) (this=0x7ffec71d6690, receiver=0x555de1816700, e=0x555de1962dd0) > at kernel/qapplication.cpp:3486 > #19 0x00007f766994cfe8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x555de1816700, event=event@entry=0x555de1962dd0) > at kernel/qcoreapplication.cpp:1048 > #20 0x00007f766994fb2d in QCoreApplication::sendEvent(QObject*, QEvent*) (event=0x555de1962dd0, receiver=<optimized out>) > at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234 > #21 0x00007f766994fb2d in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=52, data=0x555de0ac6500) > at kernel/qcoreapplication.cpp:1745 > #22 0x00007f76646ffe7d in QQuickRenderControlPrivate::windowDestroyed() (this=this@entry=0x555de1986940) at items/qquickrendercontrol.cpp:190 > #23 0x00007f76647001b0 in QQuickRenderControlPrivate::windowDestroyed() (this=0x555de1986940) at items/qquickrendercontrol.cpp:176 > #24 0x00007f76647001b0 in QQuickRenderControl::~QQuickRenderControl() (this=0x555de19971c0, __in_chrg=<optimized out>) at items/qquickrendercontrol.cpp:181 > #25 0x00007f76647001d9 in QQuickRenderControl::~QQuickRenderControl() (this=0x555de19971c0, __in_chrg=<optimized out>) at items/qquickrendercontrol.cpp:184 > #26 0x00007f763807a87e in Aurorae::Decoration::~Decoration() (this=0x555de181a570, __in_chrg=<optimized out>) > at ./plugins/kdecorations/aurorae/src/aurorae.cpp:273 > #27 0x00007f763807a9b9 in Aurorae::Decoration::~Decoration() (this=0x555de181a570, __in_chrg=<optimized out>) > at ./plugins/kdecorations/aurorae/src/aurorae.cpp:280 > #28 0x00007f766bc0b9d6 in KWin::AbstractClient::destroyDecoration() (this=0x555de0de48e0) at ./abstract_client.cpp:1528 > #29 0x00007f766bd3c9b0 in KWin::ShellClient::destroyClient() (this=0x555de0de48e0) at ./shell_client.cpp:378 > #30 0x00007f766997c18f in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffec71d58a0, r=0x555de0de48e0, this=0x555de1818460) > at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:376 > #31 0x00007f766997c18f in QMetaObject::activate(QObject*, int, int, void**) (sender=0x555de1816490, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3754 > #32 0x00007f766b040838 in KWayland::Server::Resource::Private::unbind(wl_resource*) () at /usr/lib/x86_64-linux-gnu/libKF5WaylandServer.so.5 > #33 0x00007f7661f5ae52 in () > at /usr/lib/x86_64-linux-gnu/libwayland-server.so.0 > #34 0x00007f7661f5aeae in wl_resource_destroy () > at /usr/lib/x86_64-linux-gnu/libwayland-server.so.0 > #35 0x00007f765b3a1dae in ffi_call_unix64 () > at /usr/lib/x86_64-linux-gnu/libffi.so.6 > #36 0x00007f765b3a171f in ffi_call () at /usr/lib/x86_64-linux-gnu/libffi.so.6 > #37 0x00007f7661f5e7e4 in () > at /usr/lib/x86_64-linux-gnu/libwayland-server.so.0 > #38 0x00007f7661f5b26f in () > at /usr/lib/x86_64-linux-gnu/libwayland-server.so.0 > #39 0x00007f7661f5c832 in wl_event_loop_dispatch () > at /usr/lib/x86_64-linux-gnu/libwayland-server.so.0 > #40 0x00007f766b01f43e in KWayland::Server::Display::Private::dispatch() () > at /usr/lib/x86_64-linux-gnu/libKF5WaylandServer.so.5 > #41 0x00007f766997c18f in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffec71d6030, r=0x555de0b27900, this=0x555de0b22440) > at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:376 > #42 0x00007f766997c18f in QMetaObject::activate(QObject*, int, int, void**) (sender=sender@entry=0x555de0aef420, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffec71d6030) > at kernel/qobject.cpp:3754 > #43 0x00007f766997c747 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=sender@entry=0x555de0aef420, m=m@entry=0x7f7669dd0c60 <QSocketNotifier::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffec71d6030) at kernel/qobject.cpp:3633 > #44 0x00007f7669988868 in QSocketNotifier::activated(int, QSocketNotifier::QPrivateSignal) (this=this@entry=0x555de0aef420, _t1=<optimized out>, _t2=...) > at .moc/moc_qsocketnotifier.cpp:136 > #45 0x00007f7669988c22 in QSocketNotifier::event(QEvent*) (this=0x555de0aef420, e=0x7ffec71d62a0) at kernel/qsocketnotifier.cpp:266 > #46 0x00007f7669f32e1c in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x555de0adb010, receiver=receiver@entry=0x555de0aef420, e=e@entry=0x7ffec71d62a0) at kernel/qapplication.cpp:3727 > #47 0x00007f7669f3a3ef in QApplication::notify(QObject*, QEvent*) (this=0x7ffec71d6690, receiver=0x555de0aef420, e=0x7ffec71d62a0) > at kernel/qapplication.cpp:3486 > #48 0x00007f766994cfe8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=receiver@entry=0x555de0aef420, event=event@entry=0x7ffec71d62a0) > at kernel/qcoreapplication.cpp:1048 > #49 0x00007f76699a4108 in QCoreApplication::sendEvent(QObject*, QEvent*) (event=0x7ffec71d62a0, receiver=<optimized out>) > at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234 > #50 0x00007f76699a4108 in QEventDispatcherUNIXPrivate::activateSocketNotifiers() (this=this@entry=0x555de0aee6b0) at kernel/qeventdispatcher_unix.cpp:304 > #51 0x00007f76699a4788 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) > at kernel/qeventdispatcher_unix.cpp:509 > #52 0x00007f76547fcfed in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () > at /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/KWinQpaPlugin.so > #53 0x00007f766994b30a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffec71d6450, flags=..., flags@entry=...) > at kernel/qeventloop.cpp:214 > #54 0x00007f76699544d0 in QCoreApplication::exec() () > at kernel/qcoreapplication.cpp:1336 > #55 0x0000555ddf193897 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at ./main_wayland.cpp:807
Hmm, the backtrace is quite familiar (can't recall where I saw it). Can you reproduce the crash with the Breeze decoration theme?
Created attachment 117325 [details] FreezeOrb aurorae theme Nope, works fine with Breeze. So I guess this is related to Aurorae? I've attached the theme I'm using. I hacked it together by hand from someone else's old theme using Inkscape so it's possible there's something wrong with it.
IIRC, the crash should not occur with Qt 5.12. If you're still able to reproduce the crash with Qt 5.12, please reopen this bug report. :-)