Details
-
Bug
-
Resolution: Fixed
-
P1: Critical
-
6.8
-
None
Description
I can reproduce the crash by clicking "Search" in Plasma systemsettings. qtdeclarative is at https://invent.kde.org/qt/qt/qtdeclarative/-/commit/2bc1c820902261a46d35d8f7c0eefa7adc2be909
(gdb) bt #0 QV4::Value::as<QV4::QObjectWrapper>() const (this=0x7ffff2609a80) at /home/qydw/kde/src/qtdeclarative/src/qml/jsruntime/qv4value_p.h:136 #1 0x00007ffff6b7aee2 in QV4::Value::as<QV4::QObjectWrapper>() (this=<optimized out>) at /home/qydw/kde/src/qtdeclarative/src/qml/jsruntime/qv4value_p.h:151 #2 0x00007ffff6c760b8 in QV4::(anonymous namespace)::markWeakValues(QV4::GCStateMachine*, QV4::(anonymous namespace)::ExtraData&) (that=0x7178c0, stateData=std::variant [index 1] = {...}) at /home/qydw/kde/src/qtdeclarative/src/qml/memory/qv4mm.cpp:749 #3 0x00007ffff6c7678e in QV4::GCStateMachine::transition() (this=0x7178c0) at /home/qydw/kde/src/qtdeclarative/src/qml/memory/qv4mm.cpp:1473 #4 0x00007ffff6c77345 in QV4::GCStateMachine::step() (this=<optimized out>) at /home/qydw/kde/src/qtdeclarative/src/qml/memory/qv4mm_p.h:79 #5 QV4::MemoryManager::runGC() (this=this@entry=0x657740) at /home/qydw/kde/src/qtdeclarative/src/qml/memory/qv4mm.cpp:1258 #6 0x00007ffff6babb3f in QV4::MemoryManager::allocate(QV4::BlockAllocator*, unsigned long) (this=0x657740, allocator=0x657750, size=size@entry=96) at /home/qydw/kde/src/qtdeclarative/src/qml/memory/qv4mm_p.h:396 #7 0x00007ffff6c786f2 in QV4::MemoryManager::allocData(unsigned long) (this=<optimized out>, size=size@entry=96) at /home/qydw/kde/src/qtdeclarative/src/qml/memory/qv4mm.cpp:1004 #8 0x00007ffff6c7881d in QV4::MemoryManager::allocObjectWithMemberData(QV4::VTable const*, unsigned int) (this=this@entry=0x657740, vtable=vtable@entry=0x7ffff6fd8560 <QV4::QQmlTypeWrapper::static_vtbl>, nMembers=<optimized out>) at /home/qydw/kde/src/qtdeclarative/src/qml/memory/qv4mm.cpp:1016 #9 0x00007ffff6da4b7f in QV4::MemoryManager::allocateObject<QV4::QQmlTypeWrapper>(QV4::Heap::InternalClass*) (this=this@entry=0x657740, ic=0x7fffd8690600) at /home/qydw/kde/src/qtdeclarative/src/qml/memory/qv4mm_p.h:248 #10 0x00007ffff6da4bfb in QV4::MemoryManager::allocateObject<QV4::QQmlTypeWrapper>(QV4::InternalClass*) (this=this@entry=0x657740, ic=ic@entry=0x7fffd89bf5d8) at /home/qydw/kde/src/qtdeclarative/src/qml/jsruntime/qv4managed_p.h:189 #11 0x00007ffff6da4ca0 in QV4::MemoryManager::allocateObject<QV4::QQmlTypeWrapper>() (this=0x657740) at /home/qydw/kde/src/qtdeclarative/src/qml/memory/qv4mm_p.h:268 #12 0x00007ffff6da4cde in QV4::MemoryManager::allocate<QV4::QQmlTypeWrapper, QV4::Heap::QQmlTypeWrapper::TypeNameMode&, QObject*&, QQmlTypePrivate const*>(QV4::Heap::QQmlTypeWrapper::TypeNameMode&, QObject*&, QQmlTypePrivate const*&&) (this=<optimized out>) at /home/qydw/kde/src/qtdeclarative/src/qml/memory/qv4mm_p.h:301 #13 0x00007ffff6da3c60 in QV4::QQmlTypeWrapper::create(QV4::ExecutionEngine*, QObject*, QQmlType const&, QV4::Heap::QQmlTypeWrapper::TypeNameMode) (engine=<optimized out>, o=<optimized out>, o@entry=0x28e0cb0, t=..., mode=<optimized out>) at /home/qydw/kde/src/qtdeclarative/src/qml/qml/qqmltypewrapper.cpp:148 #14 0x00007ffff6da48ae in QV4::QQmlTypeWrapper::virtualGet(QV4::Managed const*, QV4::PropertyKey, QV4::Value const*, bool*) (m=m@entry=0x7fffd89bf5b8, id=..., receiver=receiver@entry=0x7fffd89bf5b8, hasProperty=hasProperty@entry=0x0) at /home/qydw/kde/src/qtdeclarative/src/qml/qml/qqmltypewrapper_p.h:67 #15 0x00007ffff6b7a779 in QV4::Object::get(QV4::StringOrSymbol*, bool*, QV4::Value const*) const (this=this@entry=0x7fffd89bf5b8, name=name@entry=0x7fffd89bf5c0, hasProperty=hasProperty@entry=0x0, receiver=0x7fffd89bf5b8, receiver@entry=0x0) at /home/qydw/kde/src/qtdeclarative/src/qml/jsruntime/qv4object_p.h:271 #16 0x00007ffff6bec81d in QV4::Lookup::getterFallback(QV4::Lookup*, QV4::ExecutionEngine*, QV4::Value const&) (l=0x91d6b0, engine=<optimized out>, object=<optimized out>) at /home/qydw/kde/src/qtdeclarative/src/qml/jsruntime/qv4lookup.cpp:204 #17 0x00007ffff6c35737 in QV4::Runtime::GetLookup::call(QV4::ExecutionEngine*, QV4::Function*, QV4::Value const&, int) (engine=0x6772d0, f=<optimized out>, base=..., index=<optimized out>) at /home/qydw/kde/src/qtdeclarative/src/qml/jsruntime/qv4runtime.cpp:1150 #18 0x00007fffe3e26173 in () #19 0x0000000000000000 in ()
When QML_DISABLE_DISK_CACHE=1 is set, there are some warnings:
> QML_DISABLE_DISK_CACHE=1 systemsettings qt.core.qobject.connect: QObject::connect: Connecting from COMPAT signal (QSocketNotifier::activated(int)) qrc:/qt/qml/org/kde/systemsettings/CategoryItem.qml:33:13: Unable to assign IconPropertiesGroup_QMLTYPE_81 to IconPropertiesGroup_QMLTYPE_81 qrc:/qt/qml/org/kde/systemsettings/CategoryItem.qml:33:13: Unable to assign IconPropertiesGroup_QMLTYPE_81 to IconPropertiesGroup_QMLTYPE_81 qrc:/qt/qml/org/kde/systemsettings/CategoryItem.qml:33:13: Unable to assign IconPropertiesGroup_QMLTYPE_81 to IconPropertiesGroup_QMLTYPE_81 qml: Page SubCategoryPage_QMLTYPE_98(0x1dfd410) is already in the PageRow qml: Pushed pages do not conform to the rules. Please check the documentation. qml: push (file:///home/qydw/kde/usr/qml/org/kde/kirigami/PageRow.qml:223) onActiveSubCategoryRowChanged (qrc:/qt/qml/org/kde/systemsettings/SubCategoryPage.qml:175) qrc:/qt/qml/org/kde/systemsettings/CategoryItem.qml:33:13: Unable to assign IconPropertiesGroup_QMLTYPE_81 to IconPropertiesGroup_QMLTYPE_81 qrc:/qt/qml/org/kde/systemsettings/CategoryItem.qml:33:13: Unable to assign IconPropertiesGroup_QMLTYPE_81 to IconPropertiesGroup_QMLTYPE_81 qrc:/qt/qml/org/kde/systemsettings/CategoryItem.qml:33:13: Unable to assign IconPropertiesGroup_QMLTYPE_81 to IconPropertiesGroup_QMLTYPE_81 qrc:/qt/qml/org/kde/systemsettings/CategoryItem.qml:33:13: Unable to assign IconPropertiesGroup_QMLTYPE_81 to IconPropertiesGroup_QMLTYPE_81 qrc:/qt/qml/org/kde/systemsettings/CategoryItem.qml:33:13: Unable to assign IconPropertiesGroup_QMLTYPE_81 to IconPropertiesGroup_QMLTYPE_81 qrc:/qt/qml/org/kde/systemsettings/CategoryItem.qml:33:13: Unable to assign IconPropertiesGroup_QMLTYPE_81 to IconPropertiesGroup_QMLTYPE_81
Attachments
Issue Links
- relates to
-
QTBUG-119274 Introduce an incremental garbage collector for QML
- Open
-
QTBUG-121411 [REG 6.7->6.8] Assert in qml engine
- Closed
-
QTBUG-121910 Investigate using white allocations while gc is running
- Closed