https://bugs.kde.org/show_bug.cgi?id=459404
Bug ID: 459404 Summary: Crash in KWin::Window::isDesktop() when Alt+Tabbing Classification: Unclassified Product: kwin Version: master Platform: Other OS: Linux Status: REPORTED Severity: crash Priority: NOR Component: wayland-generic Assignee: kwin-bugs-n...@kde.org Reporter: n...@kde.org Target Milestone: --- With today's git master for KWin, I am seeing kwin_wayland crash when I Alt+Tab. This happens roughly 25% of the time. It's often enough to be quite disruptive. backtrace: Program terminated with signal SIGSEGV, Segmentation fault. #0 0x00007f9cae8ef63b in KWin::Window::isDesktop (this=this@entry=0x263b420) at /home/nate/kde/src/kwin/src/window.h:2125 2125 return windowType() == NET::Desktop; [Current thread is 1 (Thread 0x7f9ca7938980 (LWP 27437))] (gdb) bt #0 0x00007f9cae8ef63b in KWin::Window::isDesktop() const (this=this@entry=0x263b420) at /home/nate/kde/src/kwin/src/window.h:2125 #1 KWin::Window::isSpecialWindow() const (this=this@entry=0x263b420) at /home/nate/kde/src/kwin/src/window.cpp:1053 #2 0x00007f9cae8ef6f8 in operator() (cl=0x263b420, __closure=0x7fffaca82410) at /home/nate/kde/src/kwin/src/window.cpp:3420 #3 std::__invoke_impl<bool, KWin::Window::findWindowWithSameCaption() const::<lambda(const KWin::Window*)>&, const KWin::Window*> (__f=...) at /usr/include/c++/12/bits/invoke.h:61 #4 std::__invoke_r<bool, KWin::Window::findWindowWithSameCaption() const::<lambda(const KWin::Window*)>&, const KWin::Window*> (__fn=...) at /usr/include/c++/12/bits/invoke.h:114 #5 std::_Function_handler<bool(const KWin::Window*), KWin::Window::findWindowWithSameCaption() const::<lambda(const KWin::Window*)> >::_M_invoke(const std::_Any_data &, const KWin::Window *&&) (__functor=..., __args#0=<optimized out>) at /usr/include/c++/12/bits/std_function.h:290 #6 0x00007f9cae90831b in std::function<bool (KWin::Window const*)>::operator()(KWin::Window const*) const (__args#0=<optimized out>, this=0x7fffaca82410) at /usr/include/c++/12/bits/std_function.h:591 #7 __gnu_cxx::__ops::_Iter_pred<std::function<bool (KWin::Window const*)> >::operator()<QList<KWin::Window*>::const_iterator>(QList<KWin::Window*>::const_iterator) (__it=..., this=0x7fffaca82410) at /usr/include/c++/12/bits/predefined_ops.h:318 #8 std::__find_if<QList<KWin::Window*>::const_iterator, __gnu_cxx::__ops::_Iter_pred<std::function<bool (KWin::Window const*)> > >(QList<KWin::Window*>::const_iterator, QList<KWin::Window*>::const_iterator, __gnu_cxx::__ops::_Iter_pred<std::function<bool (KWin::Window const*)> >, std::random_access_iterator_tag) (__first=..., __last=..., __pred=...) at /usr/include/c++/12/bits/stl_algobase.h:2097 #9 0x00007f9cae90d0a2 in std::__find_if<QList<KWin::Window*>::const_iterator, __gnu_cxx::__ops::_Iter_pred<std::function<bool (KWin::Window const*)> > >(QList<KWin::Window*>::const_iterator, QList<KWin::Window*>::const_iterator, __gnu_cxx::__ops::_Iter_pred<std::function<bool (KWin::Window const*)> >) (__pred=..., __last=..., __first=...) at /usr/include/c++/12/bits/stl_algobase.h:2113 #10 std::find_if<QList<KWin::Window*>::const_iterator, std::function<bool (KWin::Window const*)> >(QList<KWin::Window*>::const_iterator, QList<KWin::Window*>::const_iterator, std::function<bool (KWin::Window const*)>) (__pred=..., __last=..., __first=...) at /usr/include/c++/12/bits/stl_algo.h:3878 #11 KWin::Window::findInList<KWin::Window, KWin::Window>(QList<KWin::Window*> const&, std::function<bool (KWin::Window const*)>) (func=..., list=<optimized out>) at /home/nate/kde/src/kwin/src/window.h:2313 #12 KWin::Workspace::findAbstractClient(std::function<bool (KWin::Window const*)>) const (this=0x15dc1e0, func=...) at /home/nate/kde/src/kwin/src/workspace.cpp:1980 #13 0x00007f9cae8f199c in KWin::Window::findWindowWithSameCaption() const (this=this@entry=0x25ce230) at /home/nate/kde/src/kwin/src/window.cpp:3422 #14 0x00007f9cae8e8b2f in KWin::WaylandWindow::updateCaption() (this=0x25ce230) at /home/nate/kde/src/kwin/src/waylandwindow.cpp:191 #15 0x00007f9cae8e8db0 in KWin::WaylandWindow::setCaption(QString const&) (this=this@entry=0x25ce230, caption=...) at /home/nate/kde/src/kwin/src/waylandwindow.cpp:207 #16 0x00007f9cae93f398 in KWin::XdgToplevelWindow::handleWindowTitleChanged() (this=0x25ce230) at /home/nate/kde/src/kwin/src/xdgshellwindow.cpp:1099 #17 0x00007f9cacedb8b6 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7fffaca82630, r=<optimized out>, this=0x245f660) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 #18 doActivate<false>(QObject*, int, void**) (sender=0x242c830, signal_index=6, argv=0x7fffaca82630) at kernel/qobject.cpp:3886 #19 0x00007f9caced68b7 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=<optimized out>, m=m@entry=0x7f9caec28840 <KWaylandServer::XdgToplevelInterface::staticMetaObject>, local_signal_index=local_signal_index@entry=3, argv=argv@entry=0x7fffaca82630) at kernel/qobject.cpp:3946 #20 0x00007f9cae78adb5 in KWaylandServer::XdgToplevelInterface::windowTitleChanged(QString const&) (this=<optimized out>, _t1=<optimized out>) at /home/nate/kde/build/kwin/src/kwin_autogen/IEXH3JLKNG/moc_xdgshell_interface.cpp:740 #21 0x00007f9caea899b4 in QtWaylandServer::xdg_toplevel::handle_set_title(wl_client*, wl_resource*, char const*) (client=<optimized out>, resource=<optimized out>, title=0x27c26ec "Mozilla Firefox") at /home/nate/kde/build/kwin/src/wayland/qwayland-server-xdg-shell.cpp:1339 #22 0x00007f9caa051746 in ffi_call_unix64 () at ../src/x86/unix64.S:105 #23 0x00007f9caa04e4d2 in ffi_call_int (cif=<optimized out>, fn=<optimized out>, rvalue=<optimized out>, avalue=<optimized out>, closure=<optimized out>) at ../src/x86/ffi64.c:672 #24 0x00007f9caca711e1 in wl_closure_invoke (closure=closure@entry=0x27c2610, flags=flags@entry=2, target=<optimized out>, target@entry=0x25ae990, opcode=opcode@entry=2, data=<optimized out>, data@entry=0x25762e0) at ../src/connection.c:1025 #25 0x00007f9caca6ca1a in wl_client_connection_data (fd=<optimized out>, mask=<optimized out>, data=0x25762e0) at ../src/wayland-server.c:437 #26 0x00007f9caca6f2f2 in wl_event_loop_dispatch (loop=0x12b1990, timeout=<optimized out>) at ../src/event-loop.c:1027 #27 0x00007f9cae9dc7e7 in KWaylandServer::Display::dispatchEvents() (this=<optimized out>) at /home/nate/kde/src/kwin/src/wayland/display.cpp:114 #28 0x00007f9cacedb8b6 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7fffaca82d60, r=<optimized out>, this=0x1fece60) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 #29 doActivate<false>(QObject*, int, void**) (sender=0x1fdfda0, signal_index=3, argv=0x7fffaca82d60) at kernel/qobject.cpp:3886 #30 0x00007f9caced68b7 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=sender@entry=0x1fdfda0, m=m@entry=0x7f9cad16d440 <QSocketNotifier::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fffaca82d60) at kernel/qobject.cpp:3946 #31 0x00007f9cacede133 in QSocketNotifier::activated(QSocketDescriptor, QSocketNotifier::Type, QSocketNotifier::QPrivateSignal) (this=this@entry=0x1fdfda0, _t1=..., _t2=<optimized out>, _t3=...) at .moc/moc_qsocketnotifier.cpp:178 #32 0x00007f9cacede955 in QSocketNotifier::event(QEvent*) (this=0x1fdfda0, e=<optimized out>) at kernel/qsocketnotifier.cpp:302 #33 0x00007f9cabbaed22 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x1fdfda0, e=0x7fffaca82e60) at kernel/qapplication.cpp:3637 #34 0x00007f9cacea8218 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x1fdfda0, event=0x7fffaca82e60) at kernel/qcoreapplication.cpp:1064 #35 0x00007f9cacef63de in QEventDispatcherUNIXPrivate::activateSocketNotifiers() (this=0x1271480) at kernel/qeventdispatcher_unix.cpp:304 #36 0x00007f9cacef681d in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at kernel/qeventdispatcher_unix.cpp:511 #37 0x000000000052c501 in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () #38 0x00007f9cacea6c6a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffaca82fd0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69 #39 0x00007f9caceaed32 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #40 0x00007f9cad35fb70 in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1860 #41 0x00007f9cabbaec99 in QApplication::exec() () at kernel/qapplication.cpp:2829 #42 0x0000000000444317 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /home/nate/kde/src/kwin/src/main_wayland.cpp:613 -- You are receiving this mail because: You are watching all bug changes.