Bug 491000 - System Monitor crashes in Breeze::WindowManager::registerQuickItem() if it is closed while choosing column filters
Summary: System Monitor crashes in Breeze::WindowManager::registerQuickItem() if it is...
Status: ASSIGNED
Alias: None
Product: Breeze
Classification: Plasma
Component: QStyle (show other bugs)
Version: 6.1.3
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-07-29 20:29 UTC by Steve Cossette
Modified: 2024-07-31 00:12 UTC (History)
6 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Steve Cossette 2024-07-29 20:29:28 UTC
SUMMARY


STEPS TO REPRODUCE
1.  Open System Monitor
2.  On the main page, find the section with the currently running applications.
3.  Right-click on the columns, and click on "Configure Columns..."
4. Close System Monitor by clicking on the X at the top right.

OBSERVED RESULT
Drkonqi will show a notification showing that the application crashed.

EXPECTED RESULT
No DrKonqi popup

SOFTWARE/OS VERSIONS
Operating System: Fedora Linux 40
KDE Plasma Version: 6.1.3
KDE Frameworks Version: 6.4.0
Qt Version: 6.7.2
Kernel Version: 6.9.11-200.fc40.x86_64 (64-bit)
Graphics Platform: Wayland
Processors: 24 × AMD Ryzen 9 7900X 12-Core Processor
Memory: 62.2 GiB of RAM
Graphics Processor: AMD Radeon RX 7900 XT
Manufacturer: Gigabyte Technology Co., Ltd.
Product Name: X670E AORUS PRO X
System Version: -CF
Comment 1 Nate Graham 2024-07-29 21:12:43 UTC
Can reproduce on my Intel laptop with everything compiled from git master. Backtrace:

#0  __pthread_kill_implementation
    (threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1  0x00007feeb50a8513 in __pthread_kill_internal (threadid=<optimized out>, signo=11)
    at pthread_kill.c:78
#2  0x00007feeb504fc4e in __GI_raise (sig=11) at ../sysdeps/posix/raise.c:26
#3  0x00007feeb84289eb in KCrash::defaultCrashHandler (sig=11)
    at /home/nate/kde/src/kcrash/src/kcrash.cpp:597
#4  0x00007feeb504fd00 in <signal handler called> () at /lib64/libc.so.6
#5  0x00007feeb75fcd91 in QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::get
    (this=0x8) at /usr/include/qt6/QtCore/qscopedpointer.h:112
#6  qGetPtrHelper<QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> > > (ptr=...)
    at /usr/include/qt6/QtCore/qtclasshelpermacros.h:79
#7  QQuickItem::d_func (this=0x0)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/quick/items/qquickitem.h:487
#8  QQuickItem::setAcceptedMouseButtons (this=this@entry=0x0, buttons=buttons@entry=...)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/quick/items/qquickitem.cpp:8040
#9  0x00007feea0435f23 in Breeze::WindowManager::registerQuickItem
    (this=0x28b70490, item=<optimized out>) at /usr/include/qt6/QtCore/qflags.h:74
#10 0x00007feea041ff4f in Breeze::Style::isQtQuickControl
    (option=<optimized out>, widget=0x0, this=<optimized out>)
    at /home/nate/kde/src/breeze/kstyle/breezestyle.cpp:8262
#11 Breeze::Style::isQtQuickControl (this=<optimized out>, option=0x29980860, widget=0x0)
    at /home/nate/kde/src/breeze/kstyle/breezestyle.cpp:8257
#12 Breeze::Style::pixelMetric
    (this=<optimized out>, metric=<optimized out>, option=0x29980860, widget=0x0)
    at /home/nate/kde/src/breeze/kstyle/breezestyle.cpp:677
#13 0x00007fee9ab57288 in KQuickStyleItem::initStyleOption (this=this@entry=0x2992c1b0)
    at /home/nate/kde/src/qqc2-desktop-style/plugin/kquickstyleitem.cpp:438
#14 0x00007fee9ab59d7e in KQuickStyleItem::updateRect (this=this@entry=0x2992c1b0)
    at /home/nate/kde/src/qqc2-desktop-style/plugin/kquickstyleitem.cpp:1351
#15 0x00007fee9ab5ddc0 in KQuickStyleItem::geometryChange
    (this=0x2992c1b0, newGeometry=..., oldGeometry=...)
    at /home/nate/kde/src/qqc2-desktop-style/plugin/kquickstyleitem.cpp:2089
#16 0x00007feeb75f746d in QQuickItem::setSize (this=0x2992c1b0, size=...)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/quick/items/qquickitem.cpp:7684
#17 0x00007feea1ee96f8 in QQuickControlPrivate::resizeBackground (this=0x296c7f30)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/quicktemplates/qquickcontrol.cpp:363
#18 0x00007feea1ef47dd in QQuickControl::geometryChange
    (this=0x296c7e50, newGeometry=..., oldGeometry=...)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/quicktemplates/qquickcontrol.cpp:2093
#19 0x00007feeb75f5dd6 in QQuickItem::setWidth (this=this@entry=0x296c7e50, w=<optimized out>)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/quick/items/qquickitem.cpp:7300
#20 0x00007feea1f13695 in QQuickPagePrivate::relayout (this=0x296b1f80)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/quicktemplates/qquickpage.cpp:115
#21 0x00007feea1ef47e9 in QQuickControl::geometryChange
    (this=this@entry=0x296b16f0, newGeometry=..., oldGeometry=...)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/quicktemplates/qquickcontrol.cpp:2094
#22 0x00007feea1f255cd in QQuickPopupItem::geometryChange
    (this=0x296b16f0, newGeometry=..., oldGeometry=...)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/quicktemplates/qquickpopupitem.cpp:263
#23 0x00007feeb75f5dd6 in QQuickItem::setWidth (this=this@entry=0x296b16f0, w=<optimized out>)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/quick/items/qquickitem.cpp:7300
#24 0x00007feea1f272fb in QQuickPopupPositioner::reposition (this=0x296f2830)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/quicktemplates/qquickpopuppositioner.cpp:250
#25 0x00007feea1f1ddd1 in QQuickPopup::setParentItem (this=0x296add60, parent=0x2900e500)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/quicktemplates/qquickpopup.cpp:1852
#26 0x00007feeb63c4ceb in QQmlPropertyData::resetProperty
    (this=0x7fee7429ba70, target=0x296add60, flags=...)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/qml/qml/qqmlpropertydata_p.h:336
#27 QQmlPropertyPrivate::reset (object=0x296add60, property=..., flags=...)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/qml/qml/qqmlproperty.cpp:1733
#28 0x00007feeb63cc27b in QQmlPropertyPrivate::resetValueProperty
    (object=<optimized out>, core=..., valueTypeData=..., context=..., flags=..., flags@entry=...)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/qml/qml/qqmlproperty.cpp:1317
#29 0x00007feeb6300a58 in QQmlBinding::slowWrite
    (this=this@entry=0x296f1a10, core=..., valueTypeData=..., result=..., isUndefined=<optimized out>, flags=...) at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/qml/qml/qqmlbinding.cpp:514
#30 0x00007feeb6303e68 in QObjectPointerBinding::write(QV4::Value const&, bool, QFlags<QQmlPropertyData::WriteFlag>)::{lambda()#1}::operator()() const (__closure=<optimized out>)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/qml/qml/qqmlbinding.cpp:805
#31 QObjectPointerBinding::compareAndSet<QObjectPointerBinding::write(QV4::Value const&, bool, QFlags<QQmlPropertyData::WriteFlag>)::{lambda()#1}>(QQmlMetaObject const&, QObject*, QQmlPropertyData const*, QFlags<QQmlPropertyData::WriteFlag>, QObjectPointerBinding::write(QV4::Value const&, bool, QFlags<QQmlPropertyData::WriteFlag>)::{lambda()#1} const&) const
    (this=<optimized out>, resultMo=<optimized out>, resultObject=<optimized out>, pd=<optimized out>, flags=..., slowWrite=<optimized out>)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/qml/qml/qqmlbinding.cpp:824
#32 QObjectPointerBinding::write
    (this=0x296f1a10, result=..., isUndefined=<optimized out>, flags=...)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/qml/qml/qqmlbinding.cpp:804
#33 0x00007feeb62fdfe1 in QQmlBinding::doUpdate (this=0x296f1a10, watcher=..., flags=..., scope=...)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/qml/qml/qqmlbinding.cpp:701
#34 0x00007feeb6301d18 in QQmlBinding::update (this=0x296f1a10, flags=...)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/qml/qml/qqmlbinding.cpp:164
#35 0x00007feeb639d195 in QQmlNotifier::emitNotify (endpoint=<optimized out>, a=0x0)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/qml/qml/qqmlnotifier.cpp:70
#36 0x00007feeb57fc3ad in doActivate<false> (sender=0x296f2560, signal_index=9, argv=0x0)
    at /usr/src/debug/qt6-qtbase-6.7.2-4.fc40.x86_64/src/corelib/kernel/qobject.cpp:3976
#37 0x00007feeb57f2b47 in QMetaObject::activate
    (sender=sender@entry=0x296f2560, m=m@entry=0x7feeb7af9ea0 <QQuickWindowAttached::staticMetaObject>, local_signal_index=local_signal_index@entry=6, argv=argv@entry=0x0)
    at /usr/src/debug/qt6-qtbase-6.7.2-4.fc40.x86_64/src/corelib/kernel/qobject.cpp:4146
#38 0x00007feeb76bfdf7 in QQuickWindowAttached::windowChanged (this=this@entry=0x296f2560)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/redhat-linux-build/src/quick/Quick_autogen/include/moc_qquickwindowattached_p.cpp:331
#39 0x00007feeb76bfe59 in QQuickWindowAttached::windowChange (this=0x296f2560, window=0x0)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/quick/items/qquickwindowattached.cpp:67
#40 0x00007feeb57fc872 in QtPrivate::QSlotObjectBase::call
    (this=0x296f2610, r=<optimized out>, a=0x7ffd44751df0)
    at /usr/src/debug/qt6-qtbase-6.7.2-4.fc40.x86_64/src/corelib/kernel/qobjectdefs_impl.h:469
#41 doActivate<false> (sender=0x2900e500, signal_index=15, argv=0x7ffd44751df0)
    at /usr/src/debug/qt6-qtbase-6.7.2-4.fc40.x86_64/src/corelib/kernel/qobject.cpp:4086
#42 0x00007feeb57f2b47 in QMetaObject::activate
    (sender=<optimized out>, m=m@entry=0x7feeb7af23c0 <QQuickItem::staticMetaObject>, local_signal_index=local_signal_index@entry=12, argv=argv@entry=0x7ffd44751df0)
    at /usr/src/debug/qt6-qtbase-6.7.2-4.fc40.x86_64/src/corelib/kernel/qobject.cpp:4146
#43 0x00007feeb75eb004 in QQuickItem::windowChanged (this=<optimized out>, _t1=<optimized out>)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/redhat-linux-build/src/quick/Quick_autogen/include/moc_qquickitem.cpp:1407
#44 0x00007feeb76012bc in QQuickItemPrivate::derefWindow (this=0x290dff80)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/quick/items/qquickitem.cpp:3118
#45 0x00007feeb7601268 in QQuickItemPrivate::derefWindow (this=0x29095020)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/quick/items/qquickitem.h:487
#46 0x00007feeb7601268 in QQuickItemPrivate::derefWindow (this=0x290a9950)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/quick/items/qquickitem.h:487
#47 0x00007feeb7601268 in QQuickItemPrivate::derefWindow (this=0x290ac760)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/quick/items/qquickitem.h:487
#48 0x00007feeb7601268 in QQuickItemPrivate::derefWindow (this=0x294d0fb0)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/quick/items/qquickitem.h:487
#49 0x00007feeb7601268 in QQuickItemPrivate::derefWindow (this=0x290b3d30)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/quick/items/qquickitem.h:487
#50 0x00007feeb7601268 in QQuickItemPrivate::derefWindow (this=0x28ffc780)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/quick/items/qquickitem.h:487
#51 0x00007feeb7601268 in QQuickItemPrivate::derefWindow (this=0x294296b0)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/quick/items/qquickitem.h:487
#52 0x00007feeb7601268 in QQuickItemPrivate::derefWindow (this=0x28d42b10)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/quick/items/qquickitem.h:487
#53 0x00007feeb7601268 in QQuickItemPrivate::derefWindow (this=0x2910a6c0)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/quick/items/qquickitem.h:487
#54 0x00007feeb7601268 in QQuickItemPrivate::derefWindow (this=0x29109f70)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/quick/items/qquickitem.h:487
#55 0x00007feeb7601268 in QQuickItemPrivate::derefWindow (this=0x29126d90)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/quick/items/qquickitem.h:487
#56 0x00007feeb7601268 in QQuickItemPrivate::derefWindow (this=0x291267e0)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/quick/items/qquickitem.h:487
#57 0x00007feeb7601268 in QQuickItemPrivate::derefWindow (this=0x2910bad0)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/quick/items/qquickitem.h:487
#58 0x00007feeb7601268 in QQuickItemPrivate::derefWindow (this=0x2928b970)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/quick/items/qquickitem.h:487
#59 0x00007feeb7601268 in QQuickItemPrivate::derefWindow (this=0x28c76a10)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/quick/items/qquickitem.h:487
#60 0x00007feeb7601268 in QQuickItemPrivate::derefWindow (this=0x28c767b0)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/quick/items/qquickitem.h:487
#61 0x00007feeb7601268 in QQuickItemPrivate::derefWindow (this=0x28c73650)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/quick/items/qquickitem.h:487
#62 0x00007feeb7601268 in QQuickItemPrivate::derefWindow (this=0x28c6b7b0)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/quick/items/qquickitem.h:487
#63 0x00007feeb7601268 in QQuickItemPrivate::derefWindow (this=0x28b02070)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/quick/items/qquickitem.h:487
#64 0x00007feeb7601268 in QQuickItemPrivate::derefWindow (this=0x28a81620)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/quick/items/qquickitem.h:487
#65 0x00007feeb7601268 in QQuickItemPrivate::derefWindow (this=this@entry=0x28b8eef0)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/quick/items/qquickitem.h:487
#66 0x00007feeb7608cc6 in QQuickItem::~QQuickItem
    (this=this@entry=0x28c0cf40, __in_chrg=<optimized out>)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/quick/items/qquickitem.cpp:2382
#67 0x00007feeb76bba8d in QQuickRootItem::~QQuickRootItem
    (this=0x28c0cf40, __in_chrg=<optimized out>)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/quick/items/qquickwindow_p.h:62
#68 QQuickRootItem::~QQuickRootItem (this=0x28c0cf40, __in_chrg=<optimized out>)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/quick/items/qquickwindow_p.h:62
#69 0x00007feeb76b6c62 in QQuickWindow::~QQuickWindow
    (this=this@entry=0x28c0e990, __in_chrg=<optimized out>)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/quick/items/qquickwindow.cpp:1174
#70 0x00007feeb76c502e in QQuickWindowQmlImpl::~QQuickWindowQmlImpl
    (this=this@entry=0x28c0e990, __in_chrg=<optimized out>)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/quick/items/qquickwindowmodule.cpp:62
#71 0x00007feea1edbdfd in QQuickApplicationWindow::~QQuickApplicationWindow
    (this=this@entry=0x28c0e990, __in_chrg=<optimized out>)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/quicktemplates/qquickapplicationwindow.cpp:321
#72 0x00007feea1f82369 in QQmlPrivate::QQmlElement<QQuickApplicationWindow>::~QQmlElement
    (this=0x28c0e990, __in_chrg=<optimized out>)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/qml/qml/qqmlprivate.h:100
#73 QQmlPrivate::QQmlElement<QQuickApplicationWindow>::~QQmlElement
    (this=0x28c0e990, __in_chrg=<optimized out>)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/qml/qml/qqmlprivate.h:100
#74 0x00007feeb62fb5ce in qDeleteAll<QList<QObject*>::const_iterator> (begin=..., end=...)
    at /usr/include/qt6/QtCore/qalgorithms.h:27
#75 qDeleteAll<QList<QObject*> > (c=...) at /usr/include/qt6/QtCore/qalgorithms.h:35
#76 QQmlApplicationEnginePrivate::cleanUp (this=this@entry=0x28bae9e0)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/qml/qml/qqmlapplicationengine.cpp:40
#77 0x00007feeb62fb60d in QQmlApplicationEngine::~QQmlApplicationEngine
    (this=this@entry=0x7ffd44752710, __in_chrg=<optimized out>)
    at /usr/src/debug/qt6-qtdeclarative-6.7.2-2.fc40.x86_64/src/qml/qml/qqmlapplicationengine.cpp:328
#78 0x000000000040b376 in main (argc=<optimized out>, argv=<optimized out>)
    at /home/nate/kde/src/plasma-systemmonitor/src/main.cpp:120
Comment 2 Nicolas Fella 2024-07-29 23:13:33 UTC
Crashes with a different backtrace for me with Qt 6.8:

#0  QWindow::mapToGlobal (this=0x0, pos=...) at /home/nico/workspace/qt6/qtbase/src/gui/kernel/qwindow.cpp:2917
#1  0x00007ffff6a06b3f in QQuickItem::mapToItem (this=this@entry=0x1894e00, item=0x9c3d90, point=...)
    at /home/nico/workspace/qt6/qtdeclarative/src/quick/items/qquickitem.cpp:8782
#2  0x00007fffe0d384c9 in QQuickPopupPositioner::reposition (this=0x1c7d900) at /home/nico/workspace/qt6/qtdeclarative/src/quicktemplates/qquickpopuppositioner.cpp:153
#3  0x00007fffe0d2e6f3 in QQuickPopup::setParentItem (this=0x1c37f80, parent=0x1894e00)
    at /home/nico/workspace/qt6/qtdeclarative/src/quicktemplates/qquickpopup.cpp:2123
#4  0x00007ffff61eb946 in QQmlPropertyData::resetProperty (this=0x7fff9c24c7a0, target=0x1c37f80, flags=...)
    at /home/nico/workspace/qt6/qtdeclarative/src/qml/qml/qqmlpropertydata_p.h:336
#5  QQmlPropertyPrivate::reset (object=0x1c37f80, property=..., flags=...) at /home/nico/workspace/qt6/qtdeclarative/src/qml/qml/qqmlproperty.cpp:1740
#6  0x00007ffff61f3eb3 in QQmlPropertyPrivate::resetValueProperty (object=<optimized out>, core=..., valueTypeData=..., context=..., flags=..., flags@entry=...)
    at /home/nico/workspace/qt6/qtdeclarative/src/qml/qml/qqmlproperty.cpp:1317
#7  0x00007ffff61238c2 in QQmlBinding::slowWrite (this=this@entry=0x1c7c940, core=..., valueTypeData=..., result=..., isUndefined=<optimized out>, flags=...)
    at /home/nico/workspace/qt6/qtdeclarative/src/qml/qml/qqmlbinding.cpp:516
#8  0x00007ffff6126a14 in QObjectPointerBinding::write(QV4::Value const&, bool, QFlags<QQmlPropertyData::WriteFlag>)::{lambda()#1}::operator()() const
    (__closure=<optimized out>) at /home/nico/workspace/qt6/qtdeclarative/src/qml/qml/qqmlbinding.cpp:808
#9  QObjectPointerBinding::compareAndSet<QObjectPointerBinding::write(QV4::Value const&, bool, QFlags<QQmlPropertyData::WriteFlag>)::{lambda()#1}>(QQmlMetaObject const&, QObject*, QQmlPropertyData const*, QFlags<QQmlPropertyData::WriteFlag>, QObjectPointerBinding::write(QV4::Value const&, bool, QFlags<QQmlPropertyData::WriteFlag>)::{lambda()#1} const&) const (this=<optimized out>, resultMo=<optimized out>, resultObject=<optimized out>, pd=<optimized out>, flags=..., slowWrite=<optimized out>)
    at /home/nico/workspace/qt6/qtdeclarative/src/qml/qml/qqmlbinding.cpp:827
#10 QObjectPointerBinding::write (this=0x1c7c940, result=..., isUndefined=<optimized out>, flags=...)
    at /home/nico/workspace/qt6/qtdeclarative/src/qml/qml/qqmlbinding.cpp:807
#11 0x00007ffff6120e31 in QQmlBinding::doUpdate (this=0x1c7c940, watcher=..., flags=..., scope=...)
    at /home/nico/workspace/qt6/qtdeclarative/src/qml/qml/qqmlbinding.cpp:704
#12 0x00007ffff61249a1 in QQmlBinding::update (this=0x1c7c940, flags=...) at /home/nico/workspace/qt6/qtdeclarative/src/qml/qml/qqmlbinding.cpp:164
#13 0x00007ffff61c3613 in QQmlNotifier::emitNotify (endpoint=<optimized out>, a=0x0) at /home/nico/workspace/qt6/qtdeclarative/src/qml/qml/qqmlnotifier.cpp:70
#14 0x00007ffff49fb5ed in doActivate<false> (sender=0x1c7d520, signal_index=9, argv=0x0) at /home/nico/workspace/qt6/qtbase/src/corelib/kernel/qobject.cpp:4010
#15 0x00007ffff49f2337 in QMetaObject::activate
    (sender=sender@entry=0x1c7d520, m=m@entry=0x7ffff6f62960 <QQuickWindowAttached::staticMetaObject>, local_signal_index=local_signal_index@entry=6, argv=argv@entry=0x0) at /home/nico/workspace/qt6/qtbase/src/corelib/kernel/qobject.cpp:4180
#16 0x00007ffff6acffe7 in QQuickWindowAttached::windowChanged (this=this@entry=0x1c7d520)
    at /home/nico/workspace/qt6/qtdeclarative/src/quick/Quick_autogen/include/moc_qquickwindowattached_p.cpp:331
#17 0x00007ffff6ad0047 in QQuickWindowAttached::windowChange (this=0x1c7d520, window=0x0)
    at /home/nico/workspace/qt6/qtdeclarative/src/quick/items/qquickwindowattached.cpp:67
#18 0x00007ffff49fbc52 in QtPrivate::QSlotObjectBase::call (this=0x1c7d6e0, r=<optimized out>, a=0x7fffffffcb10)
    at /home/nico/workspace/qt6/qtbase/src/corelib/kernel/qobjectdefs_impl.h:487
#19 doActivate<false> (sender=0x1894e00, signal_index=15, argv=0x7fffffffcb10) at /home/nico/workspace/qt6/qtbase/src/corelib/kernel/qobject.cpp:4120
#20 0x00007ffff49f2337 in QMetaObject::activate
    (sender=<optimized out>, m=m@entry=0x7ffff6f5ad80 <QQuickItem::staticMetaObject>, local_signal_index=local_signal_index@entry=12, argv=argv@entry=0x7fffffffcb10)
    at /home/nico/workspace/qt6/qtbase/src/corelib/kernel/qobject.cpp:4180
#21 0x00007ffff69f9a86 in QQuickItem::windowChanged (this=<optimized out>, _t1=<optimized out>)
    at /home/nico/workspace/qt6/qtdeclarative/src/quick/Quick_autogen/include/moc_qquickitem.cpp:1407
#22 0x00007ffff6a0fd8b in QQuickItemPrivate::derefWindow (this=0xd5b210) at /home/nico/workspace/qt6/qtdeclarative/src/quick/items/qquickitem.cpp:3147
#23 0x00007ffff6a0fd35 in QQuickItemPrivate::derefWindow (this=0x1a34df0) at /home/nico/workspace/qt6/qtdeclarative/src/quick/items/qquickitem.h:486
#24 0x00007ffff6a0fd35 in QQuickItemPrivate::derefWindow (this=0x19f8be0) at /home/nico/workspace/qt6/qtdeclarative/src/quick/items/qquickitem.h:486
#25 0x00007ffff6a0fd35 in QQuickItemPrivate::derefWindow (this=0x1873c00) at /home/nico/workspace/qt6/qtdeclarative/src/quick/items/qquickitem.h:486
#26 0x00007ffff6d97e15 in QQuickShaderEffectSource::itemChange (this=0x19d07c0, change=QQuickItem::ItemSceneChange, value=...)
    at /home/nico/workspace/qt6/qtdeclarative/src/quick/items/qquickshadereffectsource.cpp:760
--Type <RET> for more, q to quit, c to continue without paging--c
#27 0x00007ffff6a0fd8b in QQuickItemPrivate::derefWindow (this=0x19c43c0) at /home/nico/workspace/qt6/qtdeclarative/src/quick/items/qquickitem.cpp:3147
#28 0x00007ffff6a0fd35 in QQuickItemPrivate::derefWindow (this=0x188c9a0) at /home/nico/workspace/qt6/qtdeclarative/src/quick/items/qquickitem.h:486
#29 0x00007ffff6a0fd35 in QQuickItemPrivate::derefWindow (this=0x188c1d0) at /home/nico/workspace/qt6/qtdeclarative/src/quick/items/qquickitem.h:486
#30 0x00007ffff6a0fd35 in QQuickItemPrivate::derefWindow (this=0x1885180) at /home/nico/workspace/qt6/qtdeclarative/src/quick/items/qquickitem.h:486
#31 0x00007ffff6a0fd35 in QQuickItemPrivate::derefWindow (this=0xfc48d0) at /home/nico/workspace/qt6/qtdeclarative/src/quick/items/qquickitem.h:486
#32 0x00007ffff6a0fd35 in QQuickItemPrivate::derefWindow (this=0xfbed30) at /home/nico/workspace/qt6/qtdeclarative/src/quick/items/qquickitem.h:486
#33 0x00007ffff6a0fd35 in QQuickItemPrivate::derefWindow (this=0x97a920) at /home/nico/workspace/qt6/qtdeclarative/src/quick/items/qquickitem.h:486
#34 0x00007ffff6a0fd35 in QQuickItemPrivate::derefWindow (this=0xe56770) at /home/nico/workspace/qt6/qtdeclarative/src/quick/items/qquickitem.h:486
#35 0x00007ffff6a0fd35 in QQuickItemPrivate::derefWindow (this=0x97fc00) at /home/nico/workspace/qt6/qtdeclarative/src/quick/items/qquickitem.h:486
#36 0x00007ffff6a0fd35 in QQuickItemPrivate::derefWindow (this=0xe71da0) at /home/nico/workspace/qt6/qtdeclarative/src/quick/items/qquickitem.h:486
#37 0x00007ffff6a0fd35 in QQuickItemPrivate::derefWindow (this=0xe717f0) at /home/nico/workspace/qt6/qtdeclarative/src/quick/items/qquickitem.h:486
#38 0x00007ffff6a0fd35 in QQuickItemPrivate::derefWindow (this=0xe57c50) at /home/nico/workspace/qt6/qtdeclarative/src/quick/items/qquickitem.h:486
#39 0x00007ffff6a0fd35 in QQuickItemPrivate::derefWindow (this=0xe505a0) at /home/nico/workspace/qt6/qtdeclarative/src/quick/items/qquickitem.h:486
#40 0x00007ffff6a0fd35 in QQuickItemPrivate::derefWindow (this=0x758dd0) at /home/nico/workspace/qt6/qtdeclarative/src/quick/items/qquickitem.h:486
#41 0x00007ffff6a0fd35 in QQuickItemPrivate::derefWindow (this=0x758b70) at /home/nico/workspace/qt6/qtdeclarative/src/quick/items/qquickitem.h:486
#42 0x00007ffff6a0fd35 in QQuickItemPrivate::derefWindow (this=0x7551d0) at /home/nico/workspace/qt6/qtdeclarative/src/quick/items/qquickitem.h:486
#43 0x00007ffff6a0fd35 in QQuickItemPrivate::derefWindow (this=0x74d2c0) at /home/nico/workspace/qt6/qtdeclarative/src/quick/items/qquickitem.h:486
#44 0x00007ffff6a0fd35 in QQuickItemPrivate::derefWindow (this=0x78d580) at /home/nico/workspace/qt6/qtdeclarative/src/quick/items/qquickitem.h:486
#45 0x00007ffff6a0fd35 in QQuickItemPrivate::derefWindow (this=0x7dbc30) at /home/nico/workspace/qt6/qtdeclarative/src/quick/items/qquickitem.h:486
#46 0x00007ffff6a0fd35 in QQuickItemPrivate::derefWindow (this=this@entry=0x7e13b0) at /home/nico/workspace/qt6/qtdeclarative/src/quick/items/qquickitem.h:486
#47 0x00007ffff6a175c6 in QQuickItem::~QQuickItem (this=this@entry=0x7c8620, __in_chrg=<optimized out>)
    at /home/nico/workspace/qt6/qtdeclarative/src/quick/items/qquickitem.cpp:2383
#48 0x00007ffff6acbc25 in QQuickRootItem::~QQuickRootItem (this=0x7c8620, __in_chrg=<optimized out>)
    at /home/nico/workspace/qt6/qtdeclarative/src/quick/items/qquickwindow_p.h:62
#49 QQuickRootItem::~QQuickRootItem (this=0x7c8620, __in_chrg=<optimized out>) at /home/nico/workspace/qt6/qtdeclarative/src/quick/items/qquickwindow_p.h:62
#50 0x00007ffff6ac6e48 in QQuickWindow::~QQuickWindow (this=this@entry=0x89fbe0, __in_chrg=<optimized out>)
    at /home/nico/workspace/qt6/qtdeclarative/src/quick/items/qquickwindow.cpp:1185
#51 0x00007ffff6ad50c2 in QQuickWindowQmlImpl::~QQuickWindowQmlImpl (this=this@entry=0x89fbe0, __in_chrg=<optimized out>)
    at /home/nico/workspace/qt6/qtdeclarative/src/quick/items/qquickwindowmodule.cpp:62
#52 0x00007fffe0ceac28 in QQuickApplicationWindow::~QQuickApplicationWindow (this=this@entry=0x89fbe0, __in_chrg=<optimized out>)
    at /home/nico/workspace/qt6/qtdeclarative/src/quicktemplates/qquickapplicationwindow.cpp:341
#53 0x00007fffe0d95201 in QQmlPrivate::QQmlElement<QQuickApplicationWindow>::~QQmlElement (this=0x89fbe0, __in_chrg=<optimized out>)
    at /home/nico/workspace/qt6/qtdeclarative/src/qml/qml/qqmlprivate.h:104
#54 QQmlPrivate::QQmlElement<QQuickApplicationWindow>::~QQmlElement (this=0x89fbe0, __in_chrg=<optimized out>)
    at /home/nico/workspace/qt6/qtdeclarative/src/qml/qml/qqmlprivate.h:104
#55 0x00007ffff611e7be in qDeleteAll<QList<QObject*>::const_iterator> (begin=..., end=...) at /home/nico/workspace/qt6/qtbase/src/corelib/tools/qalgorithms.h:27
#56 qDeleteAll<QList<QObject*> > (c=...) at /home/nico/workspace/qt6/qtbase/src/corelib/tools/qalgorithms.h:35
#57 QQmlApplicationEnginePrivate::cleanUp (this=this@entry=0x942420) at /home/nico/workspace/qt6/qtdeclarative/src/qml/qml/qqmlapplicationengine.cpp:40
#58 0x00007ffff611e80c in QQmlApplicationEngine::~QQmlApplicationEngine (this=this@entry=0x7fffffffd370, __in_chrg=<optimized out>)
    at /home/nico/workspace/qt6/qtdeclarative/src/qml/qml/qqmlapplicationengine.cpp:328
#59 0x000000000040c0fd in main (argc=<optimized out>, argv=<optimized out>) at /home/nico/kde/src/plasma-systemmonitor/src/main.cpp:120
Comment 3 Nicolas Fella 2024-07-30 23:07:50 UTC
My crash is fixed with https://codereview.qt-project.org/c/qt/qtdeclarative/+/579714, then I can reproduce the original one
Comment 4 Nicolas Fella 2024-07-31 00:02:21 UTC
The immediate cause is somewhat obvious. In https://invent.kde.org/plasma/breeze/-/blob/master/kstyle/breezewindowmanager.cpp#L175 window->contentItem() is null.

What's not obvious is whether that code is supposed to run at that point in the first place.

When destructing we have QQuickWindow::~QQuickWindow -> QQuickItemPrivate::derefWindow -> QQuickItem::windowChanged -> QQuickPopup::setParentItem where the dialog is reparented from QQuickOverlay to FullRepresentation_QMLTYPE_457

From there we land in KQuickStyleItem::geometryChange and further qqc2-desktop-style/breeze code. I'm not sure whether that reparenting is supposed to happen
Comment 5 Bug Janitor Service 2024-07-31 00:12:18 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/breeze/-/merge_requests/474