Bug 475920

Summary: Plasma crashed when a window closed
Product: [Plasma] plasmashell Reporter: Thomas Wagner <wagner-thomas>
Component: generalAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED DUPLICATE    
Severity: crash CC: kde, nate
Priority: NOR Keywords: drkonqi
Version: 5.27.8   
Target Milestone: 1.0   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Thomas Wagner 2023-10-21 11:34:54 UTC
Application: plasmashell (5.27.8)

Qt Version: 5.15.11
Frameworks Version: 5.111.0
Operating System: Linux 6.5.6-1-default x86_64
Windowing System: X11
Distribution: "openSUSE Tumbleweed"
DrKonqi: 5.27.8 [KCrashBackend]

-- Information about the crash:
plasmashell crashes in many cases when a window of certain applications is closed.

Application that cause a crash of plasmashell when their window is closed: 
chromium, firefox, Konsole, KCalc, digiKam the auto-complete dialog of Keepass2

Application windows that can be closed just fine: 
xterm, gimp, the main window of Keepass2, Inkscape, Hugin, Akregator

The crash can be reproduced every time.

-- Backtrace:
Application: Plasma (plasmashell), signal: Segmentation fault

[KCrash Handler]
#4  0x00007f8023f33417 in std::__atomic_base<int>::load (__m=std::memory_order_relaxed, this=0x1) at /usr/include/c++/13/bits/atomic_base.h:505
#5  QAtomicOps<int>::loadRelaxed<int> (_q_value=<error reading variable: Cannot access memory at address 0x1>) at /usr/include/qt5/QtCore/qatomic_cxx11.h:239
#6  QBasicAtomicInteger<int>::loadRelaxed (this=0x1) at /usr/include/qt5/QtCore/qbasicatomic.h:107
#7  QtPrivate::RefCount::deref (this=0x1) at /usr/include/qt5/QtCore/qrefcount.h:66
#8  QVector<int>::~QVector (this=<optimized out>, this=<optimized out>) at /usr/include/qt5/QtCore/qvector.h:73
#9  TaskManager::TaskGroupingProxyModel::Private::sourceRowsAboutToBeRemoved (this=0x55b6bc25e370, parent=..., first=<optimized out>, last=2) at /usr/src/debug/plasma-workspace-5.27.8/libtaskmanager/taskgroupingproxymodel.cpp:148
#10 0x00007f80399253d2 in QtPrivate::QSlotObjectBase::call (a=0x7ffcb1d0e250, r=0x55b6bc15f980, this=0x55b6bc1c74d0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#11 doActivate<false> (sender=0x55b6bc15f6d0, signal_index=14, argv=0x7ffcb1d0e250) at kernel/qobject.cpp:3925
#12 0x00007f803991e03f in QMetaObject::activate (sender=sender@entry=0x55b6bc15f6d0, m=m@entry=0x7f8039bc6d40, local_signal_index=local_signal_index@entry=11, argv=argv@entry=0x7ffcb1d0e250) at kernel/qobject.cpp:3985
#13 0x00007f803988607e in QAbstractItemModel::rowsAboutToBeRemoved (this=this@entry=0x55b6bc15f6d0, _t1=..., _t2=<optimized out>, _t2@entry=2, _t3=<optimized out>, _t3@entry=2, _t4=...) at .moc/moc_qabstractitemmodel.cpp:599
#14 0x00007f803988e695 in QAbstractItemModel::beginRemoveRows (this=0x55b6bc15f6d0, parent=..., first=2, last=2) at itemmodels/qabstractitemmodel.cpp:2820
#15 0x00007f80398bbf79 in QSortFilterProxyModelPrivate::remove_proxy_interval (emit_signal=true, orient=Qt::Vertical, proxy_parent=..., proxy_end=2, proxy_start=2, proxy_to_source=..., source_to_proxy=..., this=0x55b6bc339910) at itemmodels/qsortfilterproxymodel.cpp:811
#16 QSortFilterProxyModelPrivate::remove_source_items (this=this@entry=0x55b6bc339910, source_to_proxy=..., proxy_to_source=..., source_items=..., source_parent=..., orient=orient@entry=Qt::Vertical, emit_signal=true) at itemmodels/qsortfilterproxymodel.cpp:792
#17 0x00007f80398c2c09 in QSortFilterProxyModelPrivate::_q_sourceDataChanged (this=0x55b6bc339910, source_top_left=..., source_bottom_right=..., roles=...) at itemmodels/qsortfilterproxymodel.cpp:1483
#18 0x00007f8039925373 in doActivate<false> (sender=0x55b6bc2b53d0, signal_index=3, argv=0x7ffcb1d0e620) at kernel/qobject.cpp:3937
#19 0x00007f803991e03f in QMetaObject::activate (sender=sender@entry=0x55b6bc2b53d0, m=m@entry=0x7f8039bc6d40, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffcb1d0e620) at kernel/qobject.cpp:3985
#20 0x00007f8039885dbc in QAbstractItemModel::dataChanged (this=this@entry=0x55b6bc2b53d0, _t1=..., _t2=..., _t3=...) at .moc/moc_qabstractitemmodel.cpp:557
#21 0x00007f80398aa56f in QConcatenateTablesProxyModelPrivate::_q_slotDataChanged (this=<optimized out>, from=..., to=..., roles=...) at itemmodels/qconcatenatetablesproxymodel.cpp:634
#22 0x00007f8039925373 in doActivate<false> (sender=0x55b6bc0af8c0, signal_index=3, argv=0x7ffcb1d0e7e0) at kernel/qobject.cpp:3937
#23 0x00007f803991e03f in QMetaObject::activate (sender=sender@entry=0x55b6bc0af8c0, m=m@entry=0x7f8039bc6d40, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffcb1d0e7e0) at kernel/qobject.cpp:3985
#24 0x00007f8039885dbc in QAbstractItemModel::dataChanged (this=this@entry=0x55b6bc0af8c0, _t1=..., _t2=..., _t3=...) at .moc/moc_qabstractitemmodel.cpp:557
#25 0x00007f80398b06b1 in QIdentityProxyModelPrivate::_q_sourceDataChanged (this=<optimized out>, topLeft=..., bottomRight=..., roles=...) at itemmodels/qidentityproxymodel.cpp:507
#26 0x00007f8039925373 in doActivate<false> (sender=0x55b6bc2f77d0, signal_index=3, argv=0x7ffcb1d0e970) at kernel/qobject.cpp:3937
#27 0x00007f803991e03f in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7f8039bc6d40, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffcb1d0e970) at kernel/qobject.cpp:3985
#28 0x00007f8039885dbc in QAbstractItemModel::dataChanged (this=<optimized out>, _t1=..., _t2=..., _t3=...) at .moc/moc_qabstractitemmodel.cpp:557
#29 0x00007f8023f61f1d in TaskManager::XWindowTasksModel::Private::dataChanged (this=0x55b6bc0dede0, window=<optimized out>, roles=...) at /usr/src/debug/plasma-workspace-5.27.8/libtaskmanager/xwindowtasksmodel.cpp:417
#30 0x00007f8023f6ac3a in TaskManager::XWindowTasksModel::Private::windowChanged (properties2=..., properties=..., window=<optimized out>, this=0x55b6bc0dede0) at /usr/src/debug/plasma-workspace-5.27.8/libtaskmanager/xwindowtasksmodel.cpp:404
#31 operator() (properties2=..., properties=..., window=72351756, __closure=<optimized out>) at /usr/src/debug/plasma-workspace-5.27.8/libtaskmanager/xwindowtasksmodel.cpp:162
#32 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=..., arg=<optimized out>) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:146
#33 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=...) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:256
#34 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/qt5/QtCore/qobjectdefs_impl.h:443
#35 0x00007f80399253d2 in QtPrivate::QSlotObjectBase::call (a=0x7ffcb1d0ebf0, r=0x55b6bc2f77d0, this=0x55b6bc07b140) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#36 doActivate<false> (sender=0x55b6bc0577f0, signal_index=5, argv=0x7ffcb1d0ebf0) at kernel/qobject.cpp:3925
#37 0x00007f803991e03f in QMetaObject::activate (sender=sender@entry=0x55b6bc0577f0, m=<optimized out>, local_signal_index=local_signal_index@entry=2, argv=argv@entry=0x7ffcb1d0ebf0) at kernel/qobject.cpp:3985
#38 0x00007f8023f603a6 in XWindowSystemEventBatcher::windowChanged (_t3=..., _t2=..., _t1=<optimized out>, this=<optimized out>) at /usr/src/debug/plasma-workspace-5.27.8/build/libtaskmanager/taskmanager_autogen/EWIEGA46WW/moc_xwindowsystemeventbatcher.cpp:176
#39 operator() (properties2=..., properties=..., window=<optimized out>, __closure=0x55b6bc06fac0) at /usr/src/debug/plasma-workspace-5.27.8/libtaskmanager/xwindowsystemeventbatcher.cpp:46
#40 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/qt5/QtCore/qobjectdefs_impl.h:146
#41 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/qt5/QtCore/qobjectdefs_impl.h:256
#42 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_=0x55b6bc06fab0, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:443
#43 0x00007f80399253d2 in QtPrivate::QSlotObjectBase::call (a=0x7ffcb1d0ed40, r=0x55b6bc0577f0, this=0x55b6bc06fab0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#44 doActivate<false> (sender=0x7f803ba12530 <KX11Extras::self()::instance>, signal_index=12, argv=0x7ffcb1d0ed40) at kernel/qobject.cpp:3925
#45 0x00007f803991e03f in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7f803ba11160 <KX11Extras::staticMetaObject>, local_signal_index=local_signal_index@entry=9, argv=argv@entry=0x7ffcb1d0ed40) at kernel/qobject.cpp:3985
#46 0x00007f803b9f61b4 in KX11Extras::windowChanged (this=<optimized out>, _t1=<optimized out>, _t1@entry=72351756, _t2=..., _t3=...) at /usr/src/debug/kwindowsystem-5.111.0/build/src/KF5WindowSystem_autogen/include/moc_kx11extras.cpp:316
#47 0x00007f803003265e in NETEventFilter::nativeEventFilter (this=0x55b6bbd001d0, ev=0x7f802400e100) at /usr/src/debug/kwindowsystem-5.111.0/src/platforms/xcb/kwindowsystem.cpp:344
#48 0x00007f80398ea7af in QAbstractEventDispatcher::filterNativeEvent (this=<optimized out>, eventType=..., message=message@entry=0x7f802400e100, result=result@entry=0x7ffcb1d0ee58) at kernel/qabstracteventdispatcher.cpp:495
#49 0x00007f80342cfeff in QXcbConnection::handleXcbEvent (this=this@entry=0x55b6bb2cbb30, event=event@entry=0x7f802400e100) at qxcbconnection.cpp:579
#50 0x00007f80342d15a6 in QXcbConnection::processXcbEvents (this=0x55b6bb2cbb30, flags=...) at qxcbconnection.cpp:1063
#51 0x00007f80342f8543 in xcbSourceDispatch (source=<optimized out>) at qxcbeventdispatcher.cpp:103
#52 0x00007f80384c2ef0 in ?? () from /lib64/libglib-2.0.so.0
#53 0x00007f80384c4b18 in ?? () from /lib64/libglib-2.0.so.0
#54 0x00007f80384c51cc in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#55 0x00007f8039946066 in QEventDispatcherGlib::processEvents (this=0x55b6bb3998f0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#56 0x00007f80398ebbbb in QEventLoop::exec (this=this@entry=0x7ffcb1d0f0e0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#57 0x00007f80398f4050 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#58 0x000055b6b9b5caa1 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/plasma-workspace-5.27.8/shell/main.cpp:235
[Inferior 1 (process 11100) detached]

Reported using DrKonqi
Comment 1 Nate Graham 2023-10-23 21:14:25 UTC

*** This bug has been marked as a duplicate of bug 474768 ***