https://bugs.kde.org/show_bug.cgi?id=401608
Bug ID: 401608 Summary: KWin crashes when clicking "cancel" in the active aurorae's properties dialog Product: kwin Version: 5.14.4 Platform: openSUSE RPMs OS: Linux Status: REPORTED Severity: crash Priority: NOR Component: aurorae Assignee: kwin-bugs-n...@kde.org Reporter: fab...@ritter-vogt.de Target Milestone: --- Flags: Wayland+, X11? To reproduce: - Set plastik or any other aurorae deco as active - Open its properties dialog - Click cancel KWin crashes. Only tried on wayland. BT (same crash, but with kwin 5.12.6): Thread 1 "kwin_wayland" received signal SIGSEGV, Segmentation fault. KWin::Scene::windowClosed (this=0x55e94b02c4c0, c=<optimized out>, deleted=0x55e94c5710f0) at /usr/src/debug/kwin5-5.12.6-lp150.2.3.1.x86_64/scene.cpp:419 419 if (w->shadow()) { (gdb) bt #0 KWin::Scene::windowClosed (this=0x55e94b02c4c0, c=<optimized out>, deleted=0x55e94c5710f0) at /usr/src/debug/kwin5-5.12.6-lp150.2.3.1.x86_64/scene.cpp:419 #1 0x00007fd1ba0374d3 in KWin::Scene::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /usr/src/debug/kwin5-5.12.6-lp150.2.3.1.x86_64/build/kwin_autogen/EWIEGA46WW/moc_scene.cpp:98 #2 0x00007fd1b7a1004a in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib64/libQt5Core.so.5 #3 0x00007fd1ba03131e in KWin::Toplevel::windowClosed (this=this@entry=0x55e94c0b2b40, _t1=<optimized out>, _t1@entry=0x55e94c0b2b40, _t2=<optimized out>, _t2@entry=0x55e94c5710f0) at /usr/src/debug/kwin5-5.12.6-lp150.2.3.1.x86_64/build/kwin_autogen/EWIEGA46WW/moc_toplevel.cpp:718 #4 0x00007fd1b9fd518c in KWin::ShellClient::destroyClient (this=0x55e94c0b2b40) at /usr/src/debug/kwin5-5.12.6-lp150.2.3.1.x86_64/shell_client.cpp:362 #5 0x00007fd1b7a1014c in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib64/libQt5Core.so.5 #6 0x00007fd1b7a107ef in QObject::destroyed(QObject*) () from /usr/lib64/libQt5Core.so.5 #7 0x00007fd1b7a16b9a in QObject::~QObject() () from /usr/lib64/libQt5Core.so.5 #8 0x00007fd1b8e797d7 in ?? () from /usr/lib64/libKF5WaylandServer.so.5 #9 0x00007fd1b7a10a58 in QObject::event(QEvent*) () from /usr/lib64/libQt5Core.so.5 #10 0x00007fd1b800de8c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5 #11 0x00007fd1b8015244 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5 #12 0x00007fd1b79e2a88 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5 #13 0x00007fd1b79e5075 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib64/libQt5Core.so.5 #14 0x00007fd1b27f72cd in ?? () from /usr/lib64/libQt5Quick.so.5 #15 0x00007fd1b27f75e0 in QQuickRenderControl::~QQuickRenderControl() () from /usr/lib64/libQt5Quick.so.5 #16 0x00007fd1b27f7609 in QQuickRenderControl::~QQuickRenderControl() () from /usr/lib64/libQt5Quick.so.5 #17 0x00007fd189373cee in Aurorae::Decoration::~Decoration (this=0x55e94c55e8b0, __in_chrg=<optimized out>) at /usr/src/debug/kwin5-5.12.6-lp150.2.3.1.x86_64/plugins/kdecorations/aurorae/src/aurorae.cpp:273 #18 0x00007fd189373e29 in Aurorae::Decoration::~Decoration (this=0x55e94c55e8b0, __in_chrg=<optimized out>) at /usr/src/debug/kwin5-5.12.6-lp150.2.3.1.x86_64/plugins/kdecorations/aurorae/src/aurorae.cpp:280 #19 0x00007fd1b9ea4d56 in KWin::AbstractClient::destroyDecoration (this=0x55e94c0b2b40) at /usr/src/debug/kwin5-5.12.6-lp150.2.3.1.x86_64/abstract_client.cpp:1435 #20 0x00007fd1b9fd51a0 in KWin::ShellClient::destroyClient (this=0x55e94c0b2b40) at /usr/src/debug/kwin5-5.12.6-lp150.2.3.1.x86_64/shell_client.cpp:364 #21 0x00007fd1b7a1014c in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib64/libQt5Core.so.5 #22 0x00007fd1b8e58928 in KWayland::Server::Resource::Private::unbind(wl_resource*) () from /usr/lib64/libKF5WaylandServer.so.5 #23 0x00007fd1afeb45a0 in ?? () from /usr/lib64/libwayland-server.so.0 #24 0x00007fd1afeb45f2 in wl_resource_destroy () from /usr/lib64/libwayland-server.so.0 #25 0x00007fd1a9a816bd in ?? () from /usr/lib64/libffi.so.7 #26 0x00007fd1a9a80bcf in ?? () from /usr/lib64/libffi.so.7 #27 0x00007fd1afeb80ab in ?? () from /usr/lib64/libwayland-server.so.0 #28 0x00007fd1afeb48ef in ?? () from /usr/lib64/libwayland-server.so.0 #29 0x00007fd1afeb6282 in wl_event_loop_dispatch () from /usr/lib64/libwayland-server.so.0 #30 0x00007fd1b8e3d1ae in KWayland::Server::Display::Private::dispatch() () from /usr/lib64/libKF5WaylandServer.so.5 #31 0x00007fd1b7a1014c in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib64/libQt5Core.so.5 #32 0x00007fd1b7a1beb8 in QSocketNotifier::activated(int, QSocketNotifier::QPrivateSignal) () from /usr/lib64/libQt5Core.so.5 #33 0x00007fd1b7a1c222 in QSocketNotifier::event(QEvent*) () from /usr/lib64/libQt5Core.so.5 #34 0x00007fd1b800de8c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5 #35 0x00007fd1b8015244 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5 #36 0x00007fd1b79e2a88 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5 #37 0x00007fd1b7a35e48 in QEventDispatcherUNIXPrivate::activateSocketNotifiers() () from /usr/lib64/libQt5Core.so.5 #38 0x00007fd1b7a364b8 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5 #39 0x00007fd1a20c173d in QUnixEventDispatcherQPA::processEvents (this=<optimized out>, flags=...) at qunixeventdispatcher.cpp:68 #40 0x00007fd1b79e109a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5 #41 0x00007fd1b79e99e4 in QCoreApplication::exec() () from /usr/lib64/libQt5Core.so.5 #42 0x000055e94a126f06 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kwin5-5.12.6-lp150.2.3.1.x86_64/main_wayland.cpp:927 It looks like KWin::ShellClient::destroyClient ends up calling KWin::ShellClient::destroyClient again - but as m_windows does not contain the toplevel anymore, it dereferences a nullptr and crashes. -- You are receiving this mail because: You are watching all bug changes.