Created attachment 157181 [details] Backtrace of the plasmashell crash SUMMARY Under the X11 session, closing one window of an application with multiple windows open using the icons only task manager causes a crash of plasma shell. Backtrace attached in file. STEPS TO REPRODUCE 1. Open two windows of an application (almost anything seems to cause this) 2. Hover over that application's icon in the icons only task manager 3. Press the red x button to close one of the open windows OBSERVED RESULT The selected window closes, plasmashell crashes, then shortly after restarts itself EXPECTED RESULT The selected window closes and plasmashell remains functional SOFTWARE/OS VERSIONS Linux/KDE Plasma: ArchLinux, kernel 6.1.15-1-lts (available in About System) KDE Plasma Version: 5.27.2 KDE Frameworks Version: 5.103.0 Qt Version: 5.15.8 ADDITIONAL INFORMATION This does not seem to occur under wayland. Wigets in panel: Application Launcher, Pager, Icons-only Task Manager, System Tray, Clock, Peek at Desktop
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0) at pthread_kill.c:44 #1 0x00007f1db12a0953 in __pthread_kill_internal (signo=11, threadid=<optimized out>) at pthread_kill.c:78 #2 0x00007f1db1251ea8 in __GI_raise (sig=11) at ../sysdeps/posix/raise.c:26 #3 0x00007f1db3aca7ef in KCrash::defaultCrashHandler(int) (sig=11) at /usr/src/debug/kcrash/kcrash-5.103.0/src/kcrash.cpp:626 #4 0x00007f1db1251f50 in <signal handler called> () at /usr/lib/libc.so.6 #5 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0) at pthread_kill.c:44 #6 0x00007f1db12a0953 in __pthread_kill_internal (signo=11, threadid=<optimized out>) at pthread_kill.c:78 #7 0x00007f1db1251ea8 in __GI_raise (sig=11) at ../sysdeps/posix/raise.c:26 #8 0x00007f1db1251f50 in <signal handler called> () at /usr/lib/libc.so.6 #9 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38 #10 0x00007f1db18e056c in QtLinuxFutex::_q_futex(int*, int, int, unsigned long long, int*, int) (val3=0, addr2=0x0, val2=0, val=<optimized out>, op=0, addr=<optimized out>, addr=<optimized out>, op=<optimized out>, val=<optimized out>, val2=<optimized out>, addr2=<optimized out>, val3=<optimized out>) at thread/qfutex_p.h:114 #11 QtLinuxFutex::futexWait<QBasicAtomicInteger<unsigned int> >(QBasicAtomicInteger<unsigned int>&, QBasicAtomicInteger<unsigned int>::Type) (expectedValue=<optimized out>, futex=<optimized out>) at thread/qfutex_p.h:133 #12 futexSemaphoreTryAcquire_loop<false>(QBasicAtomicInteger<unsigned long long>&, unsigned long long, unsigned long long, int) (timeout=-1, nn=8589934593, curValue=<optimized out>, u=...) at thread/qsemaphore.cpp:219 #13 futexSemaphoreTryAcquire<false>(QBasicAtomicInteger<unsigned long long>&, int, int) (timeout=-1, n=<optimized out>, u=...) at thread/qsemaphore.cpp:262 #14 QSemaphore::acquire(int) (this=0x7ffc4e4beb90, n=<optimized out>) at thread/qsemaphore.cpp:326 #15 0x00007f1db1abeb74 in doActivate<false>(QObject*, int, void**) (sender=0x5628719a8320, signal_index=0, argv=0x7ffc4e4bec10) at kernel/qobject.cpp:3904 #16 0x00007f1db1abee14 in QObject::destroyed(QObject*) (this=<optimized out>, _t1=<optimized out>) at .moc/moc_qobject.cpp:219 #17 0x00007f1db1ab537c in QObject::~QObject() (this=this@entry=0x5628719a8320, this=<optimized out>) at kernel/qobject.cpp:1010 #18 0x00007f1d5ab403f3 in KUriFilterPlugin::~KUriFilterPlugin() (this=0x5628719a8320, this=<optimized out>) at /usr/src/debug/kio/kio-5.103.0/src/widgets/kurifilter.h:631 #19 KShortUriFilter::~KShortUriFilter() (this=0x5628719a8320, this=<optimized out>) at /usr/src/debug/kio/build/src/urifilters/shorturi/kshorturifilter_autogen/EWIEGA46WW/../../../../../../kio-5.103.0/src/urifilters/shorturi/kshorturifilter.h:45 #20 KShortUriFilter::~KShortUriFilter() (this=0x5628719a8320, this=<optimized out>) at /usr/src/debug/kio/build/src/urifilters/shorturi/kshorturifilter_autogen/EWIEGA46WW/../../../../../../kio-5.103.0/src/urifilters/shorturi/kshorturifilter.h:45 #21 0x00007f1db0d3ea9e in qDeleteAll<QTypedArrayData<KUriFilterPlugin*>::const_iterator>(QTypedArrayData<KUriFilterPlugin*>::const_iterator, QTypedArrayData<KUriFilterPlugin*>::const_iterator) (end=..., begin=...) at /usr/include/qt/QtCore/qalgorithms.h:320 #22 qDeleteAll<QVector<KUriFilterPlugin*> >(QVector<KUriFilterPlugin*> const&) (c=...) at /usr/include/qt/QtCore/qalgorithms.h:328 #23 KUriFilterPrivate::~KUriFilterPrivate() (this=0x562871dbd570, this=<optimized out>) at /usr/src/debug/kio/kio-5.103.0/src/widgets/kurifilter.cpp:544 #24 std::default_delete<KUriFilterPrivate>::operator()(KUriFilterPrivate*) const (this=<optimized out>, __ptr=0x562871dbd570) at /usr/include/c++/12.2.1/bits/unique_ptr.h:95 #25 std::default_delete<KUriFilterPrivate>::operator()(KUriFilterPrivate*) const (__ptr=0x562871dbd570, this=<optimized out>) at /usr/include/c++/12.2.1/bits/unique_ptr.h:89 #26 std::unique_ptr<KUriFilterPrivate, std::default_delete<KUriFilterPrivate> >::~unique_ptr() (this=<optimized out>, this=<optimized out>) at /usr/include/c++/12.2.1/bits/unique_ptr.h:396 #27 KUriFilter::~KUriFilter() (this=<optimized out>, this=<optimized out>) at /usr/src/debug/kio/kio-5.103.0/src/widgets/kurifilter.cpp:569 #28 0x00007f1db0d3ebae in (anonymous namespace)::Q_QGS_m_self::innerFunction()::Holder::~Holder() () at /usr/src/debug/kio/kio-5.103.0/src/widgets/kurifilter.cpp:550 #29 0x00007f1db1254445 in __run_exit_handlers (status=status@entry=1, listp=0x7f1db13f1660 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true, run_dtors=run_dtors@entry=true) at exit.c:108 #30 0x00007f1db12545b0 in __GI_exit (status=status@entry=1) at exit.c:138 #31 0x00007f1db0e2de06 in _XDefaultIOError (dpy=0x56286dc335b0) at /usr/src/debug/libx11/libX11-1.8.4/src/XlibInt.c:1317 #32 0x00007f1db0e30683 in _XIOError (dpy=dpy@entry=0x56286dc335b0) at /usr/src/debug/libx11/libX11-1.8.4/src/XlibInt.c:1548 #33 0x00007f1db0e30759 in require_socket (dpy=0x56286dc335b0) at /usr/src/debug/libx11/libX11-1.8.4/src/xcb_io.c:74 #34 0x00007f1db0e1a963 in _XNextRequest (dpy=0x56286dc335b0) at /usr/src/debug/libx11/libX11-1.8.4/src/xcb_io.c:883 #35 XNextRequest (dpy=0x56286dc335b0) at /usr/src/debug/libx11/libX11-1.8.4/src/Macros.c:149 #36 0x00007f1daacccab7 in KXErrorHandlerPrivate::KXErrorHandlerPrivate(_XDisplay*) (dpy=0x56286dc335b0, this=0x7f1d9c010280) at /usr/src/debug/kwindowsystem/kwindowsystem-5.103.0/src/platforms/xcb/kxerrorhandler.cpp:22 #37 KXErrorHandler::KXErrorHandler(_XDisplay*) (dpy=0x56286dc335b0, this=0x7ffc4e4bee90) at /usr/src/debug/kwindowsystem/kwindowsystem-5.103.0/src/platforms/xcb/kxerrorhandler.cpp:42 #38 KWindowInfoPrivateX11::KWindowInfoPrivateX11(unsigned long long, QFlags<NET::Property>, QFlags<NET::Property2>) (properties2=..., properties=..., _win=77594634, this=0x7f1d746beeb0) at /usr/src/debug/kwindowsystem/kwindowsystem-5.103.0/src/platforms/xcb/kwindowinfo.cpp:54 #39 X11Plugin::createWindowInfo(unsigned long long, QFlags<NET::Property>, QFlags<NET::Property2>) (this=<optimized out>, window=77594634, properties=..., properties2=...) at /usr/src/debug/kwindowsystem/kwindowsystem-5.103.0/src/platforms/xcb/plugin.cpp:34 #40 0x00007f1db323e6eb in KWindowSystemPluginWrapper::createWindowInfo(unsigned long long, QFlags<NET::Property>, QFlags<NET::Property2>) const (properties2=..., properties=..., window=77594634, this=0x7f1db326c420 <_ZZN12_GLOBAL__N_121Q_QGS_s_pluginWrapper13innerFunctionEvE6holder.lto_priv.0>) at /usr/src/debug/kwindowsystem/kwindowsystem-5.103.0/src/pluginwrapper.cpp:140 #41 KWindowInfoPrivate::create(unsigned long long, QFlags<NET::Property>, QFlags<NET::Property2>) (window=77594634, properties=..., properties2=...) at /usr/src/debug/kwindowsystem/kwindowsystem-5.103.0/src/kwindowinfo.cpp:25 #42 0x00007f1db323e865 in KWindowInfo::KWindowInfo(unsigned long long, QFlags<NET::Property>, QFlags<NET::Property2>) (this=this@entry=0x562871fe38a0, window=<optimized out>, properties=..., properties@entry=..., properties2=..., properties2@entry=..., this=<optimized out>, window=<optimized out>, properties=..., properties2=...) at /usr/src/debug/kwindowsystem/kwindowsystem-5.103.0/src/kwindowinfo.cpp:258 #43 0x00007f1da21633e8 in TaskManager::XWindowTasksModel::Private::windowInfo(unsigned long long) (this=this@entry=0x56286ee35ef0, window=<optimized out>, window@entry=77594634) at /usr/src/debug/plasma-workspace/plasma-workspace-5.27.2/libtaskmanager/xwindowtasksmodel.cpp:425 #44 0x00007f1da216b10e in TaskManager::XWindowTasksModel::data(QModelIndex const&, int) const (this=this@entry=0x56286ee35d20, index=..., role=role@entry=293) at /usr/src/debug/plasma-workspace/plasma-workspace-5.27.2/libtaskmanager/xwindowtasksmodel.cpp:683 --Type <RET> for more, q to quit, c to continue without paging-- #45 0x00007f1db1a5b736 in QAbstractProxyModel::data(QModelIndex const&, int) const (this=<optimized out>, proxyIndex=<optimized out>, role=293) at itemmodels/qabstractproxymodel.cpp:245 #46 0x00007f1db1a5f471 in QModelIndex::data(int) const (arole=293, this=0x7ffc4e4bf0f0, this=<optimized out>, arole=<optimized out>) at ../../include/QtCore/../../src/corelib/itemmodels/qabstractitemmodel.h:460 #47 QConcatenateTablesProxyModel::data(QModelIndex const&, int) const (this=<optimized out>, index=<optimized out>, role=293) at itemmodels/qconcatenatetablesproxymodel.cpp:195 #48 0x00007f1da213a3c4 in QModelIndex::data(int) const (arole=293, this=0x7ffc4e4bf180) at /usr/include/qt/QtCore/qabstractitemmodel.h:460 #49 TaskManager::TaskFilterProxyModel::acceptsRow(int) const (this=0x56286ee46c70, sourceRow=4) at /usr/src/debug/plasma-workspace/plasma-workspace-5.27.2/libtaskmanager/taskfilterproxymodel.cpp:288 #50 0x00007f1db1a6d081 in QSortFilterProxyModelPrivate::_q_sourceDataChanged(QModelIndex const&, QModelIndex const&, QVector<int> const&) (this=0x56286ee3eff0, source_top_left=<optimized out>, source_bottom_right=<optimized out>, roles=...) at itemmodels/qsortfilterproxymodel.cpp:1471 #51 0x00007f1db1abec20 in doActivate<false>(QObject*, int, void**) (sender=0x56286ee34f20, signal_index=3, argv=0x7ffc4e4bf490) at kernel/qobject.cpp:3935 #52 0x00007f1db1a46cd1 in QAbstractItemModel::dataChanged(QModelIndex const&, QModelIndex const&, QVector<int> const&) (this=<optimized out>, _t1=<optimized out>, _t2=<optimized out>, _t3=<optimized out>) at .moc/moc_qabstractitemmodel.cpp:557 #53 0x00007f1db1a6383e in QConcatenateTablesProxyModelPrivate::_q_slotDataChanged(QModelIndex const&, QModelIndex const&, QVector<int> const&) (this=<optimized out>, roles=..., to=<optimized out>, from=<optimized out>) at itemmodels/qconcatenatetablesproxymodel.cpp:634 #54 QConcatenateTablesProxyModel::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at .moc/moc_qconcatenatetablesproxymodel.cpp:155 #55 0x00007f1db1abec20 in doActivate<false>(QObject*, int, void**) (sender=0x56286ee35b90, signal_index=3, argv=0x7ffc4e4bf680) at kernel/qobject.cpp:3935 #56 0x00007f1db1a46cd1 in QAbstractItemModel::dataChanged(QModelIndex const&, QModelIndex const&, QVector<int> const&) (this=<optimized out>, _t1=<optimized out>, _t2=<optimized out>, _t3=<optimized out>) at .moc/moc_qabstractitemmodel.cpp:557 #57 0x00007f1db1a64851 in QIdentityProxyModelPrivate::_q_sourceDataChanged(QModelIndex const&, QModelIndex const&, QVector<int> const&) (this=<optimized out>, roles=..., bottomRight=<optimized out>, topLeft=...) at itemmodels/qidentityproxymodel.cpp:507 #58 QIdentityProxyModel::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=<optimized out>, _id=<optimized out>, _a=<optimized out>, _c=<optimized out>) at .moc/moc_qidentityproxymodel.cpp:164 #59 0x00007f1db1abec20 in doActivate<false>(QObject*, int, void**) (sender=0x56286ee35d20, signal_index=3, argv=0x7ffc4e4bf840) at kernel/qobject.cpp:3935 #60 0x00007f1db1a46cd1 in QAbstractItemModel::dataChanged(QModelIndex const&, QModelIndex const&, QVector<int> const&) (this=<optimized out>, _t1=..., _t2=..., _t3=...) at .moc/moc_qabstractitemmodel.cpp:557 #61 0x00007f1da216243f in TaskManager::XWindowTasksModel::Private::dataChanged(unsigned long long, QVector<int> const&) (this=this@entry=0x56286ee35ef0, window=window@entry=77594634, roles=...) at /usr/src/debug/plasma-workspace/plasma-workspace-5.27.2/libtaskmanager/xwindowtasksmodel.cpp:414 #62 0x00007f1da2167332 in TaskManager::XWindowTasksModel::Private::windowChanged(unsigned long long, QFlags<NET::Property>, QFlags<NET::Property2>) (properties2=..., properties=..., window=<optimized out>, this=0x56286ee35ef0) at /usr/src/debug/plasma-workspace/plasma-workspace-5.27.2/libtaskmanager/xwindowtasksmodel.cpp:401 #63 operator() (properties2=..., properties=..., window=77594634, __closure=<optimized out>) at /usr/src/debug/plasma-workspace/plasma-workspace-5.27.2/libtaskmanager/xwindowtasksmodel.cpp:162 #64 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1, 2>, QtPrivate::List<long long unsigned int, QFlags<NET::Property>, QFlags<NET::Property2> >, void, TaskManager::XWindowTasksModel::Private::init()::<lambda(WId, NET::Properties, NET::Properties2)> >::call (f=<optimized out>, arg=<optimized out>) at /usr/include/qt/QtCore/qobjectdefs_impl.h:146 #65 QtPrivate::Functor<TaskManager::XWindowTasksModel::Private::init()::<lambda(WId, NET::Properties, NET::Properties2)>, 3>::call<QtPrivate::List<unsigned long long, QFlags<NET::Property>, QFlags<NET::Property2> >, void> (arg=<optimized out>, f=<optimized out>) at /usr/include/qt/QtCore/qobjectdefs_impl.h:256 #66 QtPrivate::QFunctorSlotObject<TaskManager::XWindowTasksModel::Private::init()::<lambda(WId, NET::Properties, NET::Properties2)>, 3, QtPrivate::List<long long unsigned int, QFlags<NET::Property>, QFlags<NET::Property2> >, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, this_=<optimized out>, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt/QtCore/qobjectdefs_impl.h:443 #67 0x00007f1db1abea71 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffc4e4bfac0, r=<optimized out>, this=0x56286ee373e0, this=<optimized out>, r=<optimized out>, a=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 #68 doActivate<false>(QObject*, int, void**) (sender=0x56286ee36270, signal_index=5, argv=0x7ffc4e4bfac0) at kernel/qobject.cpp:3923 #69 0x00007f1da215e668 in XWindowSystemEventBatcher::windowChanged(unsigned long long, QFlags<NET::Property>, QFlags<NET::Property2>) (_t3=..., _t2=..., _t1=<optimized out>, this=<optimized out>) at /usr/src/debug/plasma-workspace/build/libtaskmanager/taskmanager_autogen/EWIEGA46WW/moc_xwindowsystemeventbatcher.cpp:176 #70 operator() (properties2=..., properties=..., window=<optimized out>, __closure=0x56286ee371c0) at /usr/src/debug/plasma-workspace/plasma-workspace-5.27.2/libtaskmanager/xwindowsystemeventbatcher.cpp:46 #71 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1, 2>, QtPrivate::List<long long unsigned int, QFlags<NET::Property>, QFlags<NET::Property2> >, void, XWindowSystemEventBatcher::XWindowSystemEventBatcher(QObject*)::<lambda(WId, NET::Properties, NET::Properties2)> >::call (arg=<optimized out>, f=...) at /usr/include/qt/QtCore/qobjectdefs_impl.h:146 #72 QtPrivate::Functor<XWindowSystemEventBatcher::XWindowSystemEventBatcher(QObject*)::<lambda(WId, NET::Properties, NET::Properties2)>, 3>::call<QtPrivate::List<unsigned long long, QFlags<NET::Property>, QFlags<NET::Property2> >, void> (arg=<optimized out>, f=...) at /usr/include/qt/QtCore/qobjectdefs_impl.h:256 #73 QtPrivate::QFunctorSlotObject<XWindowSystemEventBatcher::XWindowSystemEventBatcher(QObject*)::<lambda(WId, NET::Properties, NET::Properties2)>, 3, QtPrivate::List<long long unsigned int, QFlags<NET::Property>, QFlags<NET::Property2> >, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, this_=0x56286ee371b0, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt/QtCore/qobjectdefs_impl.h:443 #74 0x00007f1db1abea71 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffc4e4bfc10, r=<optimized out>, this=0x56286ee371b0, this=<optimized out>, r=<optimized out>, a=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 #75 doActivate<false>(QObject*, int, void**) (sender=0x7f1db326c530 <KX11Extras::self()::instance>, signal_index=12, argv=0x7ffc4e4bfc10) at kernel/qobject.cpp:3923 #76 0x00007f1db3231ee9 in KX11Extras::windowChanged(unsigned long long, QFlags<NET::Property>, QFlags<NET::Property2>) (this=<optimized out>, _t1=<optimized out>, _t1@entry=77594634, _t2=..., _t3=...) at /usr/src/debug/kwindowsystem/build/src/KF5WindowSystem_autogen/EWIEGA46WW/moc_kx11extras.cpp:316 #77 0x00007f1daacc8665 in NETEventFilter::nativeEventFilter(xcb_generic_event_t*) (this=0x56286e8a7460, ev=0x5628711c7d10) at /usr/src/debug/kwindowsystem/kwindowsystem-5.103.0/src/platforms/xcb/kwindowsystem.cpp:344 #78 0x00007f1db1a8484f in QAbstractEventDispatcher::filterNativeEvent(QByteArray const&, void*, long*) (this=<optimized out>, eventType=..., message=message@entry=0x5628711c7d10, result=result@entry=0x7ffc4e4bfda0) at kernel/qabstracteventdispatcher.cpp:495 #79 0x00007f1dac705f11 in QXcbConnection::handleXcbEvent(xcb_generic_event_t*) (this=this@entry=0x56286dc33180, event=event@entry=0x5628711c7d10) at /usr/src/debug/qt5-base/qtbase/src/plugins/platforms/xcb/qxcbconnection.cpp:579 #80 0x00007f1dac70a4c0 in QXcbConnection::processXcbEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x56286dc33180, flags=...) at /usr/src/debug/qt5-base/qtbase/src/plugins/platforms/xcb/qxcbconnection.cpp:1063 #81 0x00007f1dac72e8c8 in xcbSourceDispatch(GSource*, GSourceFunc, gpointer) (source=<optimized out>) at /usr/src/debug/qt5-base/qtbase/src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:103 --Type <RET> for more, q to quit, c to continue without paging-- #82 0x00007f1db074782b in g_main_dispatch (context=0x7f1da4005010) at ../glib/glib/gmain.c:3454 #83 g_main_context_dispatch (context=0x7f1da4005010) at ../glib/glib/gmain.c:4172 #84 0x00007f1db079ecc9 in g_main_context_iterate.constprop.0 (context=0x7f1da4005010, block=1, dispatch=1, self=<optimized out>) at ../glib/glib/gmain.c:4248 #85 0x00007f1db07460e2 in g_main_context_iteration (context=0x7f1da4005010, may_block=1) at ../glib/glib/gmain.c:4313 #86 0x00007f1db1ad8c6c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x56286dcd8b30, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #87 0x00007f1db1a866ec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7ffc4e4c0120, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69 #88 0x00007f1db1a91219 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #89 0x00007f1db1f39fe2 in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1870 #90 0x00007f1db2776f2a in QApplication::exec() () at kernel/qapplication.cpp:2832 #91 0x000056286d60f168 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/plasma-workspace/plasma-workspace-5.27.2/shell/main.cpp:235
*** This bug has been marked as a duplicate of bug 464186 ***