Just tried a plasma wayland session and found following when closing a window. Might be related to using non default theme (changed it last year because of a Qt bug). What looks suspicious is that KWin::ShellClient::destroyClient is twice in the callstack for the same object. If there is anything else I can provide, the core file is still there and all needed debug packages installed. (Not sure about the component selected for this bug report.) Core was generated by `/usr/bin/kwin_wayland --xwayland --libinput --exit-with-session=/usr/lib/x86_64'. Program terminated with signal SIGABRT, Aborted. (gdb) bt #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51 #1 0x00007fc92210830f in __GI_abort () at abort.c:100 #2 0x00007fc9220ff9da in __assert_fail_base (fmt=0x7fc909213129 <error: Cannot access memory at address 0x7fc909213129>, assertion=assertion@entry=0x7fc925110272 "m_windows.contains(c)", file=file@entry=0x7fc9251102e0 "/build/kwin-posrbs/kwin-5.12.5/scene.cpp", line=line@entry=414, function=function@entry=0x7fc925110480 <KWin::Scene::windowClosed(KWin::Toplevel*, KWin::Deleted*)::__PRETTY_FUNCTION__> "void KWin::Scene::windowClosed(KWin::Toplevel*, KWin::Deleted*)") at assert.c:92 #3 0x00007fc9220ffa52 in __GI___assert_fail (assertion=assertion@entry=0x7fc925110272 "m_windows.contains(c)", file=file@entry=0x7fc9251102e0 "/build/kwin-posrbs/kwin-5.12.5/scene.cpp", line=line@entry=414, function=function@entry=0x7fc925110480 <KWin::Scene::windowClosed(KWin::Toplevel*, KWin::Deleted*)::__PRETTY_FUNCTION__> "void KWin::Scene::windowClosed(KWin::Toplevel*, KWin::Deleted*)") at assert.c:101 #4 0x00007fc92501c81f in KWin::Scene::windowClosed (this=0x5638a2713d60, c=<optimized out>, deleted=0x5638a2ecbd40) at ./scene.cpp:414 #5 0x00007fc9250edc43 in KWin::Scene::qt_static_metacall (_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 0x00007fc922cfb195 in QMetaObject::activate (sender=sender@entry=0x5638a2d19c90, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=5, argv=argv@entry=0x7fff3fa8d320) at kernel/qobject.cpp:3767 #7 0x00007fc922cfb867 in QMetaObject::activate (sender=sender@entry=0x5638a2d19c90, m=m@entry=0x7fc92539fc80 <KWin::Toplevel::staticMetaObject>, local_signal_index=local_signal_index@entry=5, argv=argv@entry=0x7fff3fa8d320) at kernel/qobject.cpp:3629 #8 0x00007fc9250e68de in KWin::Toplevel::windowClosed (this=this@entry=0x5638a2d19c90, _t1=<optimized out>, _t1@entry=0x5638a2d19c90, _t2=<optimized out>, _t2@entry=0x5638a2ecbd40) at ./obj-x86_64-linux-gnu/kwin_autogen/EWIEGA46WW/moc_toplevel.cpp:718 #9 0x00007fc92508b9ac in KWin::ShellClient::destroyClient (this=0x5638a2d19c90) at ./shell_client.cpp:362 #10 0x00007fc922cfb2af in QtPrivate::QSlotObjectBase::call (a=0x7fff3fa8d490, r=0x5638a2d19c90, this=0x5638a2d20430) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:378 #11 QMetaObject::activate (sender=sender@entry=0x5638a29c21d0, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fff3fa8d490) at kernel/qobject.cpp:3750 #12 0x00007fc922cfb867 in QMetaObject::activate (sender=sender@entry=0x5638a29c21d0, m=m@entry=0x7fc923124a60 <QObject::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fff3fa8d490) at kernel/qobject.cpp:3629 #13 0x00007fc922cfb90f in QObject::destroyed (this=this@entry=0x5638a29c21d0, _t1=<optimized out>, _t1@entry=0x5638a29c21d0) at .moc/moc_qobject.cpp:214 #14 0x00007fc922d020ca in QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:902 #15 0x00007fc924127397 in KWayland::Server::XdgTopLevelV6Interface::~XdgTopLevelV6Interface (this=0x5638a29c21d0, __in_chrg=<optimized out>) at ./src/server/xdgshell_v6_interface_p.h:92 #16 KWayland::Server::XdgTopLevelV6Interface::~XdgTopLevelV6Interface (this=0x5638a29c21d0, __in_chrg=<optimized out>) at ./src/server/xdgshell_v6_interface_p.h:92 #17 0x00007fc922cfbd20 in QObject::event (this=0x5638a29c21d0, e=<optimized out>) at kernel/qobject.cpp:1238 #18 0x00007fc92328e6cc in QApplicationPrivate::notify_helper (this=this@entry=0x5638a260ae80, receiver=receiver@entry=0x5638a29c21d0, e=e@entry=0x7fc8f8006220) at kernel/qapplication.cpp:3732 #19 0x00007fc923295e84 in QApplication::notify (this=0x7fff3fa8e800, receiver=0x5638a29c21d0, e=0x7fc8f8006220) at kernel/qapplication.cpp:3491 #20 0x00007fc922ccb938 in QCoreApplication::notifyInternal2 (receiver=0x5638a29c21d0, event=event@entry=0x7fc8f8006220) at kernel/qcoreapplication.cpp:1050 #21 0x00007fc922cce4cd in QCoreApplication::sendEvent (event=0x7fc8f8006220, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234 #22 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=52, data=0x5638a2613330) at kernel/qcoreapplication.cpp:1740 #23 0x00007fc91da9f30d in QQuickRenderControlPrivate::windowDestroyed (this=this@entry=0x5638a2e1c300) at items/qquickrendercontrol.cpp:190 #24 0x00007fc91da9f640 in QQuickRenderControlPrivate::windowDestroyed (this=0x5638a2e1c300) at items/qquickrendercontrol.cpp:176 #25 QQuickRenderControl::~QQuickRenderControl (this=0x5638a2e03590, __in_chrg=<optimized out>) at items/qquickrendercontrol.cpp:181 #26 0x00007fc91da9f669 in QQuickRenderControl::~QQuickRenderControl (this=0x5638a2e03590, __in_chrg=<optimized out>) at items/qquickrendercontrol.cpp:184 #27 0x00007fc8d2bfa8ce in Aurorae::Decoration::~Decoration (this=0x5638a29930d0, __in_chrg=<optimized out>) at ./plugins/kdecorations/aurorae/src/aurorae.cpp:273 #28 0x00007fc8d2bfaa09 in Aurorae::Decoration::~Decoration (this=0x5638a29930d0, __in_chrg=<optimized out>) at ./plugins/kdecorations/aurorae/src/aurorae.cpp:280 #29 0x00007fc924f5d176 in KWin::AbstractClient::destroyDecoration (this=0x5638a2d19c90) at ./abstract_client.cpp:1435 #30 0x00007fc92508b9c0 in KWin::ShellClient::destroyClient (this=0x5638a2d19c90) at ./shell_client.cpp:364 #31 0x00007fc922cfb2af in QtPrivate::QSlotObjectBase::call (a=0x7fff3fa8d9f0, r=0x5638a2d19c90, this=0x5638a29a6e10) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:378 #32 QMetaObject::activate (sender=0x5638a2d2a2b0, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3750 #33 0x00007fc922cfb867 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7fc92436ee80 <KWayland::Server::Resource::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3629 #34 0x00007fc92412d870 in KWayland::Server::Resource::unbound (this=<optimized out>) at ./obj-x86_64-linux-gnu/src/server/KF5WaylandServer_autogen/EWIEGA46WW/moc_resource.cpp:138 #35 0x00007fc9241064b8 in KWayland::Server::Resource::Private::unbind (r=<optimized out>) at ./src/server/resource.cpp:68 #36 0x00007fc91b08bf82 in destroy_resource (element=element@entry=0x5638a2d2eb30, data=data@entry=0x0, flags=0) at ../src/wayland-server.c:688 #37 0x00007fc91b08bfde in wl_resource_destroy (resource=0x5638a2d2eb30) at ../src/wayland-server.c:705 #38 0x00007fc914415fce in ffi_call_unix64 () at ../src/x86/unix64.S:76 #39 0x00007fc91441593f in ffi_call (cif=cif@entry=0x7fff3fa8dbf0, fn=<optimized out>, rvalue=<optimized out>, rvalue@entry=0x0, avalue=avalue@entry=0x7fff3fa8dcc0) at ../src/x86/ffi64.c:525 #40 0x00007fc91b08fd04 in wl_closure_invoke (closure=closure@entry=0x5638a2fbad80, flags=flags@entry=2, target=<optimized out>, target@entry=0x5638a2d2eb30, opcode=opcode@entry=0, data=<optimized out>, data@entry=0x5638a29c64f0) at ../src/connection.c:996 #41 0x00007fc91b08c33f in wl_client_connection_data (fd=<optimized out>, mask=<optimized out>, data=0x5638a29c64f0) at ../src/wayland-server.c:420 #42 0x00007fc91b08dd72 in wl_event_loop_dispatch (loop=0x5638a267d560, timeout=timeout@entry=0) at ../src/event-loop.c:641 #43 0x00007fc9240eab7e in KWayland::Server::Display::Private::dispatch (this=<optimized out>) at ./src/server/display.cpp:141 #44 0x00007fc922cfb2af in QtPrivate::QSlotObjectBase::call (a=0x7fff3fa8e180, r=0x5638a267d4c0, this=0x5638a267d780) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:378 #45 QMetaObject::activate (sender=sender@entry=0x5638a267d760, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fff3fa8e180) at kernel/qobject.cpp:3750 #46 0x00007fc922cfb867 in QMetaObject::activate (sender=sender@entry=0x5638a267d760, m=m@entry=0x7fc92312cd80 <QSocketNotifier::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fff3fa8e180) at kernel/qobject.cpp:3629 #47 0x00007fc922d076f8 in QSocketNotifier::activated (this=this@entry=0x5638a267d760, _t1=<optimized out>, _t2=...) at .moc/moc_qsocketnotifier.cpp:136 #48 0x00007fc922d07ac2 in QSocketNotifier::event (this=0x5638a267d760, e=0x7fff3fa8e3f0) at kernel/qsocketnotifier.cpp:266 #49 0x00007fc92328e6cc in QApplicationPrivate::notify_helper (this=this@entry=0x5638a260ae80, receiver=receiver@entry=0x5638a267d760, e=e@entry=0x7fff3fa8e3f0) at kernel/qapplication.cpp:3732 #50 0x00007fc923295e84 in QApplication::notify (this=0x7fff3fa8e800, receiver=0x5638a267d760, e=0x7fff3fa8e3f0) at kernel/qapplication.cpp:3491 #51 0x00007fc922ccb938 in QCoreApplication::notifyInternal2 (receiver=receiver@entry=0x5638a267d760, event=event@entry=0x7fff3fa8e3f0) at kernel/qcoreapplication.cpp:1050 #52 0x00007fc922d23268 in QCoreApplication::sendEvent (event=0x7fff3fa8e3f0, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234 #53 QEventDispatcherUNIXPrivate::activateSocketNotifiers (this=this@entry=0x5638a265de50) at kernel/qeventdispatcher_unix.cpp:304 #54 0x00007fc922d238e8 in QEventDispatcherUNIX::processEvents (this=<optimized out>, flags=...) at kernel/qeventdispatcher_unix.cpp:509 #55 0x00007fc90be70a9d in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/KWinQpaPlugin.so #56 0x00007fc922cc9b6a in QEventLoop::exec (this=this@entry=0x7fff3fa8e5a0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212 #57 0x00007fc922cd2ed4 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1338 #58 0x00005638a145dd5a in main (argc=<optimized out>, argv=<optimized out>) at ./main_wayland.cpp:830
*** This bug has been marked as a duplicate of bug 395732 ***
A small addition: This bug seems more to be the duplicate of bug #395346, where a workaround was implemented that led to another crash in bug #395732, where the previous workaround got reverted. The first bug mentions also [QTBUG-68997]. Therefore if I read the bugs correct there is no workaround anymore in place and currently the only way to avoid this bug is to wait for Qt 5.12. Does this qualify #395346 to get reopened? [QTBUG-68997] https://bugreports.qt.io/browse/QTBUG-68997
Yes, the solution is to wait for newer Qt. As a workaround use the breeze window decoration