Created attachment 142728 [details] Log output after a crash SUMMARY Since upgrading to plasma 5.23.1, kwin_wayland sometimes segfaults when switching activities. It is not consistent, but it only seems to happen when it's been at least more than a couple minutes since kwin started or I switched activity last. I can't trigger the crash just by switching a lot. STEPS TO REPRODUCE 1. Have multiple activities set up 2. Switch activity using any method OBSERVED RESULT kwin_wayland crashes and restarts the session. EXPECTED RESULT No crash SOFTWARE/OS VERSIONS Windows: macOS: Linux/KDE Plasma: Arch Linux (kernel 5.14.14-arch1-1) (available in About System) KDE Plasma Version: 5.23.1 KDE Frameworks Version: 5.87.0 Qt Version: 5.15.2 ADDITIONAL INFORMATION This started after updating to 5.23.1. I'm not sure if 5.23.0 has the same problem as I was only using that version for a very short time. The last version that didn't crash was 5.22.5. I've attached the log output from journalctl after a crash.
Sadly the journalctl log isn't very useful coir crashes; can you please attach a backtrace? See https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports
Here is a backtrace I found. (gdb) bt #0 0x00007fbe8ab7d808 in __memmove_avx_unaligned_erms () at /usr/lib/libc.so.6 #1 0x00007fbe7e526d13 in std::__copy_move<false, true, std::random_access_iterator_tag>::__copy_m<unsigned int>(unsigned int const*, unsigned int const*, unsigned int*) (__result=0x55b9dfc5dad8, __last=0x55b9dfc5daec, __first=0x55b9dfc5daf0) at /usr/include/c++/11.1.0/bits/stl_algobase.h:431 #2 std::__copy_move_a2<false, unsigned int const*, unsigned int*>(unsigned int const*, unsigned int const*, unsigned int*) (__result=0x55b9dfc5dad8, __last=0x55b9dfc5daec, __first=0x55b9dfc5daf0) at /usr/include/c++/11.1.0/bits/stl_algobase.h:495 #3 std::__copy_move_a1<false, unsigned int const*, unsigned int*>(unsigned int const*, unsigned int const*, unsigned int*) (__result=0x55b9dfc5dad8, __last=0x55b9dfc5daec, __first=0x55b9dfc5daf0) at /usr/include/c++/11.1.0/bits/stl_algobase.h:522 #4 std::__copy_move_a<false, unsigned int const*, unsigned int*>(unsigned int const*, unsigned int const*, unsigned int*) (__result=0x55b9dfc5dad8, __last=0x55b9dfc5daec, __first=0x55b9dfc5daf0) at /usr/include/c++/11.1.0/bits/stl_algobase.h:529 #5 std::copy<unsigned int const*, unsigned int*>(unsigned int const*, unsigned int const*, unsigned int*) (__result=0x55b9dfc5dad8, __last=0x55b9dfc5daec, __first=0x55b9dfc5daf0) at /usr/include/c++/11.1.0/bits/stl_algobase.h:620 #6 KWin::clamp_row(int, int, int, uint32_t const*, uint32_t*) (left=left@entry=2, width=width@entry=-1, right=right@entry=2, src=src@entry=0x55b9dfc5daf0, dest=0x55b9dfc5dad0) at /usr/src/debug/kwin-5.23.1/src/plugins/scenes/opengl/scene_opengl.cpp:1821 #7 0x00007fbe7e530bc3 in KWin::clamp (viewport=<optimized out>, image=...) at /usr/src/debug/kwin-5.23.1/src/plugins/scenes/opengl/scene_opengl.cpp:1850 #8 operator()(QRect const&, QRect const&, QPoint const&, bool) const (__closure=0x7ffe0d76c628, geo=..., partRect=..., position=..., rotated=<optimized out>) at /usr/src/debug/kwin-5.23.1/src/plugins/scenes/opengl/scene_opengl.cpp:1922 #9 0x00007fbe7e5312a5 in KWin::SceneOpenGLDecorationRenderer::render(QRegion const&) (this=0x7ffe0d76c6a0, region=...) at /usr/src/debug/kwin-5.23.1/src/plugins/scenes/opengl/scene_opengl.cpp:1942 #10 0x00007fbe8cb4accd in KWin::DecorationItem::preprocess() (this=0x55b9dfc7edb0) at /usr/src/debug/kwin-5.23.1/src/decorationitem.cpp:132 #11 0x00007fbe7e52b45b in KWin::OpenGLWindow::createRenderNode(KWin::Item*, KWin::OpenGLWindow::RenderContext*) (this=0x55b9dfeee0b0, item=0x55b9dfc7edb0, context=0x7ffe0d76cc60) at /usr/src/debug/kwin-5.23.1/src/plugins/scenes/opengl/scene_opengl.cpp:908 #12 0x00007fbe7e52b788 in KWin::OpenGLWindow::createRenderNode(KWin::Item*, KWin::OpenGLWindow::RenderContext*) --Type <RET> for more, q to quit, c to continue without paging-- (this=0x55b9dfeee0b0, item=<optimized out>, context=0x7ffe0d76cc60) at /usr/src/debug/kwin-5.23.1/src/plugins/scenes/opengl/scene_opengl.cpp:959 #13 0x00007fbe7e52bf8f in KWin::OpenGLWindow::performPaint(int, QRegion const&, KWin::WindowPaintData const&) (this=0x55b9dfeee0b0, mask=9, region=..., data=...) at /usr/src/debug/kwin-5.23.1/src/plugins/scenes/opengl/scene_opengl.cpp:1033 #14 0x00007fbe8c99331e in KWin::ContrastEffect::drawWindow(KWin::EffectWindow*, int, QRegion const&, KWin::WindowPaintData&) (this=0x55b9dfb710b0, w=<optimized out>, mask=9, region=..., data=...) at /usr/src/debug/kwin-5.23.1/src/effects/backgroundcontrast/contrast.cpp:457 #15 0x00007fbe8cb641fc in KWin::EffectsHandlerImpl::drawWindow(KWin::EffectWindow*, int, QRegion const&, KWin::WindowPaintData&) (this=0x55b9dfa30d10, w=<optimized out>, mask=<optimized out>, region=<optimized out>, data=<optimized out>) at /usr/src/debug/kwin-5.23.1/src/effects.cpp:469 #16 0x00007fbe8c90f7fe in KWin::BlurEffect::drawWindow(KWin::EffectWindow*, int, QRegion const&, KWin::WindowPaintData&) (this=0x55b9e02a8c40, w=<optimized out>, mask=9, region=..., data=...) at /usr/src/debug/kwin-5.23.1/src/effects/blur/blur.cpp:595 #17 0x00007fbe8cb641fc in KWin::EffectsHandlerImpl::drawWindow(KWin::EffectWindow*, int, QRegion const&, KWin::WindowPaintData&) (this=0x55b9dfa30d10, w=<optimized out>, mask=<optimized out>, region=<optimized out>, data=<optimized out>) at /usr/src/debug/kwin-5.23.1/src/effects.cpp:469 #18 0x00007fbe8cb64039 in KWin::EffectsHandlerImpl::paintWindow(KWin::EffectWindow*, int, QRegion const&, KWin::WindowPaintData&) (this=0x55b9dfa30d10, w=0x55b9dfeb1930, mask=9, region=<optimized out>, data=...) at /usr/src/debug/kwin-5.23.1/src/effects.cpp:432 #19 0x00007fbe8cb64039 in KWin::EffectsHandlerImpl::paintWindow(KWin::EffectWindow*, int, QRegion const&, KWin::WindowPaintData&) (this=0x55b9dfa30d10, w=0x55b9dfeb1930, mask=9, region=<optimized out>, data=...) at /usr/src/debug/kwin-5.23.1/src/effects.cpp:432 #20 0x00007fbe8cbf41ad in KWin::Scene::paintWindow(KWin::Scene::Window*, int, QRegion const&) (this=<optimized out>, w=0x55b9dfeee0b0, mask=9, _region=<optimized out>) at /usr/src/debug/kwin-5.23.1/src/scene.cpp:517 #21 0x00007fbe8cbf1c37 in KWin::Scene::paintSimpleScreen(int, QRegion const&) (this=<optimized out>, orig_mask=8, region=...) at /usr/src/debug/kwin-5.23.1/src/scene.cpp:441 #22 0x00007fbe8cb63dc9 in KWin::EffectsHandlerImpl::paintScreen(int, QRegion const&, KWin::ScreenPaintData&) (this=0x55b9dfa30d10, mask=<optimized out>, region=<optimized out>, data=<optimized out>) at /usr/src/debug/kwin-5.23.1/src/effects.cpp:389 #23 0x00007fbe8cb63dc9 in KWin::EffectsHandlerImpl::paintScreen(int, QRegion const&, KWin::ScreenPaintData&) (this=0x55b9dfa30d10, mask=<optimized out>, region=<optimized out>, data=<optimized out>) --Type <RET> for more, q to quit, c to continue without paging-- at /usr/src/debug/kwin-5.23.1/src/effects.cpp:389 #24 0x00007fbe8cbf3a94 in KWin::Scene::paintScreen(QRegion const&, QRegion const&, QRegion*, QRegion*, KWin::RenderLoop*, QMatrix4x4 const&) (this=this@entry=0x55b9df0bed20, damage=..., repaint=..., updateRegion=updateRegion@entry=0x7ffe0d76d4b0, validRegion=validRegion@entry=0x7ffe0d76d4b8, renderLoop=renderLoop@entry=0x55b9df910b90, projection=...) at /usr/src/debug/kwin-5.23.1/src/scene.cpp:217 #25 0x00007fbe7e52d6a2 in KWin::SceneOpenGL::paint(KWin::AbstractOutput*, QRegion const&, QList<KWin::Toplevel*> const&, KWin::RenderLoop*) (this=0x55b9df0bed20, output=0x55b9df9136e0, damage=..., toplevels=<optimized out>, renderLoop=0x55b9df910b90) at /usr/src/debug/kwin-5.23.1/src/plugins/scenes/opengl/scene_opengl.cpp:440 #26 0x00007fbe8cb28487 in KWin::Compositor::composite(KWin::RenderLoop*) (this=0x55b9df0e9ea0, renderLoop=0x55b9df910b90) at /usr/src/debug/kwin-5.23.1/src/composite.cpp:623 #27 0x00007fbe8b31b76b in () at /usr/lib/libQt5Core.so.5 #28 0x00007fbe8cad8717 in KWin::RenderLoop::frameRequested(KWin::RenderLoop*) (this=<optimized out>, _t1=<optimized out>) at /usr/src/debug/build/src/kwin_autogen/EWIEGA46WW/moc_renderloop.cpp:206 #29 0x00007fbe8cbe0e08 in KWin::RenderLoopPrivate::dispatch() (this=0x55b9df912700) at /usr/src/debug/kwin-5.23.1/src/renderloop.cpp:148 #30 0x00007fbe8b31b76b in () at /usr/lib/libQt5Core.so.5 #31 0x00007fbe8b31f73b in QTimer::timeout(QTimer::QPrivateSignal) () at /usr/lib/libQt5Core.so.5 #32 0x00007fbe8b31142f in QObject::event(QEvent*) () at /usr/lib/libQt5Core.so.5 #33 0x00007fbe8bfc1d62 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5 #34 0x00007fbe8b2e43ba in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5 #35 0x00007fbe8b33c35d in QTimerInfoList::activateTimers() () at /usr/lib/libQt5Core.so.5 #36 0x00007fbe8b33a839 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5 #37 0x000055b9de020b6e in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () #38 0x00007fbe8b2e2d2c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5 #39 0x00007fbe8b2eb294 in QCoreApplication::exec() () at /usr/lib/libQt5Core.so.5 #40 0x000055b9ddfb8be4 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kwin-5.23.1/src/main_wayland.cpp:745 (gdb)
*** This bug has been marked as a duplicate of bug 441547 ***