Bug 501466

Summary: plasmashell crashed in QQuickItemPrivate::addToDirtyList() when waking displays after login
Product: [Plasma] plasmashell Reporter: TraceyC <kdedev>
Component: generic-crashAssignee: Plasma Bugs List <plasma-bugs-null>
Status: REPORTED ---    
Severity: crash CC: jlp, nate, postix, szaszm
Priority: NOR Keywords: drkonqi, multiscreen, qt-crash
Version First Reported In: master   
Target Milestone: 1.0   
Platform: Compiled Sources   
OS: Linux   
See Also: https://bugs.kde.org/show_bug.cgi?id=396359
https://bugs.kde.org/show_bug.cgi?id=499383
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report: https://crash-reports.kde.org/organizations/kde/issues/147074/events/322b08d9250f479f8a1156af82e9d625/
Attachments: New crash information added by DrKonqi

Description TraceyC 2025-03-13 19:51:11 UTC
Application: plasmashell (6.3.80)
 (Compiled from sources)
ApplicationNotResponding [ANR]: false
Qt Version: 6.8.2
Frameworks Version: 6.12.0
Operating System: Linux 6.12.17-314.current x86_64
Windowing System: Wayland
Distribution: Solus 4.7 Endurance
DrKonqi: 6.3.80 [CoredumpBackend]

-- Information about the crash:
System is a Dell XPS 17 connected to a Dell WD19TBS dock with two monitors attached (HDMI and DP)
One external screen is set to be primary

I had done the following while reproducing a crash for bug 499383:

- Disabled the second monitor in Display Configuration (DP, not the primary)
- Locked the session (CTRL+L),
- Turned off the external screen (without unpluging the HDMI cable)
- Unlocked the session (from the laptop screen)
- Re-enabled the second monitor in Display Configuration

That had produced the same crash as in that bug

Then:
- Lock the session
- Go away for a while, the displays went to standby mode
- Unlock the session
- Dr Konqui reported a Segmentation fault in plasmashell

I see other bugs with similar backtraces, but they are all resolved (upstream) e.g. bug 396359 and 449981  from 2023

The reporter is unsure if this crash is reproducible.

-- Backtrace (Reduced):
#6  QQuickItemPrivate::addToDirtyList (this=0x55b121ece430) at /home/build/YPKG/root/qt6-declarative/build/qtdeclarative-everywhere-src-6.8.2/src/quick/items/qquickitem.cpp:6766
#7  QQuickItemPrivate::dirty (this=0x55b121ece430, type=QQuickItemPrivate::ChildrenChanged) at /home/build/YPKG/root/qt6-declarative/build/qtdeclarative-everywhere-src-6.8.2/src/quick/items/qquickitem.cpp:6748
#8  QQuickItemPrivate::addChild (this=0x55b121ece430, child=0x55b122607dc0) at /home/build/YPKG/root/qt6-declarative/build/qtdeclarative-everywhere-src-6.8.2/src/quick/items/qquickitem.cpp:3028
#9  0x00007f58f04d637d in QQuickItem::setParentItem (this=0x55b122607dc0, parentItem=0x55b121f3b980) at /home/build/YPKG/root/qt6-declarative/build/qtdeclarative-everywhere-src-6.8.2/src/quick/items/qquickitem.cpp:2798
#10 0x00007f58f050f045 in qquickitem_autoParent (obj=0x55b122607dc0, parent=0x55b121f3b980) at /home/build/YPKG/root/qt6-declarative/build/qtdeclarative-everywhere-src-6.8.2/src/quick/items/qquickitemsmodule.cpp:110


Reported using DrKonqi
Comment 1 TraceyC 2025-03-13 19:51:13 UTC
Created attachment 179376 [details]
New crash information added by DrKonqi

DrKonqi auto-attaching complete backtrace.
Comment 2 Nate Graham 2025-03-13 20:40:02 UTC
Thread 1 (Thread 0x7f58eaf542c0 (LWP 99463)):
[KCrash Handler]
#6  QQuickItemPrivate::addToDirtyList (this=0x55b121ece430) at /home/build/YPKG/root/qt6-declarative/build/qtdeclarative-everywhere-src-6.8.2/src/quick/items/qquickitem.cpp:6766
#7  QQuickItemPrivate::dirty (this=0x55b121ece430, type=QQuickItemPrivate::ChildrenChanged) at /home/build/YPKG/root/qt6-declarative/build/qtdeclarative-everywhere-src-6.8.2/src/quick/items/qquickitem.cpp:6748
#8  QQuickItemPrivate::addChild (this=0x55b121ece430, child=0x55b122607dc0) at /home/build/YPKG/root/qt6-declarative/build/qtdeclarative-everywhere-src-6.8.2/src/quick/items/qquickitem.cpp:3028
#9  0x00007f58f04d637d in QQuickItem::setParentItem (this=0x55b122607dc0, parentItem=0x55b121f3b980) at /home/build/YPKG/root/qt6-declarative/build/qtdeclarative-everywhere-src-6.8.2/src/quick/items/qquickitem.cpp:2798
#10 0x00007f58f050f045 in qquickitem_autoParent (obj=0x55b122607dc0, parent=0x55b121f3b980) at /home/build/YPKG/root/qt6-declarative/build/qtdeclarative-everywhere-src-6.8.2/src/quick/items/qquickitemsmodule.cpp:110
#11 0x00007f58efdf110b in QQmlComponent_setQmlParent (me=0x55b122607dc0, parent=0x55b121f3b980) at /home/build/YPKG/root/qt6-declarative/build/qtdeclarative-everywhere-src-6.8.2/src/qml/qml/qqmlcomponent.cpp:1684
#12 0x00007f58efdf0b4a in QQmlComponentPrivate::createWithProperties (this=0x55b1225b33e0, parent=0x55b121f3b980, properties=..., context=<optimized out>, behavior=QQmlComponentPrivate::CreateWarnAboutRequiredProperties, createFromQml=true) at /home/build/YPKG/root/qt6-declarative/build/qtdeclarative-everywhere-src-6.8.2/src/qml/qml/qqmlcomponent.cpp:964
#13 0x00007f58efdf6743 in QQmlComponent::createObject (this=<optimized out>, parent=<optimized out>, properties=<optimized out>) at /home/build/YPKG/root/qt6-declarative/build/qtdeclarative-everywhere-src-6.8.2/src/qml/qml/qqmlcomponent.cpp:1912
#14 0x00007f58efdf81eb in QQmlComponent::qt_static_metacall (_o=0x7f5828c59140, _c=<optimized out>, _id=<optimized out>, _a=0x7fff80f0fd68) at src/qml/Qml_autogen/include/moc_qqmlcomponent.cpp:229
#15 0x00007f58efdf84ed in QQmlComponent::qt_metacall (this=0x55b1225b33c0, _c=QMetaObject::InvokeMetaMethod, _id=9, _a=0x55b110b34dc8) at src/qml/Qml_autogen/include/moc_qqmlcomponent.cpp:287
#16 0x00007f58efd03fab in QQmlObjectOrGadget::metacall (this=0x7fff80f10190, index=13, argv=0x55b110b34dc8, type=<optimized out>) at /home/build/YPKG/root/qt6-declarative/build/qtdeclarative-everywhere-src-6.8.2/src/qml/qml/qqmlobjectorgadget.cpp:14
#17 QV4::CallMethod (object=..., index=13, returnType=..., argCount=2, argTypes=0x7fff80f10088, engine=0x55b10f5881b0, callArgs=0x7f58d03bd650, callType=QMetaObject::InvokeMetaMethod) at /home/build/YPKG/root/qt6-declarative/build/qtdeclarative-everywhere-src-6.8.2/src/qml/jsruntime/qv4qobjectwrapper.cpp:1695
#18 0x00007f58efd017be in QV4::QObjectMethod::callPrecise (object=..., data=..., engine=0x7f589375fb08, callArgs=0x55b110b34c00, callType=QMetaObject::InvokeMetaMethod) at /home/build/YPKG/root/qt6-declarative/build/qtdeclarative-everywhere-src-6.8.2/src/qml/jsruntime/qv4qobjectwrapper.cpp:2067
#19 0x00007f58efd08c41 in QV4::QObjectMethod::callInternal(QV4::Value const*, QV4::Value const*, int) const::$_2::operator()() const (this=<optimized out>) at /home/build/YPKG/root/qt6-declarative/build/qtdeclarative-everywhere-src-6.8.2/src/qml/jsruntime/qv4qobjectwrapper.cpp:3065
#20 QV4::QObjectMethod::callInternal(QV4::Value const*, QV4::Value const*, int) const::$_0::operator()<QV4::QObjectMethod::callInternal(QV4::Value const*, QV4::Value const*, int) const::$_2>(QV4::QObjectMethod::callInternal(QV4::Value const*, QV4::Value const*, int) const::$_2 const&) const (this=<optimized out>, call=<optimized out>) at /home/build/YPKG/root/qt6-declarative/build/qtdeclarative-everywhere-src-6.8.2/src/qml/jsruntime/qv4qobjectwrapper.cpp:3042
#21 QV4::QObjectMethod::callInternal (this=0x7fff80f10298, thisObject=0x7f58d03bd5c0, argv=0x7f58d03bd5d8, argc=2) at /home/build/YPKG/root/qt6-declarative/build/qtdeclarative-everywhere-src-6.8.2/src/qml/jsruntime/qv4qobjectwrapper.cpp:3065
#22 0x00007f58efd305af in QV4::FunctionObject::call (this=0x7fff80f10298, thisObject=0x7f58d03bd5c0, argv=0x7f58d03bd5d8, argc=2) at /home/build/YPKG/root/qt6-declarative/build/qtdeclarative-everywhere-src-6.8.2/src/qml/jsruntime/qv4functionobject_p.h:187
#23 QV4::Runtime::CallPropertyLookup::call (engine=0x55b10f5881b0, base=..., index=<optimized out>, argv=0x7f58d03bd5d8, argc=2) at /home/build/YPKG/root/qt6-declarative/build/qtdeclarative-everywhere-src-6.8.2/src/qml/jsruntime/qv4runtime.cpp:1562
#24 0x00007f586f144b44 in ??? ()
#25 0x00007fff80f103c0 in ??? ()
#26 0x00007f58efffe474 in engineSerial () at /usr/lib/libQt6Qml.so.6
#27 0x0000000000000000 in ??? ()

Looks similar to Bug 396359, but the crashing thread isn't exactly the same.
Comment 3 Nate Graham 2025-04-04 16:35:59 UTC
*** Bug 502401 has been marked as a duplicate of this bug. ***