Bug 475629 - Crash in scripting engine when using Bismuth
Summary: Crash in scripting engine when using Bismuth
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: scripting (other bugs)
Version First Reported In: 5.27.8
Platform: Arch Linux Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
: 476709 (view as bug list)
Depends on:
Blocks:
 
Reported: 2023-10-14 21:53 UTC by Hanabishi
Modified: 2024-03-14 14:05 UTC (History)
8 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments
backtrace (7.04 KB, text/x-log)
2023-10-14 21:53 UTC, Hanabishi
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Hanabishi 2023-10-14 21:53:07 UTC
Created attachment 162310 [details]
backtrace

SUMMARY
Plasma Wayland session crashes randomly for me.

kwin_wayland[1248]: segfault at 160 ip 00007ff88534f136 sp 00007ffd0ea0db30 error 6 in libQt5Qml.so.5.15.11[7ff8852a7000+281000] likely on CPU 15 (core 7, socket 0)

I suspect it started after one of the latest minor Qt5 updates, backtrace points into Qt5Qml 5.15.11.

STEPS TO REPRODUCE
Unknown, crashes appear randomly.

OBSERVED RESULT
kwin_wayland crashes.

EXPECTED RESULT
kwin_wayland should not crash.

SOFTWARE/OS VERSIONS
Linux: 6.5.7
KDE Plasma Version: 5.27.8
KDE Frameworks Version: 5.110.0
Qt Version: 5.15.11

ADDITIONAL INFORMATION

Arch Linux packages:
kwin 5.27.8-4
plasma-desktop 5.27.8-2
plasma-wayland-session 5.27.8-2
qt5-base 5.15.11+kde+r136-1
qt5-declarative 5.15.11+kde+r30-1
Comment 1 Nate Graham 2023-10-16 19:46:54 UTC
#0  0x00007ff88534f136 in QV4::WriteBarrier::write(QV4::EngineBase*, QV4::Heap::Base*, unsigned long long*, unsigned long long) (value=140704549706176, slot=0x160, base=0x0, engine=<optimized out>) at ../../include/QtQml/5.15.11/QtQml/private/../../../../../../qtdeclarative/src/qml/memory/qv4writebarrier_p.h:91
        nInline = 5
        idx = {index = 47, setterIndex = 4294967295, attributes = {{m_all = 254 '\376', {m_flags = 14 '\016', m_mask = 15 '\017'}, {m_type = 0 '\000', m_writable = 1 '\001', m_enumerable = 1 '\001', m_configurable = 1 '\001', type_set = 1 '\001', writable_set = 1 '\001', enumerable_set = 1 '\001', configurable_set = 1 '\001'}}}}
        key = {val = <optimized out>, static ArrayIndexMask = 985162418487296}
#1  QV4::ValueArray<8ul>::set(QV4::EngineBase*, unsigned int, QV4::Value) (v=..., index=42, e=<optimized out>, this=0x8) at ../../include/QtQml/5.15.11/QtQml/private/../../../../../../qtdeclarative/src/qml/jsruntime/qv4value_p.h:513
        nInline = 5
        idx = {index = 47, setterIndex = 4294967295, attributes = {{m_all = 254 '\376', {m_flags = 14 '\016', m_mask = 15 '\017'}, {m_type = 0 '\000', m_writable = 1 '\001', m_enumerable = 1 '\001', m_configurable = 1 '\001', type_set = 1 '\001', writable_set = 1 '\001', enumerable_set = 1 '\001', configurable_set = 1 '\001'}}}}
        key = {val = <optimized out>, static ArrayIndexMask = 985162418487296}
#2  QV4::Heap::Object::setProperty(QV4::ExecutionEngine*, unsigned int, QV4::Value) (e=0x5563edd58610, v=..., index=42, this=0x7ff854a9bce0) at ../../include/QtQml/5.15.11/QtQml/private/../../../../../../qtdeclarative/src/qml/jsruntime/qv4object_p.h:122
        nInline = 5
        idx = {index = 47, setterIndex = 4294967295, attributes = {{m_all = 254 '\376', {m_flags = 14 '\016', m_mask = 15 '\017'}, {m_type = 0 '\000', m_writable = 1 '\001', m_enumerable = 1 '\001', m_configurable = 1 '\001', type_set = 1 '\001', writable_set = 1 '\001', enumerable_set = 1 '\001', configurable_set = 1 '\001'}}}}
        key = {val = <optimized out>, static ArrayIndexMask = 985162418487296}
#3  QV4::Object::setProperty(unsigned int, QV4::Value) const (v=..., index=47, this=0x7ff85502c828) at ../../include/QtQml/5.15.11/QtQml/private/../../../../../../qtdeclarative/src/qml/jsruntime/qv4object_p.h:164
        idx = {index = 47, setterIndex = 4294967295, attributes = {{m_all = 254 '\376', {m_flags = 14 '\016', m_mask = 15 '\017'}, {m_type = 0 '\000', m_writable = 1 '\001', m_enumerable = 1 '\001', m_configurable = 1 '\001', type_set = 1 '\001', writable_set = 1 '\001', enumerable_set = 1 '\001', configurable_set = 1 '\001'}}}}
        key = {val = <optimized out>, static ArrayIndexMask = 985162418487296}
#4  QV4::Object::insertMember(QV4::StringOrSymbol*, QV4::Property const*, QV4::PropertyAttributes) (this=0x7ff85502c828, s=0x7ff85502c868, p=0x7ff85502c870, attributes=...) at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/jsruntime/qv4object.cpp:291
        idx = {index = 47, setterIndex = 4294967295, attributes = {{m_all = 254 '\376', {m_flags = 14 '\016', m_mask = 15 '\017'}, {m_type = 0 '\000', m_writable = 1 '\001', m_enumerable = 1 '\001', m_configurable = 1 '\001', type_set = 1 '\001', writable_set = 1 '\001', enumerable_set = 1 '\001', configurable_set = 1 '\001'}}}}
        key = {val = <optimized out>, static ArrayIndexMask = 985162418487296}
#5  0x00007ff885307646 in QV4::Object::insertMember(QV4::StringOrSymbol*, QV4::Value const&, QV4::PropertyAttributes) (this=<optimized out>, s=<optimized out>, v=<optimized out>, attributes=...) at ../../include/QtQml/5.15.11/QtQml/private/../../../../../../qtdeclarative/src/qml/jsruntime/qv4object_p.h:232
#6  0x00007ff885351686 in QV4::Object::internalPut(QV4::PropertyKey, QV4::Value const&, QV4::Value*) (this=0x7ff85502c848, id=..., value=..., receiver=0x7ff85502c828) at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/jsruntime/qv4object.cpp:586
        s = {ptr = <optimized out>}
        scope = {engine = 0x5563edd58610, mark = 0x7ff85502c850}
        r = <optimized out>
        p = {property = 0x7ff85502c850}
        attrs = {{m_all = <optimized out>, {m_flags = <optimized out>, m_mask = <optimized out>}, {m_type = <optimized out>, m_writable = <optimized out>, m_enumerable = <optimized out>, m_configurable = <optimized out>, type_set = <optimized out>, writable_set = <optimized out>, enumerable_set = <optimized out>, configurable_set = <optimized out>}}}
#7  0x00007ff88535154d in QV4::Object::put(QV4::PropertyKey, QV4::Value const&, QV4::Value*) (receiver=0x7ff85502c828, v=..., id=..., this=<optimized out>) at ../../include/QtQml/5.15.11/QtQml/private/../../../../../../qtdeclarative/src/qml/jsruntime/qv4object_p.h:324
        p = {ptr = <optimized out>}
        scope = {engine = 0x5563edd58610, mark = 0x7ff85502c838}
        r = <optimized out>
        p = {property = 0x7ff85502c838}
        attrs = {{m_all = <optimized out>, {m_flags = <optimized out>, m_mask = <optimized out>}, {m_type = <optimized out>, m_writable = <optimized out>, m_enumerable = <optimized out>, m_configurable = <optimized out>, type_set = <optimized out>, writable_set = <optimized out>, enumerable_set = <optimized out>, configurable_set = <optimized out>}}}
#8  QV4::Object::internalPut(QV4::PropertyKey, QV4::Value const&, QV4::Value*) (this=0x7ff85502c828, id=..., value=..., receiver=0x7ff85502c828) at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/jsruntime/qv4object.cpp:549
        p = {ptr = <optimized out>}
        scope = {engine = 0x5563edd58610, mark = 0x7ff85502c838}
        r = <optimized out>
        p = {property = 0x7ff85502c838}
        attrs = {{m_all = <optimized out>, {m_flags = <optimized out>, m_mask = <optimized out>}, {m_type = <optimized out>, m_writable = <optimized out>, m_enumerable = <optimized out>, m_configurable = <optimized out>, type_set = <optimized out>, writable_set = <optimized out>, enumerable_set = <optimized out>, configurable_set = <optimized out>}}}
#9  0x00007ff8853a281b in QV4::Object::put(QV4::PropertyKey, QV4::Value const&, QV4::Value*) (receiver=0x7ff85502c828, v=..., id=..., this=0x7ff85502c828, this=<optimized out>, id=..., v=<optimized out>, receiver=<optimized out>) at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/jsruntime/qv4object_p.h:324
        scope = {engine = 0x5563edd58610, mark = 0x7ff85502c828}
        name = {ptr = <optimized out>}
#10 QV4::setElementFallback(QV4::ExecutionEngine*, QV4::Value const&, QV4::Value const&, QV4::Value const&) (engine=engine@entry=0x5563edd58610, object=<optimized out>, index=..., value=...) at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/jsruntime/qv4runtime.cpp:766
        scope = {engine = 0x5563edd58610, mark = 0x7ff85502c828}
        name = {ptr = <optimized out>}
#11 0x00007ff8853a28d8 in QV4::Runtime::StoreElement::call(QV4::ExecutionEngine*, QV4::Value const&, QV4::Value const&, QV4::Value const&) (engine=0x5563edd58610, object=<optimized out>, index=<optimized out>, value=<optimized out>) at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/jsruntime/qv4runtime.cpp:787
#12 0x00007ff84418ddd2 in  ()
#13 0x00007ffd0ea0df30 in  ()
#14 0x0000000000000000 in  ()
Comment 2 Dmitrii Chermnykh 2023-11-08 19:33:18 UTC
Got the same issue 

Operating System: Arch Linux
KDE Plasma Version: 5.27.9
KDE Frameworks Version: 5.111.0
Qt Version: 5.15.11
Kernel Version: 6.5.10-x64v2-xanmod1-1 (64-bit)
Graphics Platform: offscreen
Processors: 16 × AMD Ryzen 7 5800H with Radeon Graphics
Memory: 23.1 GiB of RAM
Graphics Processor: NVIDIA GeForce RTX 3050 Ti Laptop GPU/PCIe/SSE2
Comment 3 jaburjak 2023-11-14 15:08:58 UTC
I have also started to experience random kwin_wayland crashes. So far they have only happened when interacting with the system, such as clicking on a button or moving the mouse, not when the computer is idle. I don’t think there’s a particular application that’s causing the crash.

Operating System: Arch Linux
KDE Plasma Version: 5.27.9
KDE Frameworks Version: 5.112.0
Qt Version: 5.15.11
Kernel Version: 6.6.1-zen1-1-zen (64-bit)
Graphics Platform: Wayland
Processors: 8 × Intel® Core™ i7-4720HQ CPU @ 2.60GHz
Memory: 15,5 GiB of RAM
Graphics Processor: Mesa Intel® HD Graphics 4600

Backtrace:

Thread 11 (Thread 0x7fc3eb7fe6c0 (LWP 21124)):
#0  0x00007fc44d8a74ae in  () at /usr/lib/libc.so.6
#1  0x00007fc44d8a9d40 in pthread_cond_wait () at /usr/lib/libc.so.6
#2  0x00007fc4356d1b5c in  () at /usr/lib/dri/crocus_dri.so
#3  0x00007fc43571ca0c in  () at /usr/lib/dri/crocus_dri.so
#4  0x00007fc44d8aa9eb in  () at /usr/lib/libc.so.6
#5  0x00007fc44d92e7cc in  () at /usr/lib/libc.so.6

Thread 10 (Thread 0x7fc41cdfe6c0 (LWP 16762)):
#0  0x00007fc44d8a74ae in  () at /usr/lib/libc.so.6
#1  0x00007fc44d8a9d40 in pthread_cond_wait () at /usr/lib/libc.so.6
#2  0x00007fc4356d1b5c in  () at /usr/lib/dri/crocus_dri.so
#3  0x00007fc43571ca0c in  () at /usr/lib/dri/crocus_dri.so
#4  0x00007fc44d8aa9eb in  () at /usr/lib/libc.so.6
#5  0x00007fc44d92e7cc in  () at /usr/lib/libc.so.6

Thread 9 (Thread 0x7fc41d5ff6c0 (LWP 16224)):
#0  0x00007fc44d8a74ae in  () at /usr/lib/libc.so.6
#1  0x00007fc44d8a9d40 in pthread_cond_wait () at /usr/lib/libc.so.6
#2  0x00007fc4356d1b5c in  () at /usr/lib/dri/crocus_dri.so
#3  0x00007fc43571ca0c in  () at /usr/lib/dri/crocus_dri.so
#4  0x00007fc44d8aa9eb in  () at /usr/lib/libc.so.6
#5  0x00007fc44d92e7cc in  () at /usr/lib/libc.so.6

Thread 8 (Thread 0x7fc42c8bd6c0 (LWP 16198)):
#0  0x00007fc44d920f6f in poll () at /usr/lib/libc.so.6
#1  0x00007fc44c16c276 in  () at /usr/lib/libglib-2.0.so.0
#2  0x00007fc44c10c162 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#3  0x00007fc44e8eaf7c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#4  0x00007fc44e89ae74 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#5  0x00007fc44e6f74f6 in QThread::exec() () at /usr/lib/libQt5Core.so.5
#6  0x00007fc44e6f371a in  () at /usr/lib/libQt5Core.so.5
#7  0x00007fc44d8aa9eb in  () at /usr/lib/libc.so.6
#8  0x00007fc44d92e7cc in  () at /usr/lib/libc.so.6

Thread 7 (Thread 0x7fc3ea7fc6c0 (LWP 17678)):
#0  0x00007fc44d8a74ae in  () at /usr/lib/libc.so.6
#1  0x00007fc44d8a9d40 in pthread_cond_wait () at /usr/lib/libc.so.6
#2  0x00007fc4356d1b5c in  () at /usr/lib/dri/crocus_dri.so
#3  0x00007fc43571ca0c in  () at /usr/lib/dri/crocus_dri.so
#4  0x00007fc44d8aa9eb in  () at /usr/lib/libc.so.6
#5  0x00007fc44d92e7cc in  () at /usr/lib/libc.so.6

Thread 6 (Thread 0x7fc400f656c0 (LWP 16486)):
#0  0x00007fc44d920f6f in poll () at /usr/lib/libc.so.6
#1  0x00007fc44c16c276 in  () at /usr/lib/libglib-2.0.so.0
#2  0x00007fc44c10c162 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#3  0x00007fc44e8eaf7c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#4  0x00007fc44e89ae74 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#5  0x00007fc44e6f74f6 in QThread::exec() () at /usr/lib/libQt5Core.so.5
#6  0x00007fc44f6c59b0 in  () at /usr/lib/libQt5Qml.so.5
#7  0x00007fc44e6f371a in  () at /usr/lib/libQt5Core.so.5
#8  0x00007fc44d8aa9eb in  () at /usr/lib/libc.so.6
#9  0x00007fc44d92e7cc in  () at /usr/lib/libc.so.6

Thread 5 (Thread 0x7fc40ffff6c0 (LWP 16226)):
#0  0x00007fc44d920f6f in poll () at /usr/lib/libc.so.6
#1  0x00007fc44c16c276 in  () at /usr/lib/libglib-2.0.so.0
#2  0x00007fc44c10c162 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#3  0x00007fc44e8eaf7c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#4  0x00007fc44e89ae74 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#5  0x00007fc44e6f74f6 in QThread::exec() () at /usr/lib/libQt5Core.so.5
#6  0x00007fc44f6c59b0 in  () at /usr/lib/libQt5Qml.so.5
#7  0x00007fc44e6f371a in  () at /usr/lib/libQt5Core.so.5
#8  0x00007fc44d8aa9eb in  () at /usr/lib/libc.so.6
#9  0x00007fc44d92e7cc in  () at /usr/lib/libc.so.6

Thread 4 (Thread 0x7fc4487ff6c0 (LWP 16184)):
#0  0x00007fc44d920f6f in poll () at /usr/lib/libc.so.6
#1  0x00007fc44c16c276 in  () at /usr/lib/libglib-2.0.so.0
#2  0x00007fc44c10c162 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#3  0x00007fc44e8eaf7c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#4  0x00007fc44e89ae74 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#5  0x00007fc44e6f74f6 in QThread::exec() () at /usr/lib/libQt5Core.so.5
#6  0x00007fc4506dba9a in  () at /usr/lib/libQt5DBus.so.5
#7  0x00007fc44e6f371a in  () at /usr/lib/libQt5Core.so.5
#8  0x00007fc44d8aa9eb in  () at /usr/lib/libc.so.6
#9  0x00007fc44d92e7cc in  () at /usr/lib/libc.so.6

Thread 3 (Thread 0x7fc42d0be6c0 (LWP 16196)):
#0  0x00007fc44d8a74ae in  () at /usr/lib/libc.so.6
#1  0x00007fc44d8a9d40 in pthread_cond_wait () at /usr/lib/libc.so.6
#2  0x00007fc4356d1b5c in  () at /usr/lib/dri/crocus_dri.so
#3  0x00007fc43571ca0c in  () at /usr/lib/dri/crocus_dri.so
#4  0x00007fc44d8aa9eb in  () at /usr/lib/libc.so.6
#5  0x00007fc44d92e7cc in  () at /usr/lib/libc.so.6

Thread 2 (Thread 0x7fc424dff6c0 (LWP 16223)):
#0  0x00007fc44d8a74ae in  () at /usr/lib/libc.so.6
#1  0x00007fc44d8a9d40 in pthread_cond_wait () at /usr/lib/libc.so.6
#2  0x00007fc4356d1b5c in  () at /usr/lib/dri/crocus_dri.so
#3  0x00007fc43571ca0c in  () at /usr/lib/dri/crocus_dri.so
#4  0x00007fc44d8aa9eb in  () at /usr/lib/libc.so.6
#5  0x00007fc44d92e7cc in  () at /usr/lib/libc.so.6

Thread 1 (Thread 0x7fc448d838c0 (LWP 16152)):
#0  0x00007fc44f54f116 in QV4::Object::insertMember(QV4::StringOrSymbol*, QV4::Property const*, QV4::PropertyAttributes) () at /usr/lib/libQt5Qml.so.5
#1  0x00007fc44f5075b6 in  () at /usr/lib/libQt5Qml.so.5
#2  0x00007fc44f551666 in QV4::Object::internalPut(QV4::PropertyKey, QV4::Value const&, QV4::Value*) () at /usr/lib/libQt5Qml.so.5
#3  0x00007fc44f55152d in QV4::Object::internalPut(QV4::PropertyKey, QV4::Value const&, QV4::Value*) () at /usr/lib/libQt5Qml.so.5
#4  0x00007fc44f5a27cb in  () at /usr/lib/libQt5Qml.so.5
#5  0x00007fc44f5a2888 in QV4::Runtime::StoreElement::call(QV4::ExecutionEngine*, QV4::Value const&, QV4::Value const&, QV4::Value const&) () at /usr/lib/libQt5Qml.so.5
#6  0x00007fc41c09cdd2 in  ()
#7  0x00007ffc4ac99c60 in  ()
#8  0x0000000000000000 in  ()
Comment 4 Hanabishi 2023-11-14 15:36:48 UTC
> in QV4::Object::insertMember
Yeah, this is the same thing.
I assume there is some cross-thread syncronization issue.

Now I have an idea: restrict  "kwin_wayland" process affinity to a single CPU core. Maybe it will workaround the issue.
I will try that and report back does it still crashes or not.
Comment 5 Hanabishi 2023-11-14 17:47:05 UTC
Nah, affinity does not seem to help, it still crashes.
Comment 6 jaburjak 2023-11-14 17:58:20 UTC
I had three crashes just today. I will downgrade Qt5 packages to version 5.15.10 and see if the crashes keep happening.
Comment 7 Zamundaaa 2023-11-14 19:12:02 UTC
KWin's crashing in the script engine here. Do you have any non-default KWin scripts installed and enabled?
Comment 8 jaburjak 2023-11-14 21:09:02 UTC
I do have Bismuth (https://github.com/Bismuth-Forge/bismuth) installed and enabled. However if I remember correctly, no crash was during opening/closing a window or any other kind of window manipulation that would engage Bismuth.
Comment 9 Hanabishi 2023-11-14 21:15:14 UTC
Hmm, I do have Bismuth too. 
Despite the crash was never due to windows manipulation, I kinda see a pattern here.
Obviously we need to try go without it.
Comment 10 Dmitrii Chermnykh 2023-11-14 22:01:43 UTC
I'm also using Bismuth 🤔

I've noticed a weird way to prevent crashes:
1. Set up 2 horizontal virtual desktops
2. Open a window for each screen on the first virtual desktop
3. Switch to the 2nd virtual desktop
Comment 11 Hanabishi 2023-11-15 18:29:56 UTC
Well, after a day without Bismuth, I didn't faced any crashes. So yeah, that's it.

Not sure is this report should be closed though. Because I doubt that JS code is able to trigger segfaults by its own without actual bugs in the engine.
Comment 12 Nate Graham 2023-11-15 19:00:45 UTC
Isn't Bismuth dead now? I thought Polonium was meant to be its replacement.
Comment 13 jaburjak 2023-11-15 19:43:49 UTC
Unfortunately Polonium does not support layouts that I use with Bismuth, and Bismuth still works fine for me even with the latest version of KWin. Yesterday I downgraded Qt5 packages to version 5.15.10, and didn’t experience any crash so far either.

Operating System: Arch Linux
KDE Plasma Version: 5.27.9
KDE Frameworks Version: 5.112.0
Qt Version: 5.15.10

List of qt5-* package versions:
qt5-base 5.15.10+kde+r165-1
qt5-declarative 5.15.10+kde+r31-1
qt5-graphicaleffects 5.15.10-1
qt5-imageformats 5.15.11+kde+r12-1
qt5-location 5.15.10+kde+r5-1
qt5-multimedia 5.15.10+kde+r3-1
qt5-networkauth 5.15.10-1
qt5-quickcontrols 5.15.10-1
qt5-quickcontrols2 5.15.10+kde+r6-1
qt5-script 5.15.15-2
qt5-sensors 5.15.10-1
qt5-speech 5.15.10+kde+r1-1
qt5-svg 5.15.10+kde+r8-1
qt5-tools 5.15.10+kde+r3-2
qt5-translations 5.15.10-1
qt5-wayland 5.15.10+kde+r62-1
qt5-webchannel 5.15.10+kde+r3-1
qt5-webengine 5.15.15-2
qt5-webview 5.15.10-1
qt5-x11extras 5.15.10-1
Comment 14 Hanabishi 2023-11-15 21:30:52 UTC
(In reply to Nate Graham from comment #12)
> Isn't Bismuth dead now? I thought Polonium was meant to be its replacement.

Yes, it is effectively abandoned. Polonium still lacks some functionality for me, though I do switched to it currently.
The scripts work kinda dirty anyway and always will be. I hope Plasma will continue to improve native tiling so that we don't need them anymore.
Comment 15 David Edmundson 2023-11-15 21:42:59 UTC
Even if Bismuth itself isn't used, a crash a script currently hits is a path a future script could hit.
So we need to try to reproduce and follow up.
Comment 16 jaburjak 2023-11-19 21:28:33 UTC
Update: After four days with the latest Plasma packages but Qt5 packages downgraded to version 5.15.10, I have not experienced a single KWin crash even with Bismuth active, in contrast to 2-3 crashes per day with Qt5 version 5.15.11.
Comment 17 james 2023-11-21 13:56:27 UTC
*** Bug 476709 has been marked as a duplicate of this bug. ***
Comment 18 Dmitrii Chermnykh 2023-12-05 11:47:58 UTC
Got crash with polonium and custom tiles, should I open a new report for that? 

#0  0x00007f7a656c6278 in KWin::CustomTile::setRelativeGeometry(QRectF const&) (this=0x555f41fea270, geom=<optimized out>) at /usr/src/debug/kwin/kwin-5.27.9/src/tiles/customtile.cpp:146
#1  0x00007f7a656c5127 in KWin::CustomTile::remove() (this=0x555f41a1afb0) at /usr/src/debug/kwin/kwin-5.27.9/src/tiles/customtile.cpp:278
#2  0x00007f7a656c9f43 in KWin::CustomTile::qt_metacall(QMetaObject::Call, int, void**) (this=0x555f41a1afb0, _c=QMetaObject::InvokeMetaMethod, _id=3, _a=0x7ffd92b39230) at /usr/src/debug/kwin/build/src/kwin_autogen/include/moc_customtile.cpp:185
#3  0x00007f7a64a7ce04 in QQmlObjectOrGadget::metacall(QMetaObject::Call, int, void**) const (this=0x7ffd92b39480, type=QMetaObject::InvokeMetaMethod, index=<optimized out>, argv=<optimized out>) at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/qml/qqmlobjectorgadget.cpp:51
#4  0x00007f7a6497e006 in CallMethod (callType=QMetaObject::InvokeMetaMethod, callArgs=0x7f7a4c08a8f8, engine=0x555f4112f5f0, argTypes=0x0, argCount=0, returnType=43, index=<optimized out>, object=...)
    at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:1303
#5  CallPrecise(QQmlObjectOrGadget const&, QQmlPropertyData const&, QV4::ExecutionEngine*, QV4::CallData*, QMetaObject::Call) (object=..., data=..., engine=engine@entry=0x555f4112f5f0, callArgs=callArgs@entry=0x7f7a4c08a8f8, callType=callType@entry=QMetaObject::InvokeMetaMethod)
    at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:1557
#6  0x00007f7a64980036 in QV4::QObjectMethod::callInternal(QV4::Value const*, QV4::Value const*, int) const (this=<optimized out>, thisObject=0x7f7a4c08a888, argv=<optimized out>, argc=0) at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:2115
#7  0x00007f7a649a2c4e in QV4::FunctionObject::call(QV4::Value const*, QV4::Value const*, int) const (argc=0, argv=0x7f7a4c08a818, thisObject=0x7f7a4c08a888, this=0x7ffd92b395c8) at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/jsruntime/qv4functionobject_p.h:202
#8  QV4::Runtime::CallPropertyLookup::call(QV4::ExecutionEngine*, QV4::Value const&, unsigned int, QV4::Value*, int) (engine=0x555f4112f5f0, base=..., index=<optimized out>, argv=0x7f7a4c08a818, argc=0)
    at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/jsruntime/qv4runtime.cpp:1460
#9  0x00007f7a33f97341 in  ()
#10 0x00007ffd92b39800 in  ()
#11 0x0000000000000000 in  ()
Comment 19 Hanabishi 2024-01-09 08:03:29 UTC
Just want to say that 5.15.12 still triggers the same crash.

kwin_wayland[897]: segfault at 230 ip 00007f58b774f0d6 sp 00007ffff01a9f40 error 6 in libQt5Qml.so.5.15.12[7f58b76a7000+281000] likely on CPU 15 (core 7, socket 0)
Comment 20 owl-from-hogvarts 2024-01-17 14:23:13 UTC
Have similar issue. Also have bismuth installed 🤔
Comment 21 zxq5 2024-03-09 16:46:03 UTC
same happening here, back on 5.27 I had occasional crashes of my wayland session when using bismuth. I'm now using the polonium script on plasma 6.0.1 and the same issue is present except moving any window with the script active almost always immediately crashes the session. I suspect this has a similar root cause.

Operating System: Arch Linux 
KDE Plasma Version: 6.0.1
KDE Frameworks Version: 6.0.0
Qt Version: 6.6.2
Kernel Version: 6.7.9-zen1-1-zen (64-bit)
Graphics Platform: Wayland
Processors: 16 × 12th Gen Intel® Core™ i5-12600K
Memory: 31.1 GiB of RAM
Graphics Processor: AMD Radeon RX 6700 XT
Manufacturer: Gigabyte Technology Co., Ltd.
Product Name: Z690 GAMING X DDR4
Comment 22 David Edmundson 2024-03-14 14:05:23 UTC
Lets track that as: 470759

We haven't seen any duplicates of the original bug, so lets close this