https://bugs.kde.org/show_bug.cgi?id=468183

            Bug ID: 468183
           Summary: Plasmashell crashes on external screen re-connect
    Classification: Plasma
           Product: plasmashell
           Version: 5.27.3
          Platform: Archlinux
                OS: Linux
            Status: REPORTED
          Keywords: drkonqi
          Severity: crash
          Priority: NOR
         Component: general
          Assignee: plasma-b...@kde.org
          Reporter: cemkaya.b...@gmail.com
                CC: k...@davidedmundson.co.uk
  Target Milestone: 1.0

Application: plasmashell (5.27.3)

Qt Version: 5.15.8
Frameworks Version: 5.104.0
Operating System: Linux 6.2.9-arch1-1-g15 x86_64
Windowing System: X11
Distribution: "Arch Linux"
DrKonqi: 5.27.3 [KCrashBackend]

-- Information about the crash:
When I remove the external screen, and re-connect it, plasma shell crashes.

The crash can be reproduced every time.

-- Backtrace:
Application: Plasma (plasmashell), signal: Segmentation fault
Content of s_kcrashErrorMessage: std::unique_ptr<char []> = {get() = <optimized
out>}
[KCrash Handler]
#6  0x00007fe22285ddbb in QArrayData::data() (this=<optimized out>,
this=<optimized out>) at /usr/include/qt/QtCore/qarraydata.h:62
#7  QTypedArrayData<QQuickPointerEvent*>::data() (this=<optimized out>) at
/usr/include/qt/QtCore/qarraydata.h:209
#8  QTypedArrayData<QQuickPointerEvent*>::begin(QQuickPointerEvent**)
(this=<optimized out>) at /usr/include/qt/QtCore/qarraydata.h:212
#9  QVector<QQuickPointerEvent*>::realloc(int,
QFlags<QArrayData::AllocationOption>) (this=0x557047c92b20, aalloc=<optimized
out>, options=...) at /usr/include/qt/QtCore/qvector.h:710
#10 0x00007fe22284a99a in QVector<QQuickPointerEvent*>::detach()
(this=0x557047c92b20) at /usr/include/qt/QtCore/qflags.h:121
#11 QVector<QQuickPointerEvent*>::detach() (this=0x557047c92b20) at
/usr/include/qt/QtCore/qvector.h:397
#12 QVector<QQuickPointerEvent*>::begin() (this=0x557047c92b20) at
/usr/include/qt/QtCore/qvector.h:210
#13 QQuickWindowPrivate::queryPointerEventInstance(QQuickPointerDevice*,
QEvent::Type) const (this=this@entry=0x557047c92980, device=0x7fe222b3bca0
<(anonymous namespace)::Q_QGS_g_genericMouseDevice::innerFunction()::holder>,
eventType=eventType@entry=QEvent::None) at
/usr/src/debug/qt5-declarative/qtdeclarative/src/quick/items/qquickwindow.cpp:2515
#14 0x00007fe22284ad14 in QQuickWindow::mouseGrabberItem() const
(this=<optimized out>) at
/usr/src/debug/qt5-declarative/qtdeclarative/src/quick/items/qquickwindow.cpp:1745
#15 0x00007fe22284e92f in QQuickWindowPrivate::removeGrabber(QQuickItem*, bool,
bool) (this=0x557047c92980, grabber=0x55704618c090, mouse=<optimized out>,
touch=true) at
/usr/src/debug/qt5-declarative/qtdeclarative/src/quick/items/qquickwindow.cpp:1007
#16 0x00007fe222833ce7 in QQuickItemPrivate::derefWindow()
(this=this@entry=0x557049b91730) at
/usr/src/debug/qt5-declarative/qtdeclarative/src/quick/items/qquickitem.cpp:3035
#17 0x00007fe2228352ab in QQuickItem::setParentItem(QQuickItem*)
(this=0x55704618c090, parentItem=<optimized out>) at
/usr/src/debug/qt5-declarative/qtdeclarative/src/quick/items/qquickitem.cpp:2717
#18 0x00007fe222933230 in QQuickRepeater::clear() (this=0x55704469a430) at
/usr/src/debug/qt5-declarative/qtdeclarative/src/quick/items/qquickrepeater.cpp:377
#19 0x00007fe222939f69 in QQuickRepeater::setModel(QVariant const&)
(m=<optimized out>, this=0x55704469a430) at
/usr/src/debug/qt5-declarative/qtdeclarative/src/quick/items/qquickrepeater.cpp:203
#20 QQuickRepeater::qt_static_metacall(QObject*, QMetaObject::Call, int,
void**) (_o=0x55704469a430, _c=<optimized out>, _id=<optimized out>,
_a=<optimized out>) at .moc/moc_qquickrepeater_p.cpp:228
#21 0x00007fe22223c85e in QQmlPropertyData::writeProperty(QObject*, void*,
QFlags<QQmlPropertyData::WriteFlag>) const (this=<optimized out>,
target=<optimized out>, value=<optimized out>, flags=...) at
../../include/QtQml/5.15.8/QtQml/private/../../../../../../qtdeclarative/src/qml/qml/qqmlpropertydata_p.h:391
#22 0x00007fe2222999d0 in QQmlBinding::slowWrite(QQmlPropertyData const&,
QQmlPropertyData const&, QV4::Value const&, bool,
QFlags<QQmlPropertyData::WriteFlag>) (this=this@entry=0x55704469a8b0, core=...,
valueTypeData=..., result=..., isUndefined=isUndefined@entry=false, flags=...,
flags@entry=...) at
/usr/src/debug/qt5-declarative/qtdeclarative/src/qml/qml/qqmlbinding.cpp:474
#23 0x00007fe222290ba1 in GenericBinding<0>::write(QV4::Value const&, bool,
QFlags<QQmlPropertyData::WriteFlag>) (this=0x55704469a8b0, result=...,
isUndefined=<optimized out>, flags=...) at
/usr/src/debug/qt5-declarative/qtdeclarative/src/qml/qml/qqmlbinding.cpp:335
#24 0x00007fe2222978fe in
QQmlNonbindingBinding::doUpdate(QQmlJavaScriptExpression::DeleteWatcher const&,
QFlags<QQmlPropertyData::WriteFlag>, QV4::Scope&) (this=0x55704469a8b0,
watcher=..., flags=..., scope=<optimized out>) at
/usr/src/debug/qt5-declarative/qtdeclarative/src/qml/qml/qqmlbinding.cpp:258
#25 0x00007fe222298f73 in
QQmlBinding::update(QFlags<QQmlPropertyData::WriteFlag>) (this=0x55704469a8b0,
flags=...) at
/usr/src/debug/qt5-declarative/qtdeclarative/src/qml/qml/qqmlbinding.cpp:194
#26 0x00007fe22227647f in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*,
void**) (endpoint=<optimized out>, a=0x0) at
/usr/src/debug/qt5-declarative/qtdeclarative/src/qml/qml/qqmlnotifier.cpp:104
#27 0x00007fe220cbe740 in doActivate<false>(QObject*, int, void**)
(sender=0x55704465c100, signal_index=61, argv=0x0) at kernel/qobject.cpp:3815
#28 0x00007fe222231fcb in QQmlVMEMetaObject::metaCall(QObject*,
QMetaObject::Call, int, void**) (this=0x557044641fc0, o=<optimized out>,
c=<optimized out>, _id=<optimized out>, a=<optimized out>) at
/usr/src/debug/qt5-declarative/qtdeclarative/src/qml/qml/qqmlvmemetaobject.cpp:880
#29 0x00007fe22223c823 in QQmlPropertyData::writeProperty(QObject*, void*,
QFlags<QQmlPropertyData::WriteFlag>) const (this=<optimized out>,
target=<optimized out>, value=<optimized out>, flags=...) at
../../include/QtQml/5.15.8/QtQml/private/../../../../../../qtdeclarative/src/qml/qml/qqmlpropertydata_p.h:395
#30 0x00007fe2222911d5 in GenericBinding<2>::doStore<int>(int, QQmlPropertyData
const*, QFlags<QQmlPropertyData::WriteFlag>) const (flags=..., pd=<optimized
out>, value=<optimized out>, this=0x55704465d610) at
/usr/src/debug/qt5-declarative/qtdeclarative/src/qml/qml/qqmlbinding.cpp:342
#31 GenericBinding<2>::write(QV4::Value const&, bool,
QFlags<QQmlPropertyData::WriteFlag>) (this=0x55704465d610, result=...,
isUndefined=<optimized out>, flags=...) at
/usr/src/debug/qt5-declarative/qtdeclarative/src/qml/qml/qqmlbinding.cpp:310
#32 0x00007fe2222978fe in
QQmlNonbindingBinding::doUpdate(QQmlJavaScriptExpression::DeleteWatcher const&,
QFlags<QQmlPropertyData::WriteFlag>, QV4::Scope&) (this=0x55704465d610,
watcher=..., flags=..., scope=<optimized out>) at
/usr/src/debug/qt5-declarative/qtdeclarative/src/qml/qml/qqmlbinding.cpp:258
#33 0x00007fe222298f73 in
QQmlBinding::update(QFlags<QQmlPropertyData::WriteFlag>) (this=0x55704465d610,
flags=...) at
/usr/src/debug/qt5-declarative/qtdeclarative/src/qml/qml/qqmlbinding.cpp:194
#34 0x00007fe22227647f in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*,
void**) (endpoint=<optimized out>, a=0x0) at
/usr/src/debug/qt5-declarative/qtdeclarative/src/qml/qml/qqmlnotifier.cpp:104
#35 0x00007fe220cbe740 in doActivate<false>(QObject*, int, void**)
(sender=0x557044648660, signal_index=41, argv=0x0) at kernel/qobject.cpp:3815
#36 0x00007fe21fcf7d9b in VDMModelDelegateDataType::notify(QQmlAdaptorModel
const&, QList<QQmlDelegateModelItem*> const&, int, int, QVector<int> const&)
const (this=<optimized out>, items=<optimized out>, index=<optimized out>,
count=<optimized out>, roles=<optimized out>) at
/usr/src/debug/qt5-declarative/qtdeclarative/src/qmlmodels/qqmladaptormodel.cpp:175
#37 0x00007fe21fd04325 in
QQmlAdaptorModel::notify(QList<QQmlDelegateModelItem*> const&, int, int,
QVector<int> const&) const (roles=<optimized out>, count=1, index=1, items=...,
this=0x55704460d830, this=<optimized out>, items=<optimized out>,
index=<optimized out>, count=<optimized out>, roles=<optimized out>) at
../../include/QtQmlModels/5.15.8/QtQmlModels/private/../../../../../../qtdeclarative/src/qmlmodels/qqmladaptormodel_p.h:159
#38 QQmlDelegateModel::_q_itemsChanged(int, int, QVector<int> const&)
(this=<optimized out>, index=1, count=1, roles=<optimized out>) at
/usr/src/debug/qt5-declarative/qtdeclarative/src/qmlmodels/qqmldelegatemodel.cpp:1499
#39 0x00007fe21fd0ded3 in QQmlDelegateModel::qt_metacall(QMetaObject::Call,
int, void**) (this=0x5570446302b0, _c=QMetaObject::InvokeMetaMethod, _id=16,
_a=0x7fff74cde0e0) at .moc/moc_qqmldelegatemodel_p.cpp:371
#40 0x00007fe220cbe93d in doActivate<false>(QObject*, int, void**)
(sender=0x5570445b9700, signal_index=3, argv=0x7fff74cde0e0) at
kernel/qobject.cpp:3949
#41 0x00007fe220c46cd1 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
#42 0x00007fe220c6d3a6 in
QSortFilterProxyModelPrivate::_q_sourceDataChanged(QModelIndex const&,
QModelIndex const&, QVector<int> const&) (this=0x557042c1ffc0,
source_top_left=<optimized out>, source_bottom_right=<optimized out>,
roles=...) at itemmodels/qsortfilterproxymodel.cpp:1539
#43 0x00007fe220cbec20 in doActivate<false>(QObject*, int, void**)
(sender=0x5570445b68f0, signal_index=3, argv=0x7fff74cde3d0) at
kernel/qobject.cpp:3935
#44 0x00007fe220c46cd1 in QAbstractItemModel::dataChanged(QModelIndex const&,
QModelIndex const&, QVector<int> const&) (this=<optimized out>, _t1=...,
_t2=..., _t3=...) at .moc/moc_qabstractitemmodel.cpp:557
#45 0x00007fe2110c5613 in
TaskManager::TaskGroupingProxyModel::Private::sourceRowsAboutToBeRemoved(QModelIndex
const&, int, int) (this=0x5570445b9010, parent=<optimized out>,
first=<optimized out>, last=4) at
/usr/src/debug/plasma-workspace/plasma-workspace-5.27.3/libtaskmanager/taskgroupingproxymodel.cpp:168
#46 0x00007fe220cbea71 in QtPrivate::QSlotObjectBase::call(QObject*, void**)
(a=0x7fff74cde590, r=<optimized out>, this=0x5570445c99e0, this=<optimized
out>, r=<optimized out>, a=<optimized out>) at
../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#47 doActivate<false>(QObject*, int, void**) (sender=0x5570445b7500,
signal_index=14, argv=0x7fff74cde590) at kernel/qobject.cpp:3923
#48 0x00007fe220c47393 in QAbstractItemModel::rowsAboutToBeRemoved(QModelIndex
const&, int, int, QAbstractItemModel::QPrivateSignal)
(this=this@entry=0x5570445b7500, _t1=..., _t2=<optimized out>, _t2@entry=4,
_t3=<optimized out>, _t3@entry=4, _t4=...) at
.moc/moc_qabstractitemmodel.cpp:599
#49 0x00007fe220c4741a in QAbstractItemModel::beginRemoveRows(QModelIndex
const&, int, int) (this=0x5570445b7500, parent=..., first=4, last=4) at
itemmodels/qabstractitemmodel.cpp:2818
#50 0x00007fe220c696d6 in
QSortFilterProxyModelPrivate::remove_proxy_interval(QVector<int>&,
QVector<int>&, int, int, QModelIndex const&, Qt::Orientation, bool)
(this=0x5570445c92e0, emit_signal=<optimized out>, orient=Qt::Vertical,
proxy_parent=..., proxy_end=4, proxy_start=4, proxy_to_source=...,
source_to_proxy=...) at itemmodels/qsortfilterproxymodel.cpp:811
#51 QSortFilterProxyModelPrivate::remove_source_items(QVector<int>&,
QVector<int>&, QVector<int> const&, QModelIndex const&, Qt::Orientation, bool)
(this=this@entry=0x5570445c92e0, source_to_proxy=..., proxy_to_source=...,
source_items=..., source_parent=..., orient=orient@entry=Qt::Vertical,
emit_signal=true) at itemmodels/qsortfilterproxymodel.cpp:792
#52 0x00007fe220c69df3 in
QSortFilterProxyModelPrivate::handle_filter_changed(QVector<int>&,
QVector<int>&, QModelIndex const&, Qt::Orientation)
(this=this@entry=0x5570445c92e0, source_to_proxy=..., proxy_to_source=...,
source_parent=..., orient=orient@entry=Qt::Vertical) at
itemmodels/qsortfilterproxymodel.cpp:1372
#53 0x00007fe220c6a18c in
QSortFilterProxyModelPrivate::filter_changed(QModelIndex const&)
(this=0x5570445c92e0, source_parent=...) at
itemmodels/qsortfilterproxymodel.cpp:1305
#54 0x00007fe220c6a5d1 in QSortFilterProxyModel::invalidateFilter()
(this=this@entry=0x5570445b7500) at itemmodels/qsortfilterproxymodel.cpp:3059
#55 0x00007fe2110c6df7 in
TaskManager::TaskFilterProxyModel::setScreenGeometry(QRect const&)
(this=0x5570445b7500, geometry=<optimized out>) at
/usr/src/debug/plasma-workspace/plasma-workspace-5.27.3/libtaskmanager/taskfilterproxymodel.cpp:88
#56 0x00007fe2110c0e43 in
TaskManager::TasksModel::qt_metacall(QMetaObject::Call, int, void**)
(this=0x5570445b9700, _c=QMetaObject::WriteProperty, _id=5, _a=0x7fff74cde8f0)
at
/usr/src/debug/plasma-workspace/build/libtaskmanager/taskmanager_autogen/EWIEGA46WW/moc_tasksmodel.cpp:773
#57 0x00007fe22229c921 in QV4::QQmlValueTypeWrapper::write(QObject*, int) const
(this=0x7fe2101c14c8, target=0x5570445b9700, propertyIndex=17) at
/usr/src/debug/qt5-declarative/qtdeclarative/src/qml/qml/qqmlvaluetypewrapper.cpp:341
#58 0x00007fe222290de6 in GenericBinding<0>::write(QV4::Value const&, bool,
QFlags<QQmlPropertyData::WriteFlag>) (this=0x5570445b8ea0, result=...,
isUndefined=<optimized out>, flags=...) at
/usr/src/debug/qt5-declarative/qtdeclarative/src/qml/qml/qqmlbinding.cpp:328
#59 0x00007fe2222978fe in
QQmlNonbindingBinding::doUpdate(QQmlJavaScriptExpression::DeleteWatcher const&,
QFlags<QQmlPropertyData::WriteFlag>, QV4::Scope&) (this=0x5570445b8ea0,
watcher=..., flags=..., scope=<optimized out>) at
/usr/src/debug/qt5-declarative/qtdeclarative/src/qml/qml/qqmlbinding.cpp:258
#60 0x00007fe222298f73 in
QQmlBinding::update(QFlags<QQmlPropertyData::WriteFlag>) (this=0x5570445b8ea0,
flags=...) at
/usr/src/debug/qt5-declarative/qtdeclarative/src/qml/qml/qqmlbinding.cpp:194
#61 0x00007fe22227647f in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*,
void**) (endpoint=<optimized out>, a=0x0) at
/usr/src/debug/qt5-declarative/qtdeclarative/src/qml/qml/qqmlnotifier.cpp:104
#62 0x00007fe220cbe740 in doActivate<false>(QObject*, int, void**)
(sender=0x557042c31770, signal_index=60, argv=0x0) at kernel/qobject.cpp:3815
#63 0x00007fe220cbea71 in QtPrivate::QSlotObjectBase::call(QObject*, void**)
(a=0x7fff74ce0560, r=<optimized out>, this=0x557042c330f0, this=<optimized
out>, r=<optimized out>, a=<optimized out>) at
../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#64 doActivate<false>(QObject*, int, void**) (sender=0x557042747300,
signal_index=26, argv=0x7fff74ce0560) at kernel/qobject.cpp:3923
#65 0x00007fe222fa20b6 in Plasma::Containment::screenChanged(int)
(this=this@entry=0x557042747300, _t1=<optimized out>) at
/usr/src/debug/plasma-framework/build/src/plasma/KF5Plasma_autogen/include/moc_containment.cpp:461
#66 0x00007fe222fa50d8 in Plasma::Containment::reactToScreenChange()
(this=this@entry=0x557042747300) at
/usr/src/debug/plasma-framework/plasma-framework-5.104.0/src/plasma/containment.cpp:605
#67 0x00007fe223243dc3 in
PlasmaQuick::ContainmentViewPrivate::setContainment(Plasma::Containment*)
(this=0x5570480d1b40, cont=0x557042747300) at
/usr/src/debug/plasma-framework/plasma-framework-5.104.0/src/plasmaquick/containmentview.cpp:88
#68 0x00007fe22324618d in
PlasmaQuick::ContainmentView::setContainment(Plasma::Containment*)
(this=this@entry=0x557043dc6b50, cont=<optimized out>) at
/usr/src/debug/plasma-framework/plasma-framework-5.104.0/src/plasmaquick/containmentview.cpp:251
#69 0x00005570409a44b4 in ShellCorona::createWaitingPanels() (this=<optimized
out>) at
/usr/src/debug/plasma-workspace/plasma-workspace-5.27.3/shell/shellcorona.cpp:1488
#70 0x00007fe220cbea71 in QtPrivate::QSlotObjectBase::call(QObject*, void**)
(a=0x7fff74ce08f0, r=<optimized out>, this=0x557041e8fe40, this=<optimized
out>, r=<optimized out>, a=<optimized out>) at
../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#71 doActivate<false>(QObject*, int, void**) (sender=0x557041bbee08,
signal_index=3, argv=0x7fff74ce08f0) at kernel/qobject.cpp:3923
#72 0x00007fe220cc0fcf in QTimer::timeout(QTimer::QPrivateSignal)
(this=<optimized out>, _t1=...) at .moc/moc_qtimer.cpp:205
#73 0x00007fe220cb1b56 in QObject::event(QEvent*) (this=0x557041bbee08,
e=0x7fff74ce0a60) at kernel/qobject.cpp:1324
#74 0x00007fe221978b5c in QApplicationPrivate::notify_helper(QObject*, QEvent*)
(this=<optimized out>, receiver=0x557041bbee08, e=0x7fff74ce0a60) at
kernel/qapplication.cpp:3640
#75 0x00007fe220c8df48 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
(receiver=0x557041bbee08, event=0x7fff74ce0a60) at
kernel/qcoreapplication.cpp:1064
#76 0x00007fe220cd84b3 in QTimerInfoList::activateTimers()
(this=0x557041b8c990) at kernel/qtimerinfo_unix.cpp:643
#77 0x00007fe220cd8aaa in timerSourceDispatch(GSource*, GSourceFunc, gpointer)
(source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:183
#78 0x00007fe21fa7f53b in g_main_dispatch (context=0x7fe214000ee0) at
../glib/glib/gmain.c:3460
#79 g_main_context_dispatch (context=0x7fe214000ee0) at
../glib/glib/gmain.c:4200
#80 0x00007fe21fadc219 in g_main_context_iterate.constprop.0
(context=0x7fe214000ee0, block=1, dispatch=1, self=<optimized out>) at
../glib/glib/gmain.c:4276
#81 0x00007fe21fa7e1a2 in g_main_context_iteration (context=0x7fe214000ee0,
may_block=1) at ../glib/glib/gmain.c:4343
#82 0x00007fe220cd8c6c in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
(this=0x557041b8cff0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#83 0x00007fe220c866ec in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fff74ce0d10,
flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#84 0x00007fe220c91219 in QCoreApplication::exec() () at
../../include/QtCore/../../src/corelib/global/qflags.h:121
#85 0x00007fe22113a052 in QGuiApplication::exec() () at
kernel/qguiapplication.cpp:1870
#86 0x00007fe221976f2a in QApplication::exec() () at
kernel/qapplication.cpp:2832
#87 0x0000557040979168 in main(int, char**) (argc=<optimized out>,
argv=<optimized out>) at
/usr/src/debug/plasma-workspace/plasma-workspace-5.27.3/shell/main.cpp:235
[Inferior 1 (process 40735) detached]

Reported using DrKonqi

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to