Bug 489365

Summary: Plasmashell crashes in QQuickLayout::effectiveSizePolicy_helper() when writing "false" to `compactView` key in `Appearance` config group
Product: [Plasma] plasmashell Reporter: vosjedev <vosje+git>
Component: Global Menu widgetAssignee: Plasma Bugs List <plasma-bugs-null>
Status: CONFIRMED ---    
Severity: crash CC: akselmo, kde, kdedev, mvourlakos, nate, vosje+git
Priority: NOR    
Version First Reported In: 6.1.1   
Target Milestone: 1.0   
Platform: Other   
OS: Linux   
See Also: https://bugs.kde.org/show_bug.cgi?id=483791
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: The script for configuring the widget
A backtrace, it was listed as not usefull but I thought I'd share it anyways (wasn't able to get it to be usefull)

Description vosjedev 2024-06-28 10:39:44 UTC
Created attachment 171123 [details]
The script for configuring the widget

Hi! I am trying to automate switching the global menu between compactview and not-compact view. I am trying to do this using a javascript file I wrote adapted from  [the examples in the documentation](https://develop.kde.org/docs/plasma/scripting/examples/).

The problem I came across is that plasmashell crashes (segfault) when I write false to that config key.

STEPS TO REPRODUCE
1. Download the javascript file included
2. make sure one of the panels at least contains a global menu widget
3. edit the script to set the `valueToWrite` variable at the top to `"true"`
4. run it using
```
qdbus org.kde.plasmashell /PlasmaShell org.kde.PlasmaShell.evaluateScript "$(cat PATH/TO/DOWNLOADED_SCRIPT.js)"; 
```
3. now edit the script to set the variable to `"false"`
4. run it again, wait some time (a few seconds on my system), plasmashell will crash.

OBSERVED RESULT
Plasmashell crashes.

EXPECTED RESULT
The config value gets updated, and the global menu goes from compactView back to non-compactView.

SOFTWARE/OS VERSIONS
Linux:
Danctnix linux, based on arch linux arm, running on a pinetab2.
KDE Plasma Version: 
6.1.0
KDE Frameworks Version: 
6.3.0
Qt Version: 
6.7.2

ADDITIONAL INFORMATION
-
Comment 1 vosjedev 2024-06-28 10:42:40 UTC
Created attachment 171124 [details]
A backtrace, it was listed as not usefull but I thought I'd share it anyways (wasn't able to get it to be usefull)
Comment 2 vosjedev 2024-06-28 12:14:41 UTC
After updating to 1.6.1 the issue is still there.
Comment 3 Akseli Lahtinen 2024-07-04 18:29:36 UTC
Can confirm this crashes plasmashell. 

Operating System: Fedora Linux 40
KDE Plasma Version: 6.1.80
KDE Frameworks Version: 6.4.0
Qt Version: 6.7.1
Kernel Version: 6.9.7-200.fc40.x86_64 (64-bit)
Graphics Platform: Wayland
Processors: 12 × AMD Ryzen 5 3600 6-Core Processor
Memory: 15.5 GiB of RAM
Graphics Processor: AMD Radeon RX 6600

Backtrace:

Program terminated with signal SIGSEGV, Segmentation fault.
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0)
at pthread_kill.c:44
44            return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0;
[Current thread is 1 (Thread 0x7efc966f2b80 (LWP 2849))]
Missing separate debuginfos, use: dnf debuginfo-install ffmpeg-libs-6.1.1-11.fc40.x86_64 x264-libs-0.164-13.20231001git31e19f92.fc40.x86_64 x265-libs-3.6-2.fc40.x86_64
(gdb) bt
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0)
at pthread_kill.c:44
#1  0x00007efc9baab1b3 in __pthread_kill_internal (threadid=<optimized out>, signo=11) at pthread_kill.c:78
#2  0x00007efc9ba5365e in __GI_raise (sig=11) at ../sysdeps/posix/raise.c:26
#3  0x00007efc9f7509eb in KCrash::defaultCrashHandler (sig=11)
at /home/akseli/Repositories/kde/src/kcrash/src/kcrash.cpp:597
#4  0x00007efc9ba53710 in <signal handler called> () at /lib64/libc.so.6
#5  0x00007efc9c1a426c in QMetaObject::cast
(this=this@entry=0x7efc85339040 <QQuickLayout::staticMetaObject>, obj=obj@entry=0x2ca3a850)
at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/kernel/qmetaobject.cpp:395
#6  0x00007efc853161af in QMetaObject::cast
(this=0x7efc85339040 <QQuickLayout::staticMetaObject>, obj=0x2ca3a850)
at /usr/include/qt6/QtCore/qobjectdefs.h:241
#7  qobject_cast<QQuickLayout*> (object=0x2ca3a850) at /usr/include/qt6/QtCore/qobject.h:419
#8  QQuickLayout::effectiveSizePolicy_helper (item=0x2ca3a850, orientation=Qt::Horizontal, info=0x0)
at /usr/src/debug/qt6-qtdeclarative-6.7.1-4.fc40.x86_64/src/quicklayouts/qquicklayout.cpp:1275
#9  0x00007efc9cf6dbbb in QGridLayoutItem::stretchFactor (this=<optimized out>, orientation=<optimized out>)
at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/gui/util/qgridlayoutengine.cpp:533
#10 QGridLayoutItem::stretchFactor (this=<optimized out>, orientation=<optimized out>)
at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/gui/util/qgridlayoutengine.cpp:527
#11 0x00007efc9cf74e06 in QGridLayoutEngine::fillRowData
(this=this@entry=0x2bb291c8, rowData=rowData@entry=0x2bb29368, colPositions=colPositions@entry=0x0, colSizes=colSizes@entry=0x0, orientation=orientation@entry=Qt::Horizontal, styleInfo=styleInfo@entry=0x2b34bfc0)
at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/gui/util/qgridlayoutengine.cpp:1395
#12 0x00007efc9cf756a5 in QGridLayoutEngine::ensureColumnAndRowData
(this=this@entry=0x2bb291c8, rowData=rowData@entry=0x2bb29368, totalBox=totalBox@entry=0x2bb29308, colPositions=colPositions@entry=0x0, colSizes=colSizes@entry=0x0, orientation=orientation@entry=Qt::Horizontal, styleInfo=0x2b34bfc0) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/gui/util/qgridlayoutengine.cpp:1596
#13 0x00007efc9cf75cdf in QGridLayoutEngine::sizeHint
(this=0x2bb291c8, which=Qt::MaximumSize, constraint=..., styleInfo=0x2b34bfc0)
at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/gui/util/qgridlayoutengine.cpp:1135
#14 0x00007efc8531a9e6 in QQuickGridLayoutBase::sizeHint
(this=<optimized out>, whichSizeHint=<optimized out>)
at /usr/src/debug/qt6-qtdeclarative-6.7.1-4.fc40.x86_64/src/quicklayouts/qquicklinearlayout.cpp:237
--Type <RET> for more, q to quit, c to continue without paging--c
#15 0x00007efc853141e7 in QQuickLayoutAttached::sizeHint
(this=this@entry=0x2b4cd350, which=which@entry=Qt::MaximumSize, orientation=orientation@entry=Qt::Horizontal) at /usr/src/debug/qt6-qtdeclarative-6.7.1-4.fc40.x86_64/src/quicklayouts/qquicklayout.cpp:712
#16 0x00007efc85315903 in QQuickLayoutAttached::maximumWidth (this=0x2b4cd350)
at /usr/src/debug/qt6-qtdeclarative-6.7.1-4.fc40.x86_64/src/quicklayouts/qquicklayout_p.h:204
#17 QQuickLayoutAttached::maximumWidth (this=0x2b4cd350)
at /usr/src/debug/qt6-qtdeclarative-6.7.1-4.fc40.x86_64/src/quicklayouts/qquicklayout_p.h:204
#18 QQuickLayoutAttached::qt_static_metacall
(_o=0x2b4cd350, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>)
at /usr/src/debug/qt6-qtdeclarative-6.7.1-4.fc40.x86_64/redhat-linux-build/src/quicklayouts/QuickLayouts_autogen/include/moc_qquicklayout_p.cpp:565
#19 0x00007efc85319ee2 in QQuickLayoutAttached::qt_metacall
(this=0x2b4cd350, _c=QMetaObject::ReadProperty, _id=4, _a=0x7ffcfc777940)
at /usr/src/debug/qt6-qtdeclarative-6.7.1-4.fc40.x86_64/redhat-linux-build/src/quicklayouts/QuickLayouts_autogen/include/moc_qquicklayout_p.cpp:654
#20 0x00007efc9c1a7b11 in QMetaProperty::read
(this=this@entry=0x7ffcfc777a40, object=object@entry=0x2b4cd350)
at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/kernel/qmetaobject.cpp:3734
#21 0x00007efc9c1f1a0f in QObject::property (this=this@entry=0x2b4cd350, name=<optimized out>,
name@entry=0x7efc9fb2744e "maximumWidth")
at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/kernel/qobject.cpp:4316
#22 0x00007efc9fad36ef in PlasmaQuick::AppletQuickItemPrivate::searchLayoutAttached
(this=this@entry=0x28fc4840, parent=parent@entry=0x2a913cb0)
at /home/akseli/Repositories/kde/src/libplasma/src/plasmaquick/appletquickitem.cpp:98
#23 0x00007efc9fad3996 in PlasmaQuick::AppletQuickItemPrivate::connectLayoutAttached
(this=this@entry=0x28fc4840, item=item@entry=0x2a913cb0)
at /home/akseli/Repositories/kde/src/libplasma/src/plasmaquick/appletquickitem.cpp:116
#24 0x00007efc9fad63db in PlasmaQuick::AppletQuickItemPrivate::connectLayoutAttached
(this=0x28fc4840, item=0x2a913cb0)
at /home/akseli/Repositories/kde/src/libplasma/src/plasmaquick/appletquickitem.cpp:112
#25 PlasmaQuick::AppletQuickItemPrivate::compactRepresentationCheck (this=0x28fc4840)
at /home/akseli/Repositories/kde/src/libplasma/src/plasmaquick/appletquickitem.cpp:394
#26 0x00007efc9d70b63d in QQmlPropertyData::writeProperty
(this=0x7efc202cdbc0, target=<optimized out>, value=0x7ffcfc777d48, flags=...)
at /home/akseli/Repositories/kde/src/qtdeclarative/src/qml/qml/qqmlpropertydata_p.h:336
#27 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=0x28fc5050, resultMo=<synthetic pointer>..., resultObject=<optimized out>, pd=0x7efc202cdbc0, flags=..., slowWrite=<optimized out>)
at /home/akseli/Repositories/kde/src/qtdeclarative/src/qml/qml/qqmlbinding.cpp:817
#28 QObjectPointerBinding::write (this=0x28fc5050, result=..., isUndefined=<optimized out>, flags=...)
at /home/akseli/Repositories/kde/src/qtdeclarative/src/qml/qml/qqmlbinding.cpp:804
#29 0x00007efc9d705d3e in QQmlBinding::doUpdate (this=0x28fc5050, watcher=..., flags=..., scope=...)
at /home/akseli/Repositories/kde/src/qtdeclarative/src/qml/qml/qqmlbinding.cpp:701
#30 0x00007efc9d7094b1 in QQmlBinding::update (this=0x28fc5050, flags=...)
at /home/akseli/Repositories/kde/src/qtdeclarative/src/qml/qml/qqmlbinding.cpp:164
#31 0x00007efc9d7988d2 in QQmlNotifier::emitNotify (endpoint=<optimized out>, a=0x0)
at /home/akseli/Repositories/kde/src/qtdeclarative/src/qml/qml/qqmlnotifier.cpp:70
#32 0x00007efc9c1fa29d in doActivate<false> (sender=0x28fd5b50, signal_index=5, argv=0x0)
at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/kernel/qobject.cpp:3976
#33 0x00007efc9c1f0b47 in QMetaObject::activate
(sender=<optimized out>, m=<optimized out>, local_signal_index=<optimized out>, argv=argv@entry=0x0)
at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/kernel/qobject.cpp:4146
#34 0x00007efc9c1f0bbb in QMetaObject::activate
(sender=<optimized out>, signal_index=signal_index@entry=9, argv=argv@entry=0x0)
at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/kernel/qobject.cpp:4171
#35 0x00007efc9d7afc22 in QQmlOpenMetaObject::checkedSetValue
(force=<optimized out>, this=0x28fe1890, index=<optimized out>, value=...)
at /home/akseli/Repositories/kde/src/qtdeclarative/src/qml/qml/qqmlopenmetaobject.cpp:302
#36 QQmlOpenMetaObject::checkedSetValue (this=0x28fe1890, index=1, value=..., force=<optimized out>)
at /home/akseli/Repositories/kde/src/qtdeclarative/src/qml/qml/qqmlopenmetaobject.cpp:296
#37 0x00007efc9d86b2ed in QQmlPropertyMap::insert (this=this@entry=0x28fd5b50, key=..., value=...)
at /home/akseli/Repositories/kde/src/qtdeclarative/src/qml/util/qqmlpropertymap.cpp:208
#38 0x00007efc9f496499 in KConfigPropertyMapPrivate::loadConfig
(this=0x28fe1630, option=KConfigPropertyMapPrivate::EmitValueChanged)
at /home/akseli/Repositories/kde/src/kconfig/src/qml/kconfigpropertymap.cpp:105
#39 0x00007efc9c1fa752 in QtPrivate::QSlotObjectBase::call
(this=0x28fd9230, r=<optimized out>, a=0x7ffcfc779ad8)
at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/kernel/qobjectdefs_impl.h:469
#40 doActivate<false> (sender=0x28fd5a80, signal_index=3, argv=0x7ffcfc779ad8)
at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/kernel/qobject.cpp:4086
#41 0x00007efc9c1f0b47 in QMetaObject::activate
(sender=<optimized out>, m=m@entry=0x7efc9e6578a0 <KCoreConfigSkeleton::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0)
at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/kernel/qobject.cpp:4146
#42 0x00007efc9e625380 in KCoreConfigSkeleton::configChanged (this=<optimized out>)
at /home/akseli/Repositories/kde/build/kconfig/src/core/KF6ConfigCore_autogen/include/moc_kcoreconfigskeleton.cpp:162
#43 0x00000000004a0020 in WorkspaceScripting::Applet::writeConfig (this=0x2d06bce0, key=..., value=...)
at /home/akseli/Repositories/kde/src/plasma-workspace/shell/scripting/applet.cpp:124
#44 0x000000000042dd04 in WorkspaceScripting::Applet::qt_metacall
(this=this@entry=0x2d06bce0, _c=_c@entry=QMetaObject::InvokeMetaMethod, _id=2, _a=_a@entry=0x7ffcfc779ec8)at /home/akseli/Repositories/kde/build/plasma-workspace/shell/plasmashell_autogen/7KDSW62DQT/moc_applet.cpp:224
#45 0x000000000042dea5 in WorkspaceScripting::Widget::qt_metacall
(this=0x2d06bce0, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7ffcfc779ec8)
at /home/akseli/Repositories/kde/build/plasma-workspace/shell/plasmashell_autogen/7KDSW62DQT/moc_widget.cpp:213
#46 0x00007efc9d7ae123 in QQmlObjectOrGadget::metacall
(this=this@entry=0x7ffcfc77a180, type=type@entry=QMetaObject::InvokeMetaMethod, index=<optimized out>,
index@entry=6, argv=<optimized out>)
at /home/akseli/Repositories/kde/src/qtdeclarative/src/qml/qml/qqmlobjectorgadget.cpp:14
#47 0x00007efc9d6628c8 in QV4::CallMethod
(object=<optimized out>, index=<optimized out>, returnType=..., argCount=<optimized out>, argTypes=<optimized out>, engine=<optimized out>, callArgs=<optimized out>, callType=QMetaObject::InvokeMetaMethod)
at /usr/include/qt6/QtCore/qvarlengtharray.h:84
#48 QV4::CallPrecise (object=..., data=<optimized out>, engine=<optimized out>,
engine@entry=0x2dd9f940, callArgs=<optimized out>,
callArgs@entry=0x7efbcbbbfa30, callType=callType@entry=QMetaObject::InvokeMetaMethod)
at /home/akseli/Repositories/kde/src/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:1950
#49 0x00007efc9d664079 in operator() (__closure=<optimized out>)
at /home/akseli/Repositories/kde/src/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:2924
#50 operator()<QV4::QObjectMethod::callInternal(const QV4::Value*, const QV4::Value*, int) const::<lambda()> >(__closure=<synthetic pointer>, call=<optimized out>)
at /home/akseli/Repositories/kde/src/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:2901
#51 QV4::QObjectMethod::callInternal
(this=0x7efbcbbbfa28, thisObject=<optimized out>, argv=0x7efbcbbbf9b0, argc=2)
at /home/akseli/Repositories/kde/src/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:2924
#52 0x00007efc9d686b90 in QV4::FunctionObject::call
(this=<optimized out>, thisObject=0x7efbcbbbf980, argv=0x7efbcbbbf9b0, argc=2)
at /home/akseli/Repositories/kde/src/qtdeclarative/src/qml/jsruntime/qv4functionobject_p.h:171
#53 QV4::Runtime::CallProperty::call
(engine=0x2dd9f940, baseRef=<optimized out>, nameIndex=<optimized out>, argv=0x7efbcbbbf9b0, argc=2)
at /home/akseli/Repositories/kde/src/qtdeclarative/src/qml/jsruntime/qv4runtime.cpp:1497
#54 0x00007efc9d6ba979 in QV4::Moth::VME::interpret (frame=0x2ca3a850,
frame@entry=0x7ffcfc77a560, engine=0x2dd9f940, code=0x2e772fd0 "L\021\036")
at /home/akseli/Repositories/kde/src/qtdeclarative/src/qml/jsruntime/qv4vme_moth.cpp:778
#55 0x00007efc9d6bfb0f in QV4::Moth::VME::exec
(frame=frame@entry=0x7ffcfc77a560, engine=engine@entry=0x2dd9f940)
at /home/akseli/Repositories/kde/src/qtdeclarative/src/qml/jsruntime/qv4vme_moth.cpp:487
#56 0x00007efc9d610a78 in qfoDoCall
(fo=<optimized out>, thisObject=<optimized out>, argv=<optimized out>, argc=<optimized out>)
at /home/akseli/Repositories/kde/src/qtdeclarative/src/qml/jsruntime/qv4functionobject.cpp:526
#57 0x00007efc9d67f124 in QV4::FunctionObject::call
(this=<optimized out>, thisObject=0x7ffcfc77a610, argv=<optimized out>, argc=<optimized out>)
at /home/akseli/Repositories/kde/src/qtdeclarative/src/qml/jsruntime/qv4functionobject_p.h:171
#58 QV4::Runtime::CallValue::call
(engine=0x2dd9f940, func=<optimized out>, argv=<optimized out>, argc=<optimized out>)
at /home/akseli/Repositories/kde/src/qtdeclarative/src/qml/jsruntime/qv4runtime.cpp:1524
#59 0x00007efc28929161 in ??? ()
#60 0x0000000000000000 in ??? ()
Comment 4 Akseli Lahtinen 2024-07-05 08:32:46 UTC
In `/kde/src/libplasma/src/plasmaquick/appletquickitem.cpp`

If I comment out anything that deals with "maximumWidth" and "maximumHeight" it stops crashing.

Still don't know why though...
Comment 5 Nate Graham 2024-07-22 21:13:14 UTC
See also Bug 483791 which was fixed with changes to applet code.
Comment 6 vosjedev 2024-08-26 10:45:01 UTC
The crash just got eazier to trigger:
1. right click the global menu, go to 'Configure Gobal Menu'
2. set the menu to 'Use single button for applicatoin menu' and apply, then close with OK
3. now reopen the configuration menu, and set it back to 'Show full application menu'
4. click apply, and wait for plasma to crash

This worked for me on my pinetab, but also on a semi-fresh arch VM.
Comment 7 Nate Graham 2025-08-28 21:32:43 UTC
Trying that out, I don't get a crash. It's possible recent code changes to the Global Menu widget fixed this. Can you re-test your setup with Plasma 6.4 again? Thanks!
Comment 8 vosjedev 2025-09-01 14:20:49 UTC
I'd like to, but the device that setup is on is currently broken (trying to get a replacement part from pine64 - so it may take a bit). But I can at least confirm that, on my pretty standard plasma install on my main pc, at least the GUI repro I sent a few messages ago does no longer crash it. I'll try to repro on my pinetab as soon as possible.
Comment 9 vosjedev 2025-09-12 10:50:13 UTC
Sorry for the delay.
Testing using the reproduction steps I initially gave, it hangs for a while after the last tep, then crashes. I can't crash it from the GUI anymore, though.
Comment 10 Nate Graham 2025-09-16 20:18:35 UTC
Thanks. Does it crash with the same backtrace (or a very similar one), or one that looks totally different?
Comment 11 vosjedev 2025-09-17 13:14:44 UTC
DrKonqi seems to be having some trouble fetching a proper traceback after I reinstalled my pinetab, I'll try it on my PC tomorrow and see if that gives anything usefull.
I can see a lot of files that it complains about not existing during file-backed mapping note processing which I believe to be debugger errors. Then it shows me:

    [New LWP 3785]
    [New LWP 3964]
    [New LWP 4062]
    [New LWP 25726]
    [New LWP 25596]
    [New LWP 25724]
    [New LWP 25599]
    [New LWP 25604]
    [New LWP 25615]
    [New LWP 25610]
    [New LWP 25616]
    [New LWP 4061]
    [New LWP 25619]
    [New LWP 25601]
    [New LWP 3976]
    [New LWP 25605]
    [New LWP 3824]
    [New LWP 25611]
    [New LWP 25617]
    [New LWP 25618]
    [New LWP 25663]
    [New LWP 6145]
    [New LWP 25666]
    [New LWP 3829]
    [New LWP 25668]
    [New LWP 25606]
    [New LWP 4081]
    [New LWP 3830]
    [New LWP 5486]
    [New LWP 3869]
    [New LWP 25589]
    [New LWP 3871]
    [New LWP 25594]
    [New LWP 25597]
    [New LWP 25600]
    [New LWP 3841]
    [New LWP 25603]
    [New LWP 25612]
    [New LWP 25593]
    [New LWP 25590]
    [New LWP 25609]
    [New LWP 25595]
    [New LWP 25602]
    [New LWP 25667]
    [New LWP 25727]
    [New LWP 25725]
    [New LWP 25664]
    [New LWP 25608]
    [New LWP 25607]
    [New LWP 25598]
    [New LWP 25591]
    [New LWP 25592]
    [New LWP 4089]
    [New LWP 4125]
    [New LWP 4220]
    [New LWP 5999]
    [New LWP 4086]
    Core was generated by `/usr/bin/plasmashell --no-respawn'.
    Program terminated with signal SIGSEGV, Segmentation fault.
    #0  0x0000ffff9fe770f8 in ?? ()
    [Current thread is 1 (LWP 3785)]

which I doubt is usefull, apart from confirming it's still segfaulting...
I hope to be able to send a better traceback tomorrow.
Comment 12 vosjedev 2025-09-20 06:15:12 UTC
here's the stacktrace I got from my regular x86_64 pc:

Program terminated with signal SIGSEGV, Segmentation fault.
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0) at pthread_kill.c:44
44	      return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0;
[Current thread is 1 (Thread 0x7f0a5d889a40 (LWP 45215))]
warning: Missing auto-load script at offset 0 in section .debug_gdb_scripts
of file /usr/lib/libvulkan_nouveau.so.
Use `info auto-load python-scripts [REGEXP]' to list them.
Cannot QML trace cores :(
/usr/share/drkonqi/gdb/python/gdb_preamble/preamble.py:547: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC).
  boot_time = datetime.utcfromtimestamp(psutil.boot_time()).strftime('%Y-%m-%dT%H:%M:%S')
/usr/share/drkonqi/gdb/python/gdb_preamble/preamble.py:564: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
  'timestamp': datetime.utcnow().isoformat(),
[Current thread is 1 (Thread 0x7f0a5d889a40 (LWP 45215))]

Thread 1 (Thread 0x7f0a5d889a40 (LWP 45215)):
[KCrash Handler]
#5  0x00007f0a64a8a85c in qmlAttachedPropertiesObject(QObject*, QObject* (*)(QObject*), bool) () from /usr/lib/libQt6Qml.so.6
#6  0x00007f0a4c18f2a4 in ?? () from /usr/lib/qt6/qml/QtQuick/Layouts/../../../../libQt6QuickLayouts.so.6
#7  0x00007f0a643600f3 in QGridLayoutEngine::fillRowData(QGridLayoutRowData*, double const*, double const*, Qt::Orientation, QAbstractLayoutStyleInfo const*) const () from /usr/lib/libQt6Gui.so.6
#8  0x00007f0a643618e8 in QGridLayoutEngine::ensureColumnAndRowData(QGridLayoutRowData*, QGridLayoutBox*, double const*, double const*, Qt::Orientation, QAbstractLayoutStyleInfo const*) const () from /usr/lib/libQt6Gui.so.6
#9  0x00007f0a64361daa in QGridLayoutEngine::sizeHint(Qt::SizeHint, QSizeF const&, QAbstractLayoutStyleInfo const*) const () from /usr/lib/libQt6Gui.so.6
#10 0x00007f0a4c1897f7 in QQuickGridLayoutBase::sizeHint(Qt::SizeHint) const () from /usr/lib/qt6/qml/QtQuick/Layouts/../../../../libQt6QuickLayouts.so.6
#11 0x00007f0a4c18a77f in QQuickLayoutAttached::sizeHint(Qt::SizeHint, Qt::Orientation) const () from /usr/lib/qt6/qml/QtQuick/Layouts/../../../../libQt6QuickLayouts.so.6
#12 0x00007f0a4c192a10 in ?? () from /usr/lib/qt6/qml/QtQuick/Layouts/../../../../libQt6QuickLayouts.so.6
#13 0x00007f0a4c193742 in QQuickLayoutAttached::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/qt6/qml/QtQuick/Layouts/../../../../libQt6QuickLayouts.so.6
#14 0x00007f0a63780445 in QMetaProperty::read(QObject const*) const () from /usr/lib/libQt6Core.so.6
#15 0x00007f0a637ca326 in QObject::property(char const*) const () from /usr/lib/libQt6Core.so.6
#16 0x00007f0a6631f9b1 in ?? () from /usr/lib/libPlasmaQuick.so.6
#17 0x00007f0a6632495d in ?? () from /usr/lib/libPlasmaQuick.so.6
#18 0x00007f0a6632f073 in ?? () from /usr/lib/libPlasmaQuick.so.6
#19 0x00007f0a64a88ae3 in ?? () from /usr/lib/libQt6Qml.so.6
#20 0x00007f0a64aa1345 in ?? () from /usr/lib/libQt6Qml.so.6
#21 0x00007f0a64aa2bd5 in QQmlBinding::doUpdate(QQmlJavaScriptExpression::DeleteWatcher const&, QFlags<QQmlPropertyData::WriteFlag>, QV4::Scope&) () from /usr/lib/libQt6Qml.so.6
#22 0x00007f0a64aa463d in QQmlBinding::update(QFlags<QQmlPropertyData::WriteFlag>) () from /usr/lib/libQt6Qml.so.6
#23 0x00007f0a64b38ba0 in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) () from /usr/lib/libQt6Qml.so.6
#24 0x00007f0a637d3462 in ?? () from /usr/lib/libQt6Core.so.6
#25 0x00007f0a64b533e3 in QQmlOpenMetaObject::checkedSetValue(int, QVariant const&, bool) () from /usr/lib/libQt6Qml.so.6
#26 0x00007f0a64c056fd in QQmlPropertyMap::insert(QString const&, QVariant const&) () from /usr/lib/libQt6Qml.so.6
#27 0x00007f0a65f7a7ae in ?? () from /usr/lib/libKF6ConfigQml.so.6
#28 0x00007f0a637d37ef in ?? () from /usr/lib/libQt6Core.so.6
#29 0x0000560a7aba9735 in ?? ()
#30 0x0000560a7abab307 in ?? ()
#31 0x0000560a7abbda0e in ?? ()
#32 0x00007f0a64b4b8d3 in ?? () from /usr/lib/libQt6Qml.so.6
#33 0x00007f0a64a05ebe in QV4::QObjectMethod::callPrecise(QQmlObjectOrGadget const&, QQmlPropertyData const&, QV4::ExecutionEngine*, QV4::CallData*, QMetaObject::Call) () from /usr/lib/libQt6Qml.so.6
#34 0x00007f0a64a100a5 in QV4::QObjectMethod::callInternal(QV4::Value const*, QV4::Value const*, int) const () from /usr/lib/libQt6Qml.so.6
#35 0x00007f0a64a2b75e in QV4::Runtime::CallProperty::call(QV4::ExecutionEngine*, QV4::Value const&, int, QV4::Value*, int) () from /usr/lib/libQt6Qml.so.6
#36 0x00007f0a64a6a2e5 in ?? () from /usr/lib/libQt6Qml.so.6
#37 0x00007f0a64a6df44 in ?? () from /usr/lib/libQt6Qml.so.6
#38 0x00007f0a649c2d50 in ?? () from /usr/lib/libQt6Qml.so.6
#39 0x00007f0a64a2b7f4 in QV4::Runtime::CallValue::call(QV4::ExecutionEngine*, QV4::Value const&, QV4::Value*, int) () from /usr/lib/libQt6Qml.so.6
#40 0x00007f09f29cc161 in ?? ()
#41 0x0000560aab651f80 in ?? ()
#42 0x0000000000000000 in ?? ()

I think it's roughly the same apart from my stacktrace not showing which source file/line stuff happened on. At least it crashes a few unknown levels below QV4::Runtime::CallValue::call() too. But I'm not a c++ developer, so I won't try to conclude stuff too fast here.
Because my message hit the character limit, I removed the threads that were also listed. I can send them as an attachment if you want them anyways, but I doubt they're usefull given this is 1. listed as not usefull and 2. there's a lot of calls that are unidentified.
Comment 13 TraceyC 2025-09-30 18:51:05 UTC
Setting to confirmed since this was reproduced