Bug 470507 - Plasma crashes in QQmlContextData::refreshExpressionsRecursive() after system has booted and desktop was shown
Summary: Plasma crashes in QQmlContextData::refreshExpressionsRecursive() after syste...
Status: REPORTED
Alias: None
Product: plasmashell
Classification: Plasma
Component: generic-crash (show other bugs)
Version: 5.24.4
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords: drkonqi
: 474289 (view as bug list)
Depends on:
Blocks:
 
Reported: 2023-06-01 08:37 UTC by Hubert Kaschulke
Modified: 2023-09-08 17:28 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Hubert Kaschulke 2023-06-01 08:37:27 UTC
Application: plasmashell (5.24.4)
 (Compiled from sources)
Qt Version: 5.15.2
Frameworks Version: 5.90.0
Operating System: Linux 5.14.21-150400.24.63-default x86_64
Windowing System: X11
Distribution: "openSUSE Leap 15.4"
DrKonqi: 5.24.4 [KCrashBackend]

-- Information about the crash:
- What I was doing when the application crashed:

System has bootet. Directly after showing the desktop, which took some time, the Plasma icon appeared and told me that Plasma crashed.

The reporter is unsure if this crash is reproducible.

-- Backtrace:
Application: Plasma (plasmashell), signal: Segmentation fault

[KCrash Handler]
#4  QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::operator->() const (this=0x7028b3a18) at /usr/include/qt5/QtCore/qscopedpointer.h:118
#5  qGetPtrHelper<QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> > const>(QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> > const&) (ptr=...) at /usr/include/qt5/QtCore/qglobal.h:1143
#6  QObject::d_func() const (this=0x7028b3a10) at /usr/include/qt5/QtCore/qobject.h:132
#7  QObjectPrivate::get(QObject const*) (o=0x7028b3a10) at /usr/include/qt5/QtCore/5.15.2/QtCore/private/qobject_p.h:341
#8  QQmlData::wasDeleted(QObject const*) (object=0x7028b3a10) at ../../include/QtQml/5.15.2/QtQml/private/../../../../../../src/qml/qml/qqmldata_p.h:337
#9  QV4::QObjectWrapper::wrap(QV4::ExecutionEngine*, QObject*) (object=0x7028b3a10, engine=0x1e888c0) at ../../include/QtQml/5.15.2/QtQml/private/../../../../../../src/qml/jsruntime/qv4qobjectwrapper_p.h:213
#10 QQmlJavaScriptExpression::evaluate(QV4::CallData*, bool*) (this=this@entry=0x2849170, callData=callData@entry=0x7ff7cad714d0, isUndefined=isUndefined@entry=0x7ffc2ac59bdf) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-150400.2.5.x86_64/src/qml/qml/qqmljavascriptexpression.cpp:206
#11 0x00007ff81645d6fe in QQmlBinding::evaluate(bool*) (this=this@entry=0x2849170, isUndefined=isUndefined@entry=0x7ffc2ac59bdf) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-150400.2.5.x86_64/src/qml/qml/qqmlbinding.cpp:218
#12 0x00007ff816461da5 in QQmlNonbindingBinding::doUpdate(QQmlJavaScriptExpression::DeleteWatcher const&, QFlags<QQmlPropertyData::WriteFlag>, QV4::Scope&) (this=0x2849170, watcher=..., flags=..., scope=...) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-150400.2.5.x86_64/src/qml/qml/qqmlbinding.cpp:254
#13 0x00007ff81645e9e2 in QQmlBinding::update(QFlags<QQmlPropertyData::WriteFlag>) (this=0x2849170, flags=...) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-150400.2.5.x86_64/src/qml/qml/qqmlbinding.cpp:194
#14 0x00007ff8163faf1f in QQmlContextData::refreshExpressionsRecursive(QQmlJavaScriptExpression*) (this=<optimized out>, expression=0x2849170) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-150400.2.5.x86_64/src/qml/qml/qqmlcontext.cpp:723
#15 0x00007ff8163faf77 in QQmlContextData::refreshExpressionsRecursive(QQmlJavaScriptExpression*) (this=this@entry=0x3112320, expression=0x295df90) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-150400.2.5.x86_64/src/qml/qml/qqmlcontext.cpp:720
#16 0x00007ff8163fb54b in QQmlContextData::refreshExpressionsRecursive(bool) (this=0x3112320, isGlobal=isGlobal@entry=false) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-150400.2.5.x86_64/src/qml/qml/qqmlcontext.cpp:752
#17 0x00007ff8163fb5f4 in QQmlContextData::refreshExpressionsRecursive(bool) (this=0x2994730, isGlobal=isGlobal@entry=false) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-150400.2.5.x86_64/src/qml/qml/qqmlcontext.cpp:742
#18 0x00007ff8163fb6c8 in QQmlContextData::refreshExpressionsRecursive(bool) (this=0x29a6480, isGlobal=isGlobal@entry=false) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-150400.2.5.x86_64/src/qml/qml/qqmlcontext.cpp:747
#19 0x00007ff8163fb6c8 in QQmlContextData::refreshExpressionsRecursive(bool) (this=0x29a7440, isGlobal=isGlobal@entry=false) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-150400.2.5.x86_64/src/qml/qml/qqmlcontext.cpp:747
#20 0x00007ff8163fb6c8 in QQmlContextData::refreshExpressionsRecursive(bool) (this=0x29ba7a0, isGlobal=isGlobal@entry=false) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-150400.2.5.x86_64/src/qml/qml/qqmlcontext.cpp:747
#21 0x00007ff8163fb6c8 in QQmlContextData::refreshExpressionsRecursive(bool) (this=0x29bb830, isGlobal=isGlobal@entry=false) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-150400.2.5.x86_64/src/qml/qml/qqmlcontext.cpp:747
#22 0x00007ff8163fb6c8 in QQmlContextData::refreshExpressionsRecursive(bool) (this=0x29ceaf0, isGlobal=isGlobal@entry=false) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-150400.2.5.x86_64/src/qml/qml/qqmlcontext.cpp:747
#23 0x00007ff8163fb6c8 in QQmlContextData::refreshExpressionsRecursive(bool) (this=0x29cfd50, isGlobal=isGlobal@entry=false) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-150400.2.5.x86_64/src/qml/qml/qqmlcontext.cpp:747
#24 0x00007ff8163fb6c8 in QQmlContextData::refreshExpressionsRecursive(bool) (this=0x2a04780, isGlobal=isGlobal@entry=false) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-150400.2.5.x86_64/src/qml/qml/qqmlcontext.cpp:747
#25 0x00007ff8163fb6c8 in QQmlContextData::refreshExpressionsRecursive(bool) (this=0x2a07060, isGlobal=isGlobal@entry=false) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-150400.2.5.x86_64/src/qml/qml/qqmlcontext.cpp:747
#26 0x00007ff8163fb69b in QQmlContextData::refreshExpressionsRecursive(bool) (this=0x2ac1750, isGlobal=isGlobal@entry=false) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-150400.2.5.x86_64/src/qml/qml/qqmlcontext.cpp:765
#27 0x00007ff8163fb69b in QQmlContextData::refreshExpressionsRecursive(bool) (this=0x2ac6be0, isGlobal=isGlobal@entry=false) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-150400.2.5.x86_64/src/qml/qml/qqmlcontext.cpp:765
#28 0x00007ff8163fb69b in QQmlContextData::refreshExpressionsRecursive(bool) (this=0x2adab00, isGlobal=isGlobal@entry=false) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-150400.2.5.x86_64/src/qml/qml/qqmlcontext.cpp:765
#29 0x00007ff8163fb69b in QQmlContextData::refreshExpressionsRecursive(bool) (this=0x2ae6b50, isGlobal=isGlobal@entry=false) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-150400.2.5.x86_64/src/qml/qml/qqmlcontext.cpp:765
#30 0x00007ff8163fb69b in QQmlContextData::refreshExpressionsRecursive(bool) (this=0x2af1c80, isGlobal=isGlobal@entry=false) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-150400.2.5.x86_64/src/qml/qml/qqmlcontext.cpp:765
#31 0x00007ff8163fb69b in QQmlContextData::refreshExpressionsRecursive(bool) (this=0x2afe8f0, isGlobal=isGlobal@entry=false) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-150400.2.5.x86_64/src/qml/qml/qqmlcontext.cpp:765
#32 0x00007ff8163fb5f4 in QQmlContextData::refreshExpressionsRecursive(bool) (this=0x29669e0, isGlobal=isGlobal@entry=false) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-150400.2.5.x86_64/src/qml/qml/qqmlcontext.cpp:742
#33 0x00007ff8163fb5f4 in QQmlContextData::refreshExpressionsRecursive(bool) (this=0x2674420, isGlobal=isGlobal@entry=false) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-150400.2.5.x86_64/src/qml/qml/qqmlcontext.cpp:742
#34 0x00007ff8163fb67b in QQmlContextData::refreshExpressionsRecursive(bool) (this=0x2674280, isGlobal=isGlobal@entry=false) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-150400.2.5.x86_64/src/qml/qml/qqmlcontext.cpp:762
#35 0x00007ff8163fb5f4 in QQmlContextData::refreshExpressionsRecursive(bool) (this=0x25d6060, isGlobal=false) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-150400.2.5.x86_64/src/qml/qml/qqmlcontext.cpp:742
#36 0x00007ff8163fb7ee in QQmlContextData::refreshExpressions() (this=this@entry=0x25bb380) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-150400.2.5.x86_64/src/qml/qml/qqmlcontext.cpp:800
#37 0x00007ff8163df278 in QQmlEngine::retranslate() (this=<optimized out>) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde43-150400.2.5.x86_64/src/qml/qml/qqmlengine.cpp:1430
#38 0x00007ff813a3ad9b in QObject::event(QEvent*) (this=0x1e8dbf0, e=0x7ff7d092b740) at kernel/qobject.cpp:1314
#39 0x00007ff8155c13bc in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x196fa00, receiver=receiver@entry=0x1e8dbf0, e=e@entry=0x7ff7d092b740) at kernel/qapplication.cpp:3632
#40 0x00007ff8155c81a0 in QApplication::notify(QObject*, QEvent*) (this=0x7ffc2ac5a900, receiver=0x1e8dbf0, e=0x7ff7d092b740) at kernel/qapplication.cpp:3156
#41 0x00007ff813a06c23 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x1e8dbf0, event=0x7ff7d092b740) at kernel/qcoreapplication.cpp:1064
#42 0x00007ff813a06dfe in QCoreApplication::sendEvent(QObject*, QEvent*) (receiver=receiver@entry=0x1e8dbf0, event=event@entry=0x7ff7d092b740) at kernel/qcoreapplication.cpp:1462
#43 0x00007ff813a09641 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x1959ce0) at kernel/qcoreapplication.cpp:1821
#44 0x00007ff813a09bc8 in QCoreApplication::sendPostedEvents(QObject*, int) (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1680
#45 0x00007ff813a69983 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x1aac950) at kernel/qeventdispatcher_glib.cpp:277
#46 0x00007ff80da2582b in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#47 0x00007ff80da25bd0 in  () at /usr/lib64/libglib-2.0.so.0
#48 0x00007ff80da25c5c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#49 0x00007ff813a6902c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x1abaca0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#50 0x00007ff813a0548a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffc2ac5a7e0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:232
#51 0x00007ff813a0ecc7 in QCoreApplication::exec() () at kernel/qcoreapplication.cpp:1375
#52 0x0000000000420740 in main(int, char**) (argc=<optimized out>, argv=0x7ffc2ac5a910) at /usr/src/debug/plasma5-workspace-5.24.4-bp154.2.3.1.x86_64/shell/main.cpp:238
[Inferior 1 (process 2080) detached]

Possible duplicates by query: bug 468180, bug 467467, bug 465031, bug 464425, bug 463956.

Reported using DrKonqi
Comment 1 Hubert Kaschulke 2023-06-01 08:41:08 UTC
"The reporter is unsure if this crash is reproducible." No, it happens after every system shutdown and reboot.
Comment 2 Nate Graham 2023-06-05 17:03:24 UTC
I'm afraid Plasma 5.24 is unfortunately no longer eligible for support or maintenance from KDE.

Plasma is a fast-moving project, and bugs in one version are often fixed in the next one. Please update to Plasma 5.27 as soon as your distro offers it to you. If you need support for Plasma 5.24, please contact your distro, who bears the responsibility of providing support for older non-LTS releases.

If this issue is still reproducible in Plasma 5.27 after you upgrade to it, feel free to re-open this bug report.

Thanks for understanding!
Comment 3 Nate Graham 2023-09-08 17:27:28 UTC
*** Bug 474289 has been marked as a duplicate of this bug. ***
Comment 4 Nate Graham 2023-09-08 17:28:17 UTC
Re-opening since we got a report from Plasma 5.27.7.