Bug 402965 - Assertion failure in windowClosed
Summary: Assertion failure in windowClosed
Status: RESOLVED UPSTREAM
Alias: None
Product: kwin
Classification: Plasma
Component: core (show other bugs)
Version: 5.14.4
Platform: Neon Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-01-07 09:56 UTC by una
Modified: 2019-01-07 11:10 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
una: Wayland+
una: Mesa+


Attachments
FreezeOrb aurorae theme (21.20 KB, application/zip)
2019-01-07 11:07 UTC, una
Details

Note You need to log in before you can comment on or make changes to this bug.
Description una 2019-01-07 09:56:47 UTC
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.)
Comment 1 Vlad Zahorodnii 2019-01-07 10:39:19 UTC
Hmm, could it be that Scene::windowClosed is called several times for the same window?

Could you please provide a backtrace of the crash?
Comment 2 una 2019-01-07 10:45:46 UTC
> (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.
Comment 3 Vlad Zahorodnii 2019-01-07 10:47:08 UTC
No, debug symbols are still missing.
Comment 4 una 2019-01-07 10:59:20 UTC
> (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?
Comment 5 una 2019-01-07 11:00:49 UTC
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
Comment 6 Vlad Zahorodnii 2019-01-07 11:02:52 UTC
Hmm, the backtrace is quite familiar (can't recall where I saw it).

Can you reproduce the crash with the Breeze decoration theme?
Comment 7 una 2019-01-07 11:07:58 UTC
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.
Comment 8 Vlad Zahorodnii 2019-01-07 11:10:41 UTC
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. :-)