Bug 509864

Summary: Plasmashell crash (SIGSEGV) in QQuickStackView::initialize (null pointer in QJSEngine)
Product: [Plasma] plasmashell Reporter: Víctor <mclarenvst>
Component: generic-crashAssignee: Plasma Bugs List <plasma-bugs-null>
Status: RESOLVED DUPLICATE    
Severity: crash Keywords: drkonqi
Priority: NOR    
Version First Reported In: 6.4.5   
Target Milestone: 1.0   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Attachments: New crash information added by DrKonqi

Description Víctor 2025-09-24 11:40:49 UTC
Application: plasmashell (6.4.5)

ApplicationNotResponding [ANR]: false
Qt Version: 6.9.2
Frameworks Version: 6.18.0
Operating System: Linux 6.16.7-200.fc42.x86_64 x86_64
Windowing System: Wayland
Distribution: "Fedora Linux 42 (KDE Plasma Desktop Edition)"
DrKonqi: 6.4.5 [CoredumpBackend]

-- Information about the crash:
Plasmashell is intermittently crashing with a segmentation fault (SIGSEGV). The crash is recoverable (the desktop environment does not go black or become unusable), but it happens frequently during normal desktop use.

The issue is highly persistent and occurs even after a full system-wide repair (dnf distro-sync) and on a brand-new user profile. This strongly suggests a software bug in Plasma or a related Qt library, rather than a user configuration or hardware issue. The backtrace points to a null pointer dereference in QJSEngine when initializing a QQuickStackElement.


Steps to Reproduce:

The crash is intermittent, so a 100% reliable trigger has not been found. It happens during regular desktop activities. The most reliable way to see the environment where it occurs is:

Use a system with the hardware specified below (AMD CPU + NVIDIA dGPU).
Ensure the system is fully updated (Fedora 42).
Create a brand-new user account.
Log in and use the desktop normally.
The crash will eventually occur, often within the first hour of use.


Observed Behavior:

A crash notification window for plasmashell appears. The desktop may freeze for a second but fully recovers. The panels, wallpaper, and running applications remain visible and functional.


Expected Behavior:

Plasmashell should run stably without any segmentation faults.

System Information:
Operating System: Fedora Linux 42
KDE Plasma Version: 6.4.5
KDE Frameworks Version: 6.18.0
Qt Version: 6.9.2
Kernel Version: 6.16.7-200.fc42.x86_64
Graphics Platform: Wayland

Hardware:
CPU: 16 x AMD Ryzen 7 8845HS with Radeon 780M Graphics
Memory: 64 GiB of RAM
GPU 1 (Integrated): AMD Radeon 780M Graphics
GPU 2 (Dedicated): NVIDIA GeForce RTX 4070 Laptop GPU (Proprietary Driver)
Manufacturer: SLIMBOOK
Product Name: CREA15-A8-RTX


Crash Backtrace:

Here is the latest backtrace collected by kcrash, with debug symbols automatically downloaded from Fedora's debuginfod server.

Application: plasmashell (plasmashell), signal: Segmentation fault
Content of s_kcrashErrorMessage: std::unique_ptr<char []> = {get() = <optimized out>}
Core was generated by `/usr/bin/plasmashell --no-respawn'.
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
[Current thread is 1 (Thread 0x7fa0b588e300 (LWP 2571))]
[KCrash Handler]
#5  0x00007fa0a6ca0382 in QJSEngine::handle (this=0x0) at /usr/src/debug/qt6-qtdeclarative-6.9.2-1.fc42.x86_64/src/qml/jsapi/qjsengine.h:320
#6  QQmlEnginePrivate::getV4Engine (e=0x0) at /usr/src/debug/qt6-qtdeclarative-6.9.2-1.fc42.x86_64/src/qml/qml/qqmlengine_p.h:334
#7  QQuickStackElement::initialize (this=this@entry=0x560dbef07c70, requiredProperties=requiredProperties@entry=0x0) at /usr/src/debug/qt6-qtdeclarative-6.9.2-1.fc42.x86_64/src/quicktemplates/qquickstackelement.cpp:210
#8  0x00007fa0a6ca092a in QQuickStackElement::load (this=0x560dbef07c70, parent=parent@entry=0x560dbef41f60) at /usr/src/debug/qt6-qtdeclarative-6.9.2-1.fc42.x86_64/src/quicktemplates/qquickstackelement.cpp:180
#9  0x00007fa0a6cb0199 in QQuickStackViewPrivate::pushElements (this=this@entry=0x7f9f60005f40, elems=...) at /usr/src/debug/qt6-qtdeclarative-6.9.2-1.fc42.x86_64/src/quicktemplates/qquickstackview_p.cpp:215
#10 0x00007fa0a6ca78df in QQuickStackView::replace (this=0x560dbef41f60, args=0x7fffa088e160) at /usr/src/debug/qt6-qtdeclarative-6.9.2-1.fc42.x86_64/src/quicktemplates/qquickstackview.cpp:910
#11 0x00007fa0a6ca9427 in QQuickStackView::qt_metacall (this=0x560dbef41f60, _c=<optimized out>, _id=18, _a=0x7fffa088e180) at /usr/src/debug/qt6-qtdeclarative-6.9.2-1.fc42.x86_64/redhat-linux-build/src/quicktemplates/QuickTemplates2_autogen/include/moc_qquickstackview_p.cpp:725
#12 0x00007fa0bcd37e42 in QQmlObjectOrGadget::metacall (this=this@entry=0x7fffa088e140, type=type@entry=QMetaObject::InvokeMetaMethod, index=<optimized out>, argv=argv@entry=0x7fffa088e180) at /usr/src/debug/qt6-qtdeclarative-6.9.2-1.fc42.x86_64/src/qml/qml/qqmlobjectorgadget.cpp:14
#13 0x00007fa0bcbc21fd in QV4::QObjectMethod::callInternal(const QV4::Value*, const QV4::Value*, int) const () from /lib64/libQt6Qml.so.6
#14 0x00007fa0bcc3076a in QV4::Moth::VME::interpret(QV4::JSTypesStackFrame*, QV4::ExecutionEngine*, char const*) () from /lib64/libQt6Qml.so.6

Additional Context:

To rule out common local issues, the following extensive troubleshooting steps have already been performed:
Full system update and package synchronization (sudo dnf upgrade --refresh and sudo dnf distro-sync).
Replaced the open-source nouveau driver with the proprietary NVIDIA driver from RPM Fusion.
Corrected all file ownership in the user's home directory (sudo chown -R).
Completely wiped all user-level Plasma/KDE configurations and caches (~/.config, ~/.local/share, ~/.cache).
The crash is confirmed to be reproducible on a brand-new user account with default settings.
A Memtest86+ is planned to formally rule out hardware, but the specificity and reproducibility of the software backtrace make a hardware cause unlikely.

The crash can be reproduced sometimes.

-- Backtrace (Reduced):
#5  0x00007fa0a6ca0382 in QJSEngine::handle (this=0x0) at /usr/src/debug/qt6-qtdeclarative-6.9.2-1.fc42.x86_64/src/qml/jsapi/qjsengine.h:320
#6  QQmlEnginePrivate::getV4Engine (e=0x0) at /usr/src/debug/qt6-qtdeclarative-6.9.2-1.fc42.x86_64/src/qml/qml/qqmlengine_p.h:334
#7  QQuickStackElement::initialize (this=this@entry=0x560dbef07c70, requiredProperties=requiredProperties@entry=0x0) at /usr/src/debug/qt6-qtdeclarative-6.9.2-1.fc42.x86_64/src/quicktemplates/qquickstackelement.cpp:210
#8  0x00007fa0a6ca092a in QQuickStackElement::load (this=0x560dbef07c70, parent=parent@entry=0x560dbef41f60) at /usr/src/debug/qt6-qtdeclarative-6.9.2-1.fc42.x86_64/src/quicktemplates/qquickstackelement.cpp:180
#9  0x00007fa0a6cb0199 in QQuickStackViewPrivate::pushElements (this=this@entry=0x7f9f60005f40, elems=...) at /usr/src/debug/qt6-qtdeclarative-6.9.2-1.fc42.x86_64/src/quicktemplates/qquickstackview_p.cpp:215
#10 0x00007fa0a6ca78df in QQuickStackView::replace (this=0x560dbef41f60, args=0x7fffa088e160) at /usr/src/debug/qt6-qtdeclarative-6.9.2-1.fc42.x86_64/src/quicktemplates/qquickstackview.cpp:910
#11 0x00007fa0a6ca9427 in QQuickStackView::qt_metacall (this=0x560dbef41f60, _c=<optimized out>, _id=18, _a=0x7fffa088e180) at /usr/src/debug/qt6-qtdeclarative-6.9.2-1.fc42.x86_64/redhat-linux-build/src/quicktemplates/QuickTemplates2_autogen/include/moc_qquickstackview_p.cpp:725
#12 0x00007fa0bcd37e42 in QQmlObjectOrGadget::metacall (this=this@entry=0x7fffa088e140, type=type@entry=QMetaObject::InvokeMetaMethod, index=<optimized out>, argv=argv@entry=0x7fffa088e180) at /usr/src/debug/qt6-qtdeclarative-6.9.2-1.fc42.x86_64/src/qml/qml/qqmlobjectorgadget.cpp:14
#13 0x00007fa0bcbc21fd in operator() (__closure=<optimized out>) at /usr/src/debug/qt6-qtdeclarative-6.9.2-1.fc42.x86_64/src/qml/jsruntime/qv4qobjectwrapper.cpp:3070
#15 QV4::QObjectMethod::callInternal (this=<optimized out>, thisObject=<optimized out>, argv=0x7fa0842ae560, argc=3) at /usr/src/debug/qt6-qtdeclarative-6.9.2-1.fc42.x86_64/src/qml/jsruntime/qv4qobjectwrapper.cpp:3064
#16 0x00007fa0bcc3076a in QV4::FunctionObject::call (this=<optimized out>, thisObject=<optimized out>, argv=<optimized out>, argc=<optimized out>) at /usr/src/debug/qt6-qtdeclarative-6.9.2-1.fc42.x86_64/src/qml/jsruntime/qv4functionobject_p.h:187
#17 QV4::Moth::VME::interpret (frame=0x560dbef41f60, frame@entry=0x7fffa088e490, engine=0x560dbbdfa010, code=0x7fa0842ae548 "\200\242D\215\237\177") at /usr/src/debug/qt6-qtdeclarative-6.9.2-1.fc42.x86_64/src/qml/jsruntime/qv4vme_moth.cpp:798
#18 0x00007fa0bcc3607f in QV4::Moth::VME::exec (frame=frame@entry=0x7fffa088e490, engine=engine@entry=0x560dbbdfa010) at /usr/src/debug/qt6-qtdeclarative-6.9.2-1.fc42.x86_64/src/qml/jsruntime/qv4vme_moth.cpp:487
#19 0x00007fa0bcb5f88f in qfoDoCall (fo=<optimized out>, thisObject=<optimized out>, argv=<optimized out>, argc=<optimized out>) at /usr/src/debug/qt6-qtdeclarative-6.9.2-1.fc42.x86_64/src/qml/jsruntime/qv4functionobject.cpp:527
#20 0x00007fa0bcbc8fdd in QV4::FunctionObject::call (this=0x7fa0842ae4f8, thisObject=<optimized out>, argv=<optimized out>, argc=<optimized out>) at /usr/src/debug/qt6-qtdeclarative-6.9.2-1.fc42.x86_64/src/qml/jsruntime/qv4functionobject_p.h:187
#21 QV4::FunctionObject::call (data=..., this=0x7fa0842ae4f8) at /usr/src/debug/qt6-qtdeclarative-6.9.2-1.fc42.x86_64/src/qml/jsruntime/qv4jscall_p.h:105


Reported using DrKonqi
Comment 1 Víctor 2025-09-24 11:40:50 UTC
Created attachment 185210 [details]
New crash information added by DrKonqi

DrKonqi auto-attaching complete backtrace.
Comment 2 Antonio Rojas 2025-09-24 11:58:30 UTC

*** This bug has been marked as a duplicate of bug 509192 ***