SUMMARY When configuring a system monitor widget, the display style can be changed in the first tab. But after doing so, switching to any other tabs in the panel can cause a crash. It does not happen every time the tab is switched but seems to happen pretty consistently if you rapidly switch between tabs. The crash does not occur if you don't change display styles. STEPS TO REPRODUCE 1. Create or have a system monitor widget in the task bar 2. Right click on the widget > Configure System Monitor Sensor... 3. In the "Appearance" tab, change "Display Style" to something else 4. Apply change 5. Rapidly switch between the other tabs, this should cause the crash OBSERVED RESULT Plasmashell crashes EXPECTED RESULT No crash SOFTWARE/OS VERSIONS Operating System: Arch Linux KDE Plasma Version: 6.5.4 KDE Frameworks Version: 6.21.0 Qt Version: 6.10.1 Kernel Version: 6.18.1-arch1-2 (64-bit) Graphics Platform: Wayland Processors: 16 × AMD Ryzen 7 3700X 8-Core Processor Memory: 32 GiB of RAM (31.2 GiB usable) Graphics Processor: NVIDIA GeForce RTX 2070 SUPER ADDITIONAL INFORMATION Backtrace (apologies, I followed the guide and attached GDB which should have debuginfo but it doesn't seem to have resolved symbols) #0 0x00007f1af3abfef6 in ?? () from /usr/lib/libQt6Qml.so.6 #1 0x00007f1af3b9193c in QV4::ExecutableCompilationUnit::markObjects(QV4::MarkStack*) const () from /usr/lib/libQt6Qml.so.6 #2 0x00007f1af3b7467f in QV4::ExecutionEngine::markObjects(QV4::MarkStack*) () from /usr/lib/libQt6Qml.so.6 #3 0x00007f1af3c5a49e in ?? () from /usr/lib/libQt6Qml.so.6 #4 0x00007f1af3c56dc2 in QV4::GCStateMachine::transition() () from /usr/lib/libQt6Qml.so.6 #5 0x00007f1af3c58e1e in ?? () from /usr/lib/libQt6Qml.so.6 #6 0x00007f1af3c5bbdc in QV4::MemoryManager::allocData(unsigned long) () from /usr/lib/libQt6Qml.so.6 #7 0x00007f1af3dcc116 in QV4::QQmlTypeWrapper::create(QV4::ExecutionEngine*, QObject*, QQmlType const&, QV4::Heap::QQmlTypeWrapper::TypeNameMode) () from /usr/lib/libQt6Qml.so.6 #8 0x00007f1af3c7b027 in QQmlPrivate::AOTCompiledContext::initLoadAttachedLookup(unsigned int, unsigned int, QObject*) const () from /usr/lib/libQt6Qml.so.6 #9 0x00007f1ac56868c5 in ?? () from /usr/lib/libKirigamiLayouts.so.6 #10 0x00007f1af3c47791 in ?? () from /usr/lib/libQt6Qml.so.6 #11 0x00007f1af3c4f0e6 in ?? () from /usr/lib/libQt6Qml.so.6 #12 0x00007f1af3b9c72b in QV4::Function::call(QObject*, void**, QMetaType const*, int, QV4::ExecutionContext*) () from /usr/lib/libQt6Qml.so.6 #13 0x00007f1af3cf30f0 in QQmlJavaScriptExpression::evaluate(void**, QMetaType const*, int) () from /usr/lib/libQt6Qml.so.6 #14 0x00007f1af3c84d16 in QQmlBinding::doUpdate(QQmlJavaScriptExpression::DeleteWatcher const&, QFlags<QQmlPropertyData::WriteFlag>, QV4::Scope&) () from /usr/lib/libQt6Qml.so.6 #15 0x00007f1af3c8392d in QQmlBinding::update(QFlags<QQmlPropertyData::WriteFlag>) () from /usr/lib/libQt6Qml.so.6 #16 0x00007f1af3d2b5d8 in QQmlObjectCreator::finalize(QQmlInstantiationInterrupt&) () from /usr/lib/libQt6Qml.so.6 #17 0x00007f1af3c9cc45 in QQmlComponentPrivate::complete(QQmlEnginePrivate*, QQmlComponentPrivate::ConstructionState*) () from /usr/lib/libQt6Qml.so.6 #18 0x00007f1af3c9fa8c in QQmlComponentPrivate::completeCreate() () from /usr/lib/libQt6Qml.so.6 #19 0x00007f1af3ca11e5 in QQmlComponentPrivate::createWithProperties(QObject*, QMap<QString, QVariant> const&, QQmlContext*, QQmlComponentPrivate::CreateBehavior, bool) () from /usr/lib/libQt6Qml.so.6 #20 0x00007f1af3ca5ba6 in QQmlComponent::createObject(QObject*, QMap<QString, QVariant> const&) () from /usr/lib/libQt6Qml.so.6 #21 0x00007f1af3cac327 in ?? () from /usr/lib/libQt6Qml.so.6 #22 0x00007f1af3cac637 in QQmlComponent::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libQt6Qml.so.6 #23 0x00007f1af3d36883 in ?? () from /usr/lib/libQt6Qml.so.6 #24 0x00007f1af3be7051 in QV4::QObjectMethod::callPrecise(QQmlObjectOrGadget const&, QQmlPropertyData const&, QV4::ExecutionEngine*, QV4::CallData*, QMetaObject::Call) () from /usr/lib/libQt6Qml.so.6 #25 0x00007f1af3bf0ecd in QV4::QObjectMethod::callInternal(QV4::Value const*, QV4::Value const*, int) const () from /usr/lib/libQt6Qml.so.6 #26 0x00007f1af3c4b90e in ?? () from /usr/lib/libQt6Qml.so.6 #27 0x00007f1af3c4f446 in ?? () from /usr/lib/libQt6Qml.so.6 #28 0x00007f1af3ba4336 in ?? () from /usr/lib/libQt6Qml.so.6 #29 0x00007f1af3ba4916 in ?? () from /usr/lib/libQt6Qml.so.6 #30 0x00007f1af3c757ac in ?? () from /usr/lib/libQt6Qml.so.6 #31 0x00007f1af3c75c8f in QQmlPrivate::AOTCompiledContext::callQmlContextPropertyLookup(unsigned int, void**, int) const () from /usr/lib/libQt6Qml.so.6 #32 0x00007f1ac567f27b in ?? () from /usr/lib/libKirigamiLayouts.so.6 #33 0x00007f1af3c47791 in ?? () from /usr/lib/libQt6Qml.so.6 #34 0x00007f1af3c4f0e6 in ?? () from /usr/lib/libQt6Qml.so.6 #35 0x00007f1af3b9c72b in QV4::Function::call(QObject*, void**, QMetaType const*, int, QV4::ExecutionContext*) () from /usr/lib/libQt6Qml.so.6 #36 0x00007f1af3cf30f0 in QQmlJavaScriptExpression::evaluate(void**, QMetaType const*, int) () from /usr/lib/libQt6Qml.so.6 #37 0x00007f1af3c8a04b in QQmlBoundSignalExpression::evaluate(void**) () from /usr/lib/libQt6Qml.so.6 #38 0x00007f1af3c8f56d in ?? () from /usr/lib/libQt6Qml.so.6 #39 0x00007f1af3d1cad8 in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) () from /usr/lib/libQt6Qml.so.6 #40 0x00007f1af27d6fc2 in ?? () from /usr/lib/libQt6Core.so.6 #41 0x00007f1af3de0133 in QQmlVMEMetaObject::metaCall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQt6Qml.so.6 #42 0x00007f1af3c6a2a6 in ?? () from /usr/lib/libQt6Qml.so.6 #43 0x00007f1af3c8944d in ?? () from /usr/lib/libQt6Qml.so.6 --Type <RET> for more, q to quit, c to continue without paging--c #44 0x00007f1af3c84fc2 in QQmlBinding::doUpdate(QQmlJavaScriptExpression::DeleteWatcher const&, QFlags<QQmlPropertyData::WriteFlag>, QV4::Scope&) () from /usr/lib/libQt6Qml.so.6 #45 0x00007f1af3c8392d in QQmlBinding::update(QFlags<QQmlPropertyData::WriteFlag>) () from /usr/lib/libQt6Qml.so.6 #46 0x00007f1af3bdd5ff in QV4::QObjectWrapper::getProperty(QV4::ExecutionEngine*, QV4::Heap::Object*, QObject*, QQmlPropertyData const*, QFlags<QV4::QObjectWrapper::Flag>) () from /usr/lib/libQt6Qml.so.6 #47 0x00007f1af3be24e2 in QV4::QObjectWrapper::virtualResolveLookupGetter(QV4::Object const*, QV4::ExecutionEngine*, QV4::Lookup*) () from /usr/lib/libQt6Qml.so.6 #48 0x00007f1af3c4c39b in ?? () from /usr/lib/libQt6Qml.so.6 #49 0x00007f1af3c4f446 in ?? () from /usr/lib/libQt6Qml.so.6 #50 0x00007f1af3ba4336 in ?? () from /usr/lib/libQt6Qml.so.6 #51 0x00007f1af3ba4916 in ?? () from /usr/lib/libQt6Qml.so.6 #52 0x00007f1af3c757ac in ?? () from /usr/lib/libQt6Qml.so.6 #53 0x00007f1af3c75c8f in QQmlPrivate::AOTCompiledContext::callQmlContextPropertyLookup(unsigned int, void**, int) const () from /usr/lib/libQt6Qml.so.6 #54 0x00007f1ac567eebb in ?? () from /usr/lib/libKirigamiLayouts.so.6 #55 0x00007f1af3c47791 in ?? () from /usr/lib/libQt6Qml.so.6 #56 0x00007f1af3c4f0e6 in ?? () from /usr/lib/libQt6Qml.so.6 #57 0x00007f1af3b9c72b in QV4::Function::call(QObject*, void**, QMetaType const*, int, QV4::ExecutionContext*) () from /usr/lib/libQt6Qml.so.6 #58 0x00007f1af3cf30f0 in QQmlJavaScriptExpression::evaluate(void**, QMetaType const*, int) () from /usr/lib/libQt6Qml.so.6 #59 0x00007f1af3c8a04b in QQmlBoundSignalExpression::evaluate(void**) () from /usr/lib/libQt6Qml.so.6 #60 0x00007f1af3c8f56d in ?? () from /usr/lib/libQt6Qml.so.6 #61 0x00007f1af3d1cad8 in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) () from /usr/lib/libQt6Qml.so.6 #62 0x00007f1af27d6fc2 in ?? () from /usr/lib/libQt6Core.so.6 #63 0x00007f1af41725a4 in QQuickItem::setParentItem(QQuickItem*) () from /usr/lib/libQt6Quick.so.6 #64 0x00007f1af3d24841 in QQmlObjectCreator::setPropertyBinding(QQmlPropertyData const*, QV4::CompiledData::Binding const*) () from /usr/lib/libQt6Qml.so.6 #65 0x00007f1af3d2572e in QQmlObjectCreator::setupBindings(QFlags<QQmlObjectCreator::BindingMode>) () from /usr/lib/libQt6Qml.so.6 #66 0x00007f1af3d2cf68 in QQmlObjectCreator::populateInstance(int, QObject*, QObject*, QQmlPropertyData const*, QV4::CompiledData::Binding const*) () from /usr/lib/libQt6Qml.so.6 #67 0x00007f1af3d2f7a2 in QQmlObjectCreator::createInstance(int, QObject*, bool) () from /usr/lib/libQt6Qml.so.6 #68 0x00007f1af3d21e52 in QQmlObjectCreator::setPropertyBinding(QQmlPropertyData const*, QV4::CompiledData::Binding const*) () from /usr/lib/libQt6Qml.so.6 #69 0x00007f1af3d2572e in QQmlObjectCreator::setupBindings(QFlags<QQmlObjectCreator::BindingMode>) () from /usr/lib/libQt6Qml.so.6 #70 0x00007f1af3d2cf68 in QQmlObjectCreator::populateInstance(int, QObject*, QObject*, QQmlPropertyData const*, QV4::CompiledData::Binding const*) () from /usr/lib/libQt6Qml.so.6 #71 0x00007f1af3d2f7a2 in QQmlObjectCreator::createInstance(int, QObject*, bool) () from /usr/lib/libQt6Qml.so.6 #72 0x00007f1af3d399dc in ?? () from /usr/lib/libQt6Qml.so.6 #73 0x00007f1af3ca0900 in QQmlComponentPrivate::beginCreate(QQmlRefPointer<QQmlContextData>) () from /usr/lib/libQt6Qml.so.6 #74 0x00007f1af3ca1090 in QQmlComponentPrivate::doBeginCreate(QQmlComponent*, QQmlContext*) () from /usr/lib/libQt6Qml.so.6 #75 0x00007f1af3ca1162 in QQmlComponentPrivate::createWithProperties(QObject*, QMap<QString, QVariant> const&, QQmlContext*, QQmlComponentPrivate::CreateBehavior, bool) () from /usr/lib/libQt6Qml.so.6 #76 0x00007f1af3ca5ba6 in QQmlComponent::createObject(QObject*, QMap<QString, QVariant> const&) () from /usr/lib/libQt6Qml.so.6 #77 0x00007f1af3cac327 in ?? () from /usr/lib/libQt6Qml.so.6 #78 0x00007f1af3cac637 in QQmlComponent::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libQt6Qml.so.6 #79 0x00007f1af3d36883 in ?? () from /usr/lib/libQt6Qml.so.6 #80 0x00007f1af3be7051 in QV4::QObjectMethod::callPrecise(QQmlObjectOrGadget const&, QQmlPropertyData const&, QV4::ExecutionEngine*, QV4::CallData*, QMetaObject::Call) () from /usr/lib/libQt6Qml.so.6 #81 0x00007f1af3bf0ecd in QV4::QObjectMethod::callInternal(QV4::Value const*, QV4::Value const*, int) const () from /usr/lib/libQt6Qml.so.6 #82 0x00007f1af3c0e6bd in QV4::Runtime::CallPropertyLookup::call(QV4::ExecutionEngine*, QV4::Value const&, unsigned int, QV4::Value*, int) () from /usr/lib/libQt6Qml.so.6 #83 0x00007f1a7d4b8179 in ?? () #84 0x00007fff7307a010 in ?? () #85 0x000056367d174320 in ?? () #86 0x0000000000000000 in ?? ()
Thanks for the crash report and the backtrace. In order for it to be useful, we do need debug symbols for the following lines: #0 0x00007f1af3abfef6 in ?? () from /usr/lib/libQt6Qml.so.6 #9 0x00007f1ac56868c5 in ?? () from /usr/lib/libKirigamiLayouts.so.6 #10 0x00007f1af3c47791 in ?? () from /usr/lib/libQt6Qml.so.6 Arch has a wiki page on getting good traces https://wiki.archlinux.org/title/Debugging/Getting_traces You might also reach out to the Arch community if you need further help. Thanks!
Ah ha! I found my issue. GDB didn't ask to use debuginfo when I was using it as root. Now I have full symbols, thanks for your patience. Thread 1 "plasmashell" received signal SIGSEGV, Segmentation fault. #0 0x00007f0534ebfef6 in QV4::Heap::Base::mark (this=0x7f0482e5ed00, markStack=0x561a502b4380) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/memory/qv4heap_p.h:147 h = <optimized out> c = 0x7f0482e50000 index = 1896 bitmap = 0x7f0482e500e8 bit = <optimized out> #1 0x00007f0534f9193c in QV4::Lookup::markObjects (this=0x561a4faf06d0, stack=0x561a502b4380) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4lookup_p.h:272 No locals. #2 QV4::ExecutableCompilationUnit::markObjects (this=0x561a4faefee0, markStack=0x561a502b4380) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4executablecompilationunit.cpp:304 i = 10 data = 0x7f04ed488000 #3 0x00007f0534f7467f in QV4::ExecutionEngine::markObjects (this=<optimized out>, markStack=0x561a502b4380) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4engine.cpp:1344 compilationUnit = <optimized out> __for_range = <optimized out> __for_begin = <optimized out> __for_end = <optimized out> #4 0x00007f053505a49e in QV4::(anonymous namespace)::markGlobalObject (that=<optimized out>) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/memory/qv4mm.cpp:690 No locals. #5 0x00007f0535056dc2 in QV4::GCStateMachine::transition (this=0x561a4c4d5780) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/memory/qv4mm.cpp:1567 stateInfo = @0x561a4c4d57b0: {execute = 0x7f053505a480 <QV4::(anonymous namespace)::markGlobalObject(QV4::GCStateMachine*, QV4::(anonymous namespace)::ExtraData&)>, breakAfter = false} deadlineExpired = <optimized out> #6 0x00007f0535058e1e in QV4::GCStateMachine::step (this=<optimized out>) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/memory/qv4mm_p.h:89 No locals. #7 QV4::MemoryManager::runGC (this=0x561a4f4620d0) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/memory/qv4mm.cpp:1289 No locals. #8 0x00007f0534f7dff5 in QV4::MemoryManager::runGC (this=0x561a4f4620d0) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/memory/qv4mm.cpp:1277 triggeredByUnmanagedHeap = <optimized out> oldUnmanagedSize = <optimized out> totalMem = <optimized out> usedBefore = <optimized out> largeItemsBefore = <optimized out> stats = <optimized out> oldChunks = <optimized out> t = <optimized out> markTime = <optimized out> usedAfter = <optimized out> largeItemsAfter = <optimized out> memInBins = <optimized out> freedObjectStats = <optimized out> freedObjectsSorted = <optimized out> lost = <optimized out> it = <optimized out> it = <optimized out> #9 QV4::MemoryManager::allocate (this=0x561a4f4620d0, allocator=0x561a4f4620e0, size=64) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/memory/qv4mm_p.h:409 incrementalGCIsAlreadyRunning = <optimized out> didGCRun = false #10 QV4::MemoryManager::allocString (this=0x561a4f4620d0, unmanagedSize=<optimized out>) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/memory/qv4mm.cpp:996 stringSize = 64 m = <optimized out> #11 QV4::MemoryManager::allocWithStringData<QV4::String, QString const&> (this=0x561a4f4620d0, unmanagedSize=<optimized out>, arg1=...) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/memory/qv4mm_p.h:286 o = <optimized out> #12 0x00007f0534f7798d in QV4::ExecutionEngine::newString (this=0x561a4f264670, s=...) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4engine.cpp:949 No locals. #13 QV4::ExecutionEngine::fromData (this=0x561a4f264670, metaType=..., ptr=<optimized out>, container=<optimized out>, property=<optimized out>, flags=<optimized out>) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4engine.cpp:1811 createSequence = <optimized out> type = <optimized out> scope = <optimized out> listType = {d = {o = 0x7f053401f9e0 <QtPrivate::QMetaTypeInterfaceWrapper<QString>::metaType>}} iterable = {<QIterable<QMetaSequence>> = {m_revision = 769413088, m_iterable = {m_pointer = {d = 8919273546915377920}}, m_metaContainer = {<QMetaContainer> = { d_ptr = 0x0}, <No data fields>}}, <No data fields>} #14 0x00007f053501676e in QV4::ExecutionEngine::fromVariant (this=0x561a4f264670, variant=..., parent=0x7f049cbbfb80, property=3, flags=5) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4engine.cpp:1979 No locals. #15 QV4::doGetIndexed (p=0x7f049cbbfb80, index=3) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4sequenceobject.cpp:86 scope = {engine = 0x561a4f264670, mark = 0x7f049cdbab58} valueMetaType = <optimized out> metaSequence = {<QMetaContainer> = {d_ptr = 0x7f053536ba60 <QMetaSequence::MetaSequence<QList<QString> >::value>}, <No data fields>} flags = {<QtPrivate::QFlagsStorageHelper<QV4::Heap::ReferenceObject::Flag, 4>> = {<QtPrivate::QFlagsStorage<QV4::Heap::ReferenceObject::Flag>> = {static IntegerSize = 4, i = 5}, <No data fields>}, <No data fields>} container = 0x561a502b3ac0 result = {d = {static MaxInternalSize = 24, data = {data = "`\250\256O\032V\000\000p\250\256O\032V\000\000\t\000\000\000\000\000\000", shared = 0x561a4faea860, _forAlignment = 4.6773691714352349e-310}, is_shared = 0, is_null = 0, packedType = 34915081027192}} v = <optimized out> #16 0x00007f0534f4c3f8 in QV4::Object::get (receiver=0x7f049cdbab30, this=0x7f049cdbab30, idx=3, hasProperty=0x7ffc2ddc5150) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4object_p.h:274 No locals. #17 QV4::ArrayPrototype::method_forEach (b=<optimized out>, thisObject=<optimized out>, argv=0x7f049cdbaaf8, argc=<optimized out>) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4arrayobject.cpp:1340 exists = true k = 3 scope = {engine = 0x561a4f264670, mark = 0x7f049cdbab30} instance = {ptr = 0x7f049cdbab30} len = 12 callback = 0x7f049cdbaaf8 that = {ptr = 0x7f049cdbab38} arguments = <optimized out> #18 0x00007f053500e6bd in QV4::FunctionObject::call (this=0x7ffc2ddc51b8, thisObject=0x7f049cdbaae0, argv=0x7f049cdbaaf8, argc=1) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4functionobject_p.h:188 call = <optimized out> #19 QV4::Runtime::CallPropertyLookup::call (engine=0x561a4f264670, base=..., index=<optimized out>, argv=0x7f049cdbaaf8, argc=1) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4runtime.cpp:1563 l = 0x561a4f83cf58 f = {<QV4::StaticValue> = {_val = 139657784163936, static ExponentMask = 9218868437227405312, static Top1Mask = 9223372036854775808, static Upper3Mask = 3940649673949184, static Lower5Mask = 31, static ManagedMask = 9219149912204115968, static DoubleMask = 9220275812110958592, static NumberMask = 9219220280948293632, static IntOrBoolMask = 9219290649692471296, static IntCompatMask = 9219712862157537280, static EncodeMask = 9220346180855136256, static DoubleDiscriminator = 1407374883553280, static NumberDiscriminator = 351843720888320}, <No data fields>}
That doesn't look like the crashing thread anymore; there's no mention of "libKirigamiLayouts" in it.