https://bugs.kde.org/show_bug.cgi?id=465029
Bug ID: 465029 Summary: kwin crashes if plasma rendering backend set to software Classification: Plasma Product: kwin Version: 5.26.5 Platform: Archlinux OS: Linux Status: REPORTED Severity: normal Priority: NOR Component: wayland-generic Assignee: kwin-bugs-n...@kde.org Reporter: gudvinr+...@gmail.com Target Milestone: --- SUMMARY While doing investigation for bug 463718 I tried to play with different settings and when I set rendering backend to software in `kcmshell5 qtquicksettings`, after system restart plasma started to crash every time I use alt+tab. It might be 2 issues, in fact. One with plasma not doing what kwin expecting it to do and another kwin crashing, wihch it shouldn't do (ideally) even if something goes wrong because it brings down everything else too. STEPS TO REPRODUCE 1. Set rendering backed for plasma to software 2. Restart system (only running plasmashell --replace doesn't seem to cause this issue) 3. Open some window 4. Use Alt+Tab OBSERVED RESULT Kwin crashes EXPECTED RESULT Kwin does not crash SOFTWARE/OS VERSIONS Operating System: Arch Linux KDE Plasma Version: 5.26.5 KDE Frameworks Version: 5.102.0 Qt Version: 5.15.8 Kernel Version: 6.1.8-zen1-1-zen (64-bit) Graphics Platform: Wayland Graphics Processor: AMD Radeon RX Vega M GL Graphics ADDITIONAL INFORMATION I was able to capture backtrace for failed process: #0 QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::operator->() const (this=0x8, this=<optimized out>) at /usr/include/qt/QtCore/qscopedpointer.h:116 #1 qGetPtrHelper<QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> > >(QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >&) (ptr=..., ptr=<optimized out>) at /usr/include/qt/QtCore/qglobal.h:1149 #2 QSGTexture::d_func() (this=0x0) at /usr/src/debug/qt5-declarative/qtdeclarative/src/quick/scenegraph/coreapi/qsgtexture.h:57 #3 QSGTexture::setFiltering(QSGTexture::Filtering) (this=0x0, filter=filter@entry=QSGTexture::Linear) at /usr/src/debug/qt5-declarative/qtdeclarative/src/quick/scenegraph/coreapi/qsgtexture.cpp:576 #4 0x00007fbb64486d55 in KWin::ThumbnailTextureProvider::setTexture(std::shared_ptr<KWin::GLTexture> const&) (nativeTexture=std::shared_ptr<KWin::GLTexture> (use count 2, weak count 0) = {...}, this=0x55db09446aa0) at /usr/include/c++/12.2.0/bits/unique_ptr.h:191 #5 KWin::WindowThumbnailItem::updatePaintNode(QSGNode*, QQuickItem::UpdatePaintNodeData*) (this=0x55db08fb26f0, oldNode=0x0) at /usr/src/debug/kwin/kwin-5.26.5/src/scripting/windowthumbnailitem.cpp:227 #6 0x00007fbb63e5b8d8 in QQuickWindowPrivate::updateDirtyNode(QQuickItem*) (this=0x55db08584900, item=0x55db08fb26f0) at /usr/src/debug/qt5-declarative/qtdeclarative/src/quick/items/qquickwindow.cpp:3888 #7 0x00007fbb63e5c0e5 in QQuickWindowPrivate::updateDirtyNodes() (this=0x55db08584900) at /usr/src/debug/qt5-declarative/qtdeclarative/src/quick/items/qquickwindow.cpp:3633 #8 0x00007fbb63e49489 in QQuickWindowPrivate::syncSceneGraph() (this=0x55db08584900) at /usr/src/debug/qt5-declarative/qtdeclarative/src/quick/items/qquickwindow.cpp:524 #9 0x00007fbb63e110e9 in QSGSoftwareRenderLoop::renderWindow(QQuickWindow*, bool) (this=0x55db09197030, window=<optimized out>, isNewExpose=<optimized out>) at /usr/src/debug/qt5-declarative/qtdeclarative/src/quick/scenegraph/adaptations/software/qsgsoftwarerenderloop.cpp:160 #10 0x00007fbb63e52739 in QQuickWindow::event(QEvent*) (this=0x55db0923d9c0, e=0x7fffc702ef50) at /usr/src/debug/qt5-declarative/qtdeclarative/src/quick/items/qquickwindow.cpp:1863 #11 0x00007fbb62178b5c in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x55db0923d9c0, e=0x7fffc702ef50) at kernel/qapplication.cpp:3640 #12 0x00007fbb62a8de08 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x55db0923d9c0, event=0x7fffc702ef50) at kernel/qcoreapplication.cpp:1064 #13 0x00007fbb62f3a0e5 in QPlatformWindow::deliverUpdateRequest() (this=<optimized out>) at kernel/qplatformwindow.cpp:796 #14 QPlatformWindow::windowEvent(QEvent*) (event=<optimized out>, this=0x55db09407370) at kernel/qplatformwindow.cpp:476 #15 QGuiApplicationPrivate::sendQWindowEventToQPlatformWindow(QWindow*, QEvent*) (window=<optimized out>, event=<optimized out>) at kernel/qguiapplication.cpp:1987 #16 0x00007fbb6217d041 in QApplication::notify(QObject*, QEvent*) (this=0x7fffc702f5f0, receiver=0x55db0923d9c0, e=0x7fffc702f1d0) at kernel/qapplication.cpp:2882 #17 0x00007fbb62a8de08 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x55db0923d9c0, event=0x7fffc702f1d0) at kernel/qcoreapplication.cpp:1064 #18 0x00007fbb62ad8373 in QTimerInfoList::activateTimers() (this=0x55db07edf0a8) at kernel/qtimerinfo_unix.cpp:643 #19 0x00007fbb62ad8822 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at kernel/qeventdispatcher_unix.cpp:516 #20 0x000055db0659e9a2 in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () #21 0x00007fbb62a865ac in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fffc702f370, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69 #22 0x00007fbb62a910d9 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #23 0x00007fbb62f39fe2 in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1870 #24 0x00007fbb62176f2a in QApplication::exec() () at kernel/qapplication.cpp:2832 #25 0x000055db064bf611 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kwin/kwin-5.26.5/src/main_wayland.cpp:609 -- You are receiving this mail because: You are watching all bug changes.