Bug 447116

Summary: kwin crashes after pressing alt-tab twice
Product: [Plasma] kwin Reporter: hellmade <hellmade>
Component: generalAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: eliyahushapiro, kde, kdebugs, lamarque, matteomartelli3, michal.chochol, nate, nicolas.fella, qydwhotmail, seifert
Priority: NOR Keywords: drkonqi
Version First Reported In: 5.23.4   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description hellmade 2021-12-17 10:03:25 UTC
Application: kwin_x11 (5.23.4)

Qt Version: 5.15.2
Frameworks Version: 5.88.0
Operating System: Linux 5.15.6-1-default x86_64
Windowing System: X11
Distribution: "openSUSE Tumbleweed"
DrKonqi: 5.23.4 [KCrashBackend]

-- Information about the crash:
- What I was doing when the application crashed:
If composer is running, pressing ALT-TAB twice before the switching app is loaded will crash kwin and switch off composer

The crash can be reproduced every time.

-- Backtrace:
Application: KWin (kwin_x11), signal: Segmentation fault

[KCrash Handler]
#4  QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::operator->() const (this=0x8) at /usr/include/qt5/QtCore/qscopedpointer.h:116
#5  qGetPtrHelper<QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> > >(QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >&) (ptr=...) at /usr/include/qt5/QtCore/qglobal.h:1143
#6  QSGTexture::d_func() (this=0x0) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde36-1.2.x86_64/src/quick/scenegraph/coreapi/qsgtexture.h:57
#7  QSGTexture::setFiltering(QSGTexture::Filtering) (this=0x0, filter=filter@entry=QSGTexture::Linear) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde36-1.2.x86_64/src/quick/scenegraph/coreapi/qsgtexture.cpp:576
#8  0x00007f6e9fc4c924 in KWin::ThumbnailTextureProvider::setTexture(QSharedPointer<KWin::GLTexture> const&) (nativeTexture=..., this=0x5590ed4bc880) at /usr/include/qt5/QtCore/qscopedpointer.h:116
#9  KWin::ThumbnailItemBase::updatePaintNode(QSGNode*, QQuickItem::UpdatePaintNodeData*) (this=0x5590ecdf3060, oldNode=0x0) at /usr/src/debug/kwin5-5.23.4-1.1.x86_64/src/scripting/thumbnailitem.cpp:222
#10 0x00007f6e9d4e2728 in QQuickWindowPrivate::updateDirtyNode(QQuickItem*) (this=0x5590ecebebe0, item=0x5590ecdf3060) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde36-1.2.x86_64/src/quick/items/qquickwindow.cpp:3872
#11 0x00007f6e9d4e2ccb in QQuickWindowPrivate::updateDirtyNodes() (this=this@entry=0x5590ecebebe0) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde36-1.2.x86_64/src/quick/items/qquickwindow.cpp:3617
#12 0x00007f6e9d4e48cc in QQuickWindowPrivate::syncSceneGraph() (this=this@entry=0x5590ecebebe0) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde36-1.2.x86_64/src/quick/items/qquickwindow.cpp:524
#13 0x00007f6e9d49e83b in QSGSoftwareRenderLoop::renderWindow(QQuickWindow*, bool) (this=this@entry=0x5590ed114260, window=<optimized out>, window@entry=0x5590ed0c2e70, isNewExpose=isNewExpose@entry=true) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde36-1.2.x86_64/src/quick/scenegraph/adaptations/software/qsgsoftwarerenderloop.cpp:160
#14 0x00007f6e9d49f7f5 in QSGSoftwareRenderLoop::exposureChanged(QQuickWindow*) (this=0x5590ed114260, window=<optimized out>) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde36-1.2.x86_64/src/quick/scenegraph/adaptations/software/qsgsoftwarerenderloop.cpp:227
#15 0x00007f6e9f3b65e5 in QWindow::event(QEvent*) (this=0x5590ed0c2e70, ev=<optimized out>) at kernel/qwindow.cpp:2438
#16 0x00007f6e9e59ea7f in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x5590ed0c2e70, e=0x7fff07d1e750) at kernel/qapplication.cpp:3632
#17 0x00007f6e9ef4d9fa in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x5590ed0c2e70, event=0x7fff07d1e750) at kernel/qcoreapplication.cpp:1064
#18 0x00007f6e9f3ab93d in QGuiApplicationPrivate::processExposeEvent(QWindowSystemInterfacePrivate::ExposeEvent*) (e=0x5590ed1d42d0) at kernel/qguiapplication.cpp:3258
#19 0x00007f6e9f38078c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) (flags=...) at kernel/qwindowsysteminterface.cpp:1169
#20 0x00007f6e984380c3 in QXcbUnixEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x5590ebfb2090, flags=...) at qxcbeventdispatcher.cpp:63
#21 0x00007f6e9ef4c3fb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fff07d1e880, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#22 0x00007f6e9ef546e0 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#23 0x00007f6e9f39e18c in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1867
#24 0x00007f6e9e59e9f5 in QApplication::exec() () at kernel/qapplication.cpp:2824
#25 0x00005590eac86009 in main(int, char**) (argc=<optimized out>, argv=0x7fff07d1eb68) at /usr/src/debug/kwin5-5.23.4-1.1.x86_64/src/main_x11.cpp:483
[Inferior 1 (process 31198) detached]

Possible duplicates by query: bug 447079, bug 446454, bug 442711, bug 423209, bug 379681.

Reported using DrKonqi
Comment 1 hellmade 2021-12-17 12:11:43 UTC
also: I'm on nvidia 470 drivers
Comment 2 Lamarque V. Souza 2021-12-30 15:22:33 UTC
I have the same problema but with kwin_wayland. kwin_x11 works for me.

#0  0x00007f1f6f6eaad0 in QSGTexture::setFiltering(QSGTexture::Filtering) ()
   from /usr/lib64/libQt5Quick.so.5
#1  0x00007f1f700dd5b0 in KWin::ThumbnailTextureProvider::setTexture(QSharedPointer<KWin::GLTexture> const&) () from /usr/lib64/libkwin.so.5
#2  0x00007f1f700dec73 in KWin::ThumbnailItemBase::updatePaintNode(QSGNode*, QQuickItem::UpdatePaintNodeData*) () from /usr/lib64/libkwin.so.5
#3  0x00007f1f6f7c0ba8 in QQuickWindowPrivate::updateDirtyNode(QQuickItem*)
    () from /usr/lib64/libQt5Quick.so.5
#4  0x00007f1f6f7c115b in QQuickWindowPrivate::updateDirtyNodes() ()
   from /usr/lib64/libQt5Quick.so.5
#5  0x00007f1f6f7c2d8c in QQuickWindowPrivate::syncSceneGraph() ()
   from /usr/lib64/libQt5Quick.so.5
#6  0x00007f1f6f77ca88 in QSGSoftwareRenderLoop::renderWindow(QQuickWindow*, bool) () from /usr/lib64/libQt5Quick.so.5
#7  0x00007f1f6f7d1497 in QQuickWindow::event(QEvent*) ()
   from /usr/lib64/libQt5Quick.so.5
#8  0x00007f1f6e833abf in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5
#9  0x00007f1f6dd3d1e8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5
#10 0x00007f1f6e17ee4c in QPlatformWindow::deliverUpdateRequest() ()
   from /usr/lib64/libQt5Gui.so.5
#11 0x00007f1f6e17d3be in QPlatformWindow::windowEvent(QEvent*) ()
   from /usr/lib64/libQt5Gui.so.5
#12 0x00007f1f6e83ae1e in QApplication::notify(QObject*, QEvent*) ()
   from /usr/lib64/libQt5Widgets.so.5
#13 0x00007f1f6dd3d1e8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5
#14 0x00007f1f6dd93b9e in QTimerInfoList::activateTimers() ()
   from /usr/lib64/libQt5Core.so.5
#15 0x00007f1f6dd91a6f in QEventDispatcherUNIX::processEvents(QFlags<QEventLo--Type <RET> for more, q to quit, c to continue without paging--
op::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#16 0x0000562822f3a6dd in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
#17 0x00007f1f6dd3b71b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5
#18 0x00007f1f6dd44470 in QCoreApplication::exec() ()
   from /usr/lib64/libQt5Core.so.5

My laptop has two gpus: Intel HD Graphics 530 (/dev/card/card0) and Nvidia GeForce GTX 970M (/dev/dri/card1). m_window->openglContext() returns null  inside ThumbnailTextureProvider::setTexture. That's probably explains why m_window->createTextureFromNativeObject() also returns null. The point is why the OpenGL context is null there. Maybe it is related to the fact that there are two gpus involved?
Comment 3 Lamarque V. Souza 2021-12-31 11:45:47 UTC
I forgot to say that kwin_x11 uses the nvidia gpu and kwin_wayland uses the intel gpu to renter. I have done a quick test and "QT_LOGGING_RULES=qt.scenegraph.*=true" shows that qmlscene uses the nvidia gpu in my wayland session. I should be using the intel gpu.
Comment 4 Lamarque V. Souza 2021-12-31 12:47:45 UTC
kwin_wayland still crashes and kwin_x11 still works even when I disabled the nvidia drivers and uses the intel gpu only.
Comment 5 hellmade 2022-01-04 11:04:42 UTC
got a work around:
I went to: System Control / window behavior / App Switcher
(sorry, just have the german version and hope my translations match)

In Display I deselected the switcher App or chagend it to big symbols and the crashing went away.
I played a bit with this config and found out that the Breeze options do crash as well as preview images 
The other options I tested work fine.
Comment 6 Vlad Zahorodnii 2022-01-11 10:48:43 UTC
> shows that qmlscene uses the nvidia gpu in my wayland session
That's really strange. Both kwin and qt should use the same render device.

> pressing ALT-TAB twice before the switching app is loaded will crash kwin and switch off composer
Just to clarify, should alt-tab be pressed twice before the task switcher window is shown?
Comment 7 Lamarque V. Souza 2022-01-11 16:07:03 UTC
(In reply to Vlad Zahorodnii from comment #6)
> > shows that qmlscene uses the nvidia gpu in my wayland session
> That's really strange. Both kwin and qt should use the same render device.

I think that was because I was using nvidia-drivers-495.46 (this one uses gbm). I downgraded to nvidia-drivers-470.94, which seems a bit more stable and qmlscene shows it is using the Intel gpu.

> > pressing ALT-TAB twice before the switching app is loaded will crash kwin and switch off composer
> Just to clarify, should alt-tab be pressed twice before the task switcher
> window is shown?

I created this video to show that happens: https://photos.app.goo.gl/pEbGALMLLDkyZ7Zs9

Just one Alt+Tab is enough to crash kwin_wayland in my case. kwin_wayland restarts after the crash (ps shows there is a new kwin_wayland instance with different pid), but it get stuck somehow. The gray window that appears three times at the end of the video is me pressing Alt+Tab three times. It seems it tries to render the thumbnail switcher, kwin_wayland does not crash this time, but also does not render anything besides that window. I have to 'killall kwayland' to get a new login screen in sddm.
Comment 8 Lamarque V. Souza 2022-01-12 21:21:27 UTC
kwin_x11 also has this problem in my laptop when compositing is enabled. It was disabled when I first tested, so I could not reproduce the problem. So both kwin_x11 and kwin_wayland have this problem for me. The difference is that kwin_x11 does not crash, it just disables compositing when the problem happens ('qdbus org.kde.KWin /Compositor org.kde.kwin.Compositing.active' returns false). I have the re-enable compositing through systemsettings, using 'qdbus org.kde.KWin /Compositor org.kde.kwin.Compositing.resume' does not work.
Comment 9 matteomartelli3 2022-01-24 11:54:03 UTC
(In reply to hellmade from comment #5)
> got a work around:
> I went to: System Control / window behavior / App Switcher
> (sorry, just have the german version and hope my translations match)
> 
> In Display I deselected the switcher App or chagend it to big symbols and
> the crashing went away.
> I played a bit with this config and found out that the Breeze options do
> crash as well as preview images 
> The other options I tested work fine.

Same issue here and your work around works for me too.
To be more specific I can reproduce the issue with these visualization effects: Breeze, Grid, Thumbnail Grid, Thumbnails. With the other effects the Task Switcher works fine. What those effects have in common is that they display the content of the task window, so I guess the problem is there. Also, the issue can't be reproduced with the compositor disabled because in that case those visualization effects just display the task icon instead of the window content, as the other visualization effects do.
Comment 10 matteomartelli3 2022-01-24 12:00:59 UTC
(In reply to matteomartelli3 from comment #9)
> (In reply to hellmade from comment #5)
> > got a work around:
> > I went to: System Control / window behavior / App Switcher
> > (sorry, just have the german version and hope my translations match)
> > 
> > In Display I deselected the switcher App or chagend it to big symbols and
> > the crashing went away.
> > I played a bit with this config and found out that the Breeze options do
> > crash as well as preview images 
> > The other options I tested work fine.
> 
> Same issue here and your work around works for me too.
> To be more specific I can reproduce the issue with these visualization
> effects: Breeze, Grid, Thumbnail Grid, Thumbnails. With the other effects
> the Task Switcher works fine. What those effects have in common is that they
> display the content of the task window, so I guess the problem is there.
> Also, the issue can't be reproduced with the compositor disabled because in
> that case those visualization effects just display the task icon instead of
> the window content, as the other visualization effects do.

My system settings are:
Distro: Arch Linux
KDE Plasma Version: 5.23.5
KDE Frameworks Version: 5.90.0
Qt Version: 5.15.2
Kernel version: 5.16.1-arch-1 (64-bit)
Graphics: X11, NVIDIA GeForce GTX 1060 with drivers nvidia  495.46
Processors: Intel Core i7-6700K
Memory: 16GB of RAM
Comment 11 Vlad Zahorodnii 2022-02-11 08:29:35 UTC
*** Bug 445251 has been marked as a duplicate of this bug. ***
Comment 12 Fushan Wen 2022-09-22 04:33:34 UTC
Got a crash after trying to open Overview effect, but cannot reproduce again after kwin_x11 was restarted.

(gdb) bt
#0  __GI___pthread_sigmask (how=1, newmask=<optimized out>, oldmask=0x0) at pthread_sigmask.c:43
#1  0x00007fbaef5edb2d in __GI___sigprocmask (how=<optimized out>, set=<optimized out>, oset=<optimized out>) at ../sysdeps/unix/sysv/linux/sigprocmask.c:25
#2  0x00007fbaf2fe788b in KCrash::setCrashHandler(void (*)(int)) (handler=handler@entry=0x0) at /usr/src/debug/kcrash-5.99.0git.20220917T130720~d2f3085-ku.2.2.x86_64/src/kcrash.cpp:415
#3  0x00007fbaf2fe9da6 in KCrash::defaultCrashHandler(int) (sig=11) at /usr/src/debug/kcrash-5.99.0git.20220917T130720~d2f3085-ku.2.2.x86_64/src/kcrash.cpp:632
#4  0x00007fbaef5ed910 in <signal handler called> () at /lib64/libc.so.6
#5  QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::operator->() const (this=0x8) at /usr/include/qt5/QtCore/qscopedpointer.h:116
#6  qGetPtrHelper<QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> > >(QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >&) (ptr=...) at /usr/include/qt5/QtCore/qglobal.h:1143
#7  QSGTexture::d_func() (this=0x0) at /usr/src/debug/libqt5-qtdeclarative-5.15.5+kde19-ku.1.1.x86_64/src/quick/scenegraph/coreapi/qsgtexture.h:57
#8  QSGTexture::setFiltering(QSGTexture::Filtering) (this=0x0, filter=filter@entry=QSGTexture::Linear) at /usr/src/debug/libqt5-qtdeclarative-5.15.5+kde19-ku.1.1.x86_64/src/quick/scenegraph/coreapi/qsgtexture.cpp:576
#9  0x00007fbaf2bd4606 in KWin::ThumbnailTextureProvider::setTexture(std::shared_ptr<KWin::GLTexture> const&) (this=0x26f7560, nativeTexture=std::shared_ptr<KWin::GLTexture> (use count 2, weak count 0) = {...}) at /usr/include/c++/12/bits/unique_ptr.h:191
#10 0x00007fbaf2bd4d03 in KWin::WindowThumbnailItem::updatePaintNode(QSGNode*, QQuickItem::UpdatePaintNodeData*) (this=0x253ff60, oldNode=0x0) at /mnt/data/home/qydw/Develop/KDE/Plasma/kwin/src/scripting/windowthumbnailitem.cpp:227
#11 0x00007fbaf25887c8 in QQuickWindowPrivate::updateDirtyNode(QQuickItem*) (this=0x16f6270, item=0x253ff60) at /usr/src/debug/libqt5-qtdeclarative-5.15.5+kde19-ku.1.1.x86_64/src/quick/items/qquickwindow.cpp:3871
#12 0x00007fbaf2588dcb in QQuickWindowPrivate::updateDirtyNodes() (this=this@entry=0x16f6270) at /usr/src/debug/libqt5-qtdeclarative-5.15.5+kde19-ku.1.1.x86_64/src/quick/items/qquickwindow.cpp:3616
#13 0x00007fbaf258a93d in QQuickWindowPrivate::syncSceneGraph() (this=0x16f6270) at /usr/src/debug/libqt5-qtdeclarative-5.15.5+kde19-ku.1.1.x86_64/src/quick/items/qquickwindow.cpp:523
#14 0x00007fbaf2615b49 in QQuickRenderControl::sync() (this=<optimized out>) at /usr/src/debug/libqt5-qtdeclarative-5.15.5+kde19-ku.1.1.x86_64/src/quick/items/qquickrendercontrol.cpp:297
#15 0x00007fbaf0781806 in KWin::OffscreenQuickView::update() (this=0x7fba941040f0) at /mnt/data/home/qydw/Develop/KDE/Plasma/kwin/src/libkwineffects/kwinoffscreenquickview.cpp:296
#16 KWin::OffscreenQuickView::update() (this=this@entry=0x7fba941040f0) at /mnt/data/home/qydw/Develop/KDE/Plasma/kwin/src/libkwineffects/kwinoffscreenquickview.cpp:261
#17 0x00007fbaf0783e00 in KWin::QuickSceneEffect::prePaintScreen(KWin::ScreenPrePaintData&, std::chrono::duration<long, std::ratio<1l, 1000l> >) (this=<optimized out>, data=<optimized out>, presentTime=...) at /mnt/data/home/qydw/Develop/KDE/Plasma/kwin/src/libkwineffects/kwinquickeffect.cpp:313
#18 0x00007fbaf2b2b561 in KWin::EffectsHandlerImpl::prePaintScreen(KWin::ScreenPrePaintData&, std::chrono::duration<long, std::ratio<1l, 1000l> >) (this=0x13fbec0, data=<optimized out>, presentTime=...) at /mnt/data/home/qydw/Develop/KDE/Plasma/kwin/src/effects.cpp:388
#19 0x00007fbaf2ba7d01 in KWin::Scene::prePaint(KWin::Output*) (this=0x13a33d0, output=<optimized out>) at /mnt/data/home/qydw/Develop/KDE/Plasma/kwin/src/scene.cpp:291
#20 0x00007fbaf2aea53f in KWin::Compositor::prePaintPass(KWin::RenderLayer*) (this=this@entry=0x1051860, layer=layer@entry=0x13ea160) at /mnt/data/home/qydw/Develop/KDE/Plasma/kwin/src/composite.cpp:682
#21 0x00007fbaf2aed88f in KWin::Compositor::composite(KWin::RenderLoop*) (this=0x1051860, renderLoop=0xfe2390) at /mnt/data/home/qydw/Develop/KDE/Plasma/kwin/src/composite.cpp:626
#22 0x00007fbaf2aee1ab in KWin::X11Compositor::composite(KWin::RenderLoop*) (this=0x1051860, renderLoop=0xfe2390) at /mnt/data/home/qydw/Develop/KDE/Plasma/kwin/src/composite.cpp:906
#23 0x00007fbaf123ce6f in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffe39135ac0, r=0x1051860, this=0x105cb90) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#24 doActivate<false>(QObject*, int, void**) (sender=0xfe2390, signal_index=5, argv=0x7ffe39135ac0) at kernel/qobject.cpp:3886
#25 0x00007fbaf123622f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=<optimized out>, m=m@entry=0x7fbaf2ee9440 <KWin::RenderLoop::staticMetaObject>, local_signal_index=local_signal_index@entry=2, argv=argv@entry=0x7ffe39135ac0) at kernel/qobject.cpp:3946
#26 0x00007fbaf2aa9952 in KWin::RenderLoop::frameRequested(KWin::RenderLoop*) (this=<optimized out>, _t1=<optimized out>) at /mnt/data/home/qydw/Develop/KDE/Plasma/kwin/build/src/kwin_autogen/TAC5DWH4SE/moc_renderloop.cpp:206
#27 0x00007fbaf2af5603 in KWin::RenderLoopPrivate::dispatch() (this=0xfe13b0) at /mnt/data/home/qydw/Develop/KDE/Plasma/kwin/src/core/renderloop.cpp:151
#28 0x00007fbaf123ce6f in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffe39135bc0, r=0xfe2390, this=0xfe2470) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#29 doActivate<false>(QObject*, int, void**) (sender=0xfe13c8, signal_index=3, argv=0x7ffe39135bc0) at kernel/qobject.cpp:3886
#30 0x00007fbaf123622f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=<optimized out>, m=m@entry=0x7fbaf14dd9a0 <QTimer::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffe39135bc0) at kernel/qobject.cpp:3946
#31 0x00007fbaf1240aca in QTimer::timeout(QTimer::QPrivateSignal) (this=<optimized out>, _t1=...) at .moc/moc_qtimer.cpp:205
#32 0x00007fbaf123157d in QObject::event(QEvent*) (this=0xfe13c8, e=0x7ffe39135d10) at kernel/qobject.cpp:1336
#33 0x00007fbaefe0d41e in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0xfe13c8, e=0x7ffe39135d10) at kernel/qapplication.cpp:3637
#34 0x00007fbaf1205fb8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0xfe13c8, event=0x7ffe39135d10) at kernel/qcoreapplication.cpp:1064
#35 0x00007fbaf125c851 in QTimerInfoList::activateTimers() (this=this@entry=0xd0f098) at kernel/qtimerinfo_unix.cpp:643
#36 0x00007fbaf125a08c in QEventDispatcherUNIXPrivate::activateTimers() (this=this@entry=0xd0f010) at kernel/qeventdispatcher_unix.cpp:249
#37 0x00007fbaf125ae30 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0xdd3ff0, flags=...) at kernel/qeventdispatcher_unix.cpp:516
#38 0x00007fbaeb83bbae in QXcbUnixEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0xdd3ff0, flags=...) at qxcbeventdispatcher.cpp:60
#39 0x00007fbaf1204a2b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffe39135eb0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#40 0x00007fbaf120cb96 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#41 0x00007fbaf1659e0c in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1867
#42 0x00007fbaefe0d395 in QApplication::exec() () at kernel/qapplication.cpp:2829
#43 0x000000000043a1ed in main(int, char**) (argc=<optimized out>, argv=0x7ffe39136198) at /mnt/data/home/qydw/Develop/KDE/Plasma/kwin/src/main_x11.cpp:409
Comment 13 Nicolas Fella 2022-09-28 19:28:24 UTC
*** Bug 459799 has been marked as a duplicate of this bug. ***
Comment 14 MichaƂ 2022-09-28 19:38:42 UTC
I can confirm, that disabling Breeze effect during switching windows with alt-tab solves the issue.
Comment 15 David Edmundson 2022-10-07 09:56:15 UTC
This should be fixed in 5.26.0
Comment 16 Nicolas Fella 2022-10-15 13:13:19 UTC
*** Bug 460455 has been marked as a duplicate of this bug. ***
Comment 17 Nicolas Fella 2022-10-15 13:14:23 UTC
(In reply to David Edmundson from comment #15)
> This should be fixed in 5.26.0

https://bugs.kde.org/show_bug.cgi?id=460455 suggests otherwise
Comment 18 Andres 2022-10-18 22:22:26 UTC
fixed in 5.26.1
Comment 19 Andres 2022-10-19 20:15:21 UTC
(In reply to andresdortiz from comment #18)
> fixed in 5.26.1

NVM started happening again randomly
Comment 20 Andres 2022-10-19 23:02:48 UTC
(In reply to andresdortiz from comment #19)
> (In reply to andresdortiz from comment #18)
> > fixed in 5.26.1
> 
> NVM started happening again randomly

so it seems to happen randomly, with some boots working while others don't something I noticed is when it's not working, I get a  tray icon that says, "Software rendering in use, rendering may be degraded."
Comment 21 Nicolas Fella 2022-10-28 11:11:06 UTC
*** Bug 461107 has been marked as a duplicate of this bug. ***
Comment 22 Andres 2022-10-29 00:44:41 UTC
Tested for a week without https://github.com/catsout/wallpaper-engine-kde-plugin, and I think I found the culprit.


It seems the issue is that catsout wallpaper engine plugin randomly crashes when plasma locks the session and when unlocked it loads in a broken state without hardware rendering (as denoted by the tray icon saying software rendering is being used and performance may be degraded) this in turn causes the task switcher to crash. 

To fix I need to remove the wallpaper source form `~/.config/plasma-org.kde.plasma.desktop-appletsrc` and then click on the tray icon that mentions software rendering and set it to hardware. The next time I start KDE, all is well, and I can set up wallper-engine again though it will cause the same breakage randomly when kde locks the session.


Reported the issue here https://github.com/catsout/wallpaper-engine-kde-plugin
Comment 23 Andres 2022-10-29 00:45:42 UTC
sorry here is the link to the bug report https://github.com/catsout/wallpaper-engine-kde-plugin/issues/244