Bug 434079 - Systemsettings Crash when Installing Themes - Can't aways reproduce.
Summary: Systemsettings Crash when Installing Themes - Can't aways reproduce.
Status: RESOLVED FIXED
Alias: None
Product: frameworks-kirigami
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: 5.79.0
Platform: Neon Linux
: NOR crash
Target Milestone: Not decided
Assignee: Marco Martin
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2021-03-06 21:53 UTC by agonza80
Modified: 2021-03-09 15:45 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.81


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description agonza80 2021-03-06 21:53:15 UTC
Application: systemsettings5 (5.21.2)

Qt Version: 5.15.2
Frameworks Version: 5.79.0
Operating System: Linux 5.4.0-66-generic x86_64
Windowing System: X11
Drkonqi Version: 5.21.2
Distribution: KDE neon User Edition 5.21

-- Information about the crash:
Can't always reproduce. Entered into System Settings. Installed Global Theme (Nordic KDE). Then systemsettings crashed with a segmentation fault. When it reopens, I can use it as normal.

The crash can be reproduced sometimes.

-- Backtrace:
Application: System Settings (systemsettings5), signal: Segmentation fault

[New LWP 1403]
[New LWP 1404]
[New LWP 1405]
[New LWP 1406]
[New LWP 1407]
[New LWP 1408]
[New LWP 1413]
[New LWP 1414]
[New LWP 1450]
[New LWP 1451]
[New LWP 1454]
[New LWP 1455]
[New LWP 1456]
[New LWP 1517]
[New LWP 1519]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007fd824495aff in __GI___poll (fds=0x7fffdb676ca8, nfds=1, timeout=1000) at ../sysdeps/unix/sysv/linux/poll.c:29
[Current thread is 1 (Thread 0x7fd82025c8c0 (LWP 1401))]

Thread 16 (Thread 0x7fd7dc977700 (LWP 1519)):
#0  0x00007fd824495aff in __GI___poll (fds=0x7fd7f403b4d0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fd82272118e in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fd8227212c3 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fd824baffbb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fd824b541ab in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fd82496ea12 in QThread::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fd823f1938a in ?? () from /lib/x86_64-linux-gnu/libQt5Quick.so.5
#7  0x00007fd82496fbac in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007fd823031609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#9  0x00007fd8244a2293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 15 (Thread 0x7fd7b23d1700 (LWP 1517)):
#0  0x00007fd824495aff in __GI___poll (fds=0x7fd7980d8430, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fd82272118e in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fd8227212c3 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fd824baffbb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fd824b541ab in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fd82496ea12 in QThread::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fd823c63fa9 in QQmlThreadPrivate::run (this=0x5626c2735940) at qml/ftw/qqmlthread.cpp:155
#7  0x00007fd82496fbac in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007fd823031609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#9  0x00007fd8244a2293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 14 (Thread 0x7fd7b2bd2700 (LWP 1456)):
#0  0x00007fd82271d6ea in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007fd82271f165 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fd822720adf in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fd822721132 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fd8227212c3 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fd824baffbb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fd824b541ab in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007fd82496ea12 in QThread::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007fd82496fbac in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007fd823031609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007fd8244a2293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 13 (Thread 0x7fd7b33d3700 (LWP 1455)):
#0  __GI___libc_read (nbytes=16, buf=0x7fd7b33d2c10, fd=42) at ../sysdeps/unix/sysv/linux/read.c:26
#1  __GI___libc_read (fd=42, buf=0x7fd7b33d2c10, nbytes=16) at ../sysdeps/unix/sysv/linux/read.c:24
#2  0x00007fd82276989f in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fd822720cde in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fd822721132 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fd822721513 in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007fd7b3f3deda in ?? () from /lib/x86_64-linux-gnu/libgio-2.0.so.0
#7  0x00007fd82274a911 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#8  0x00007fd823031609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#9  0x00007fd8244a2293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 12 (Thread 0x7fd7b3bd4700 (LWP 1454)):
#0  0x00007fd82271f07d in g_source_ref () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007fd82271f148 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fd82272064b in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fd8227210bb in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fd8227212c3 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fd822721311 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007fd82274a911 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#7  0x00007fd823031609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#8  0x00007fd8244a2293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 11 (Thread 0x7fd7cab27700 (LWP 1451)):
#0  0x00007fd82276e24d in g_mutex_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007fd82272071a in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fd8227210bb in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fd8227212c3 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fd824baffbb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fd824b541ab in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fd82496ea12 in QThread::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007fd82496fbac in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007fd823031609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#9  0x00007fd8244a2293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 10 (Thread 0x7fd7cb5fe700 (LWP 1450)):
#0  0x00007fd82271f07d in g_source_ref () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007fd82271f148 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fd82272064b in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fd8227210bb in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fd8227212c3 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fd824baffbb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fd824b541ab in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007fd82496ea12 in QThread::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007fd82496fbac in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007fd823031609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007fd8244a2293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 9 (Thread 0x7fd7ef5c7700 (LWP 1414)):
#0  0x00007fd82276e278 in g_mutex_unlock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007fd8227206a8 in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fd8227210bb in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fd8227212c3 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fd824baffbb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fd824b541ab in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fd82496ea12 in QThread::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007fd823c63fa9 in QQmlThreadPrivate::run (this=0x5626c14a8bd0) at qml/ftw/qqmlthread.cpp:155
#8  0x00007fd82496fbac in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007fd823031609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007fd8244a2293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 8 (Thread 0x7fd8097c9700 (LWP 1413)):
#0  0x00007fd82276e24d in g_mutex_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007fd82272071a in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fd8227210bb in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fd8227212c3 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fd824baffbb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fd824b541ab in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fd82496ea12 in QThread::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007fd823c63fa9 in QQmlThreadPrivate::run (this=0x5626c1201fa0) at qml/ftw/qqmlthread.cpp:155
#8  0x00007fd82496fbac in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007fd823031609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007fd8244a2293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 7 (Thread 0x7fd8158a1700 (LWP 1408)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x5626c0f32f7c) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5626c0f32f28, cond=0x5626c0f32f50) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x5626c0f32f50, mutex=0x5626c0f32f28) at pthread_cond_wait.c:638
#3  0x00007fd816d5eb5b in ?? () from /usr/lib/x86_64-linux-gnu/dri/iris_dri.so
#4  0x00007fd816d5e75b in ?? () from /usr/lib/x86_64-linux-gnu/dri/iris_dri.so
#5  0x00007fd823031609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007fd8244a2293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 0x7fd8160a2700 (LWP 1407)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x5626c0f32f7c) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5626c0f32f28, cond=0x5626c0f32f50) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x5626c0f32f50, mutex=0x5626c0f32f28) at pthread_cond_wait.c:638
#3  0x00007fd816d5eb5b in ?? () from /usr/lib/x86_64-linux-gnu/dri/iris_dri.so
#4  0x00007fd816d5e75b in ?? () from /usr/lib/x86_64-linux-gnu/dri/iris_dri.so
#5  0x00007fd823031609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007fd8244a2293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7fd8168a3700 (LWP 1406)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x5626c0f32f7c) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5626c0f32f28, cond=0x5626c0f32f50) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x5626c0f32f50, mutex=0x5626c0f32f28) at pthread_cond_wait.c:638
#3  0x00007fd816d5eb5b in ?? () from /usr/lib/x86_64-linux-gnu/dri/iris_dri.so
#4  0x00007fd816d5e75b in ?? () from /usr/lib/x86_64-linux-gnu/dri/iris_dri.so
#5  0x00007fd823031609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007fd8244a2293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7fd81cfd9700 (LWP 1405)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x5626c0f32f78) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5626c0f32f28, cond=0x5626c0f32f50) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x5626c0f32f50, mutex=0x5626c0f32f28) at pthread_cond_wait.c:638
#3  0x00007fd816d5eb5b in ?? () from /usr/lib/x86_64-linux-gnu/dri/iris_dri.so
#4  0x00007fd816d5e75b in ?? () from /usr/lib/x86_64-linux-gnu/dri/iris_dri.so
#5  0x00007fd823031609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007fd8244a2293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7fd81e782700 (LWP 1404)):
#0  0x00007fd824495aff in __GI___poll (fds=0x7fd810009850, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fd82272118e in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fd8227212c3 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fd824baffbb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fd824b541ab in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fd82496ea12 in QThread::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007fd82387ff4b in ?? () from /lib/x86_64-linux-gnu/libQt5DBus.so.5
#7  0x00007fd82496fbac in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007fd823031609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#9  0x00007fd8244a2293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7fd81f924700 (LWP 1403)):
#0  0x00007fd824495aff in __GI___poll (fds=0x7fd81f923be8, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fd823078c1a in ?? () from /lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007fd82307a90a in xcb_wait_for_event () from /lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007fd81fe61d58 in ?? () from /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#4  0x00007fd82496fbac in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007fd823031609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007fd8244a2293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7fd82025c8c0 (LWP 1401)):
[KCrash Handler]
#4  qGetPtrHelper<QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> > > (ptr=...) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:1135
#5  QQmlEngine::d_func (this=0x0) at qml/qqmlengine.h:172
#6  QQmlEnginePrivate::get (e=0x0) at ../../include/QtQml/5.15.2/QtQml/private/../../../../../src/qml/qml/qqmlengine_p.h:424
#7  QQmlPropertyPrivate::initProperty (this=0x5626c2853650, obj=<optimized out>, name=...) at qml/qqmlproperty.cpp:277
#8  0x00007fd823baad55 in QQmlProperty::QQmlProperty (this=0x7fffdb677da8, obj=0x5626c46ab340, name=..., ctxt=<optimized out>) at qml/qqmlproperty.cpp:207
#9  0x00007fd80852de5b in SizeGroup::adjustItems (this=this@entry=0x5626c363b350, whatChanged=<optimized out>) at /usr/include/c++/9/bits/atomic_base.h:413
#10 0x00007fd80852e1ad in SizeGroup::connectItem (this=0x5626c363b350, item=0x5626c23826a0) at ./src/sizegroup.cpp:43
#11 0x00007fd823c27fe0 in QV4::PropertyListPrototype::method_push (b=<optimized out>, thisObject=<optimized out>, argv=<optimized out>, argc=<optimized out>) at qml/qqmllistwrapper_p.h:87
#12 0x00007fd823af382b in QV4::Runtime::CallPropertyLookup::call(QV4::ExecutionEngine*, QV4::Value const&, unsigned int, QV4::Value*, int) () at jsruntime/qv4functionobject_p.h:172
#13 0x00007fd809ac3deb in ?? ()
#14 0x0000000000000000 in ?? ()
[Inferior 1 (process 1401) detached]

Reported using DrKonqi
Comment 1 David Edmundson 2021-03-06 23:35:02 UTC

Bug is here:

    QList<QPointer<QQuickItem>> m_items;

We have a list of items and guard for deletion, but they're QML owned. 
So there's a point in time when it's pending deletion but the lower level object isn't managed by an engine.

As we go via:
            QQmlProperty(item, QStringLiteral("Layout.preferredWidth"), qmlContext(item)).write(maxWidth);

this causes an issue
Comment 2 Bug Janitor Service 2021-03-07 00:16:01 UTC
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kirigami/-/merge_requests/253
Comment 3 Marco Martin 2021-03-09 14:30:47 UTC
Git commit 29dabab2f536827bc1ecec63f5a0b0a76f0809e5 by Marco Martin, on behalf of David Edmundson.
Committed on 09/03/2021 at 14:30.
Pushed by mart into branch 'master'.

Fix potential crash in SizeGroup

SizeGroup keeps a cache of a list of items, and when one updates does
calculations based on all items.

This list is stored as a list of QPointers as we don't explicitly track
deletion.

We have a list of items and guard for deletion, but they're QML owned.
So there's a point in time when it's pending deletion with the garbage
collector but the lower level object isn't managed by an engine.

As we go via QQmlProperty(item, QStringLiteral("Layout.preferredWidth"),
qmlContext(item)).write(maxWidth) this is problematic.

M  +4    -0    src/sizegroup.cpp

https://invent.kde.org/frameworks/kirigami/commit/29dabab2f536827bc1ecec63f5a0b0a76f0809e5