Details
-
Bug
-
Resolution: Duplicate
-
P1: Critical
-
6.8.0
-
None
-
Operating System: Arch Linux
KDE Plasma Version: 6.2.3
KDE Frameworks Version: 6.8.0
Qt Version: 6.8.0
Description
When I launch SDDM on Arch Linux, it crashes when attempting to login, locking me out of the system until I enable a workaround (disabling Breeze theme).
coredumpctl reveals a segfault with the following backtrace, pointing to QV4 GC internals (markWeakValues iterating GCIteratorStorage?):
(gdb) bt #0 0x000071c9b54535a0 in QV4::Value::as<QV4::QObjectWrapper> (this=0x71c9b5782820) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4value_p.h:144 #1 QV4::Value::as<QV4::QObjectWrapper> (this=0x71c9b5782820) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4value_p.h:151 #2 QV4::(anonymous namespace)::markWeakValues (that=0x5884cfe05040, stateData=std::variant [index 1] = {...}) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/memory/qv4mm.cpp:749 #3 0x000071c9b545172d in QV4::GCStateMachine::transition (this=0x5884cfe05040) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/memory/qv4mm.cpp:1495 #4 QV4::GCStateMachine::transition (this=0x5884cfe05040) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/memory/qv4mm.cpp:1477 #5 0x000071c9b54611b7 in QV4::GCStateMachine::step (this=<optimized out>) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/memory/qv4mm_p.h:79 #6 QV4::MemoryManager::runGC (this=0x5884cfdfa980) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/memory/qv4mm.cpp:1272 #7 0x000071c9b536878a in QV4::MemoryManager::runGC (this=0x5884cfdfa980) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/memory/qv4mm.cpp:1260 #8 QV4::MemoryManager::allocate (this=0x5884cfdfa980, allocator=0x5884cfdfa990, size=64) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/memory/qv4mm_p.h:386 #9 QV4::MemoryManager::allocString (this=0x5884cfdfa980, unmanagedSize=<optimized out>) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/memory/qv4mm.cpp:994 #10 QV4::MemoryManager::allocWithStringData<QV4::String, QString const&> (this=0x5884cfdfa980, unmanagedSize=<optimized out>, arg1=...) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/memory/qv4mm_p.h:274 #11 QV4::ExecutionEngine::newString (this=<optimized out>, s=...) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4engine.cpp:938 ...
This has been previously reported at https://github.com/sddm/sddm/issues/2001. Judging from QTBUG-129241 (and closed QTBUG-123426), this is an alteration of the QV4 GC added to Qt 6.8.0.
The segfault does not occur if I launch sddm-greeter-qt6 in --test-mode, or if I edit `/etc/sddm.conf.d/kde_settings.conf` and comment out by editing `#Current=breeze`. I think this is a newly introduced Qt QML GC bug, but it could be a SDDM theme bug causing C++ lifetime errors, I don't know.
Attachments
Issue Links
- duplicates
-
QTBUG-130767 Incremental QML gc deletes context property
- Closed