| Summary: | kwin_wayland segfaults when switching activities | ||
|---|---|---|---|
| Product: | [Plasma] kwin | Reporter: | Berengal <sjurberengal+kde> |
| Component: | platform-wayland-nested | Assignee: | KWin default assignee <kwin-bugs-null> |
| Status: | RESOLVED DUPLICATE | ||
| Severity: | normal | CC: | nate |
| Priority: | NOR | ||
| Version First Reported In: | 5.23.1 | ||
| Target Milestone: | --- | ||
| Platform: | Arch Linux | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
| Attachments: | Log output 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 *** |
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.