Bug 435593

Summary: System Settings crashes in SizeGroup::adjustItems()
Product: [Frameworks and Libraries] frameworks-kirigami Reporter: Igor <igorpadua>
Component: generalAssignee: Janet Blackquill <uhhadd>
Status: RESOLVED FIXED    
Severity: crash CC: nate, uhhadd
Priority: NOR Keywords: drkonqi
Version: 5.80.0   
Target Milestone: Not decided   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In: 5.82

Description Igor 2021-04-10 19:30:23 UTC
Application: systemsettings5 (5.21.3)

Qt Version: 5.15.2
Frameworks Version: 5.80.0
Operating System: Linux 5.11.11-1-default x86_64
Windowing System: X11
Drkonqi Version: 5.21.3
Distribution: "openSUSE Tumbleweed"

-- Information about the crash:
- What I was doing when the application crashed:
After installing a global theme and switching to the application style the system Settings closes.

The crash can be reproduced sometimes.

-- Backtrace:
Application: Configurações do sistema (systemsettings5), signal: Segmentation fault
Content of s_kcrashErrorMessage: [Current thread is 1 (Thread 0x7fe8a6f3bf80 (LWP 6174))]
[KCrash Handler]
#6  QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::operator->() const (this=0x8) at /usr/include/qt5/QtCore/qscopedpointer.h:116
#7  qGetPtrHelper<QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> > >(QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >&) (ptr=...) at /usr/include/qt5/QtCore/qglobal.h:1135
#8  QQmlEngine::d_func() (this=0x0) at /usr/src/debug/libqt5-qtdeclarative-5.15.2-3.1.x86_64/src/qml/qml/qqmlengine.h:172
#9  QQmlEnginePrivate::get(QQmlEngine*) (e=0x0) at /usr/src/debug/libqt5-qtdeclarative-5.15.2-3.1.x86_64/include/QtQml/5.15.2/QtQml/private/../../../../../src/qml/qml/qqmlengine_p.h:424
#10 QQmlPropertyPrivate::initProperty(QObject*, QString const&) (this=0x55b4cfe75e40, obj=<optimized out>, name=<optimized out>) at /usr/src/debug/libqt5-qtdeclarative-5.15.2-3.1.x86_64/src/qml/qml/qqmlproperty.cpp:277
#11 0x00007fe8a906146d in QQmlProperty::QQmlProperty(QObject*, QString const&, QQmlContext*) (this=0x7ffee4691290, obj=0x55b4cfba3df0, name=..., ctxt=<optimized out>) at /usr/src/debug/libqt5-qtdeclarative-5.15.2-3.1.x86_64/src/qml/qml/qqmlproperty.cpp:207
#12 0x00007fe854d2991b in SizeGroup::adjustItems(SizeGroup::Mode) (this=this@entry=0x55b4ced59a80, whatChanged=<optimized out>) at /usr/src/debug/kirigami2-5.80.0-1.1.x86_64/src/sizegroup.cpp:106
#13 0x00007fe854d29d5e in SizeGroup::connectItem(QQuickItem*) (item=<optimized out>, this=0x55b4ced59a80) at /usr/src/debug/kirigami2-5.80.0-1.1.x86_64/src/sizegroup.cpp:43
#14 SizeGroup::appendItem(QQmlListProperty<QQuickItem>*, QQuickItem*) (prop=<optimized out>, value=<optimized out>) at /usr/src/debug/kirigami2-5.80.0-1.1.x86_64/src/sizegroup.cpp:16
#15 0x00007fe8a90c6ac1 in QV4::PropertyListPrototype::method_push(QV4::FunctionObject const*, QV4::Value const*, QV4::Value const*, int) (b=<optimized out>, thisObject=<optimized out>, argv=<optimized out>, argc=<optimized out>) at /usr/src/debug/libqt5-qtdeclarative-5.15.2-3.1.x86_64/src/qml/qml/qqmllistwrapper.cpp:255
#16 0x00007fe8a8fb78ca in QV4::FunctionObject::call(QV4::Value const*, QV4::Value const*, int) const (argc=1, argv=0x7fe831bb4518, thisObject=0x7fe831bb4538, this=0x7ffee4691428) at /usr/src/debug/libqt5-qtdeclarative-5.15.2-3.1.x86_64/src/qml/jsruntime/qv4functionobject_p.h:172
#17 QV4::Runtime::CallPropertyLookup::call(QV4::ExecutionEngine*, QV4::Value const&, unsigned int, QV4::Value*, int) (engine=0x55b4ce9d8450, base=..., index=<optimized out>, argv=0x7fe831bb4518, argc=1) at /usr/src/debug/libqt5-qtdeclarative-5.15.2-3.1.x86_64/src/qml/jsruntime/qv4runtime.cpp:1460
#18 0x00007fe845610f6b in  ()
#19 0x0000000000000000 in  ()
[Inferior 1 (process 6174) detached]

Possible duplicates by query: bug 434804, bug 434156, bug 428294, bug 426090, bug 422963.

Reported using DrKonqi
Comment 1 Nate Graham 2021-04-13 15:37:49 UTC
#12 0x00007fe854d2991b in SizeGroup::adjustItems(SizeGroup::Mode) (this=this@entry=0x55b4ced59a80, whatChanged=<optimized out>) at /usr/src/debug/kirigami2-5.80.0-1.1.x86_64/src/sizegroup.cpp:106
#13 0x00007fe854d29d5e in SizeGroup::connectItem(QQuickItem*) (item=<optimized out>, this=0x55b4ced59a80) at /usr/src/debug/kirigami2-5.80.0-1.1.x86_64/src/sizegroup.cpp:43
#14 SizeGroup::appendItem(QQmlListProperty<QQuickItem>*, QQuickItem*) (prop=<optimized out>, value=<optimized out>) at /usr/src/debug/kirigami2-5.80.0-1.1.x86_64/src/sizegroup.cpp:16
Comment 2 Bug Janitor Service 2021-04-13 21:00:43 UTC
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kirigami/-/merge_requests/277
Comment 3 Janet Blackquill 2021-04-13 22:28:55 UTC
Git commit 2aa397b6dda25fa89f05b926f1927cfaf001b1d9 by Jan Blackquill.
Committed on 13/04/2021 at 20:45.
Pushed by cblack into branch 'master'.

controls/SizeGroup: shield against nullptr qmlContext

Stuff goes dramatically wrong if we try to use a QQmlProperty for
an item that lacks a qmlContext.
FIXED-IN: 5.82

M  +1    -1    src/sizegroup.cpp

https://invent.kde.org/frameworks/kirigami/commit/2aa397b6dda25fa89f05b926f1927cfaf001b1d9