Created attachment 113362 [details] Link to video showing the issue. Hello, After upgrading to Plasma 5.13 via the "Extra" repo of ArchLinux, some sections of System Settings have become very slow for me, consuming 100% of one CPU core and a relatively high amount of RAM ~ more than the very own plasmashell process. I am pretty sure this didn't happen before the update (5.12.5). I'm enclosing a link to a video that shows the issue. In it, I try to open many sections of System Settings. Some open immediately (e.g. Display and Monitor, Fonts), others don't (e.g. Workspace Theme) because they have the issue I am talking about. The issue was reproduced in the following conditions: * Fresh start. * X session. * Compositor disabled. I am aware that this might be a rare issue. Otherwise, I would expect the bug list to be filled with reports like this one. Therefore, please tell me what I can do to provide any additional information you need. Thanks.
Oh, I forgot to say my computer has an Intel Atom N455 @1.66 GHz processor, with Intel GMA 3150 GPU, OpenGL 2.1 enabled thorugh driconf (default is 1.4, see https://wiki.archlinux.org/index.php/intel_graphics#OpenGL_2.1_with_i915_driver).
After some more testing, I have only experienced this issue in these three sections: * Workspace Theme * Icons * Regional Settings (way less than the other two, however) And please note that the '100% CPU usage' I am talking about does not include access to the hard drive (this is well shown in the video).
I have to add that Right Click on Desktop > 'Configure Desktop' has this issue as well, with the difference that it's the plasmashell process that takes 100% of CPU and freezes. I made a backtrace of /usr/bin/systemsettings5 while it's frozen. It looks like a graphics-related issue. I tried to reproduce the issue in another computer with integrated graphics Intel HD Graphics 4000 (i965 driver), but I couldn't. It works well there. > #0 0x00007fffd8a97677 in ?? () from /usr/lib/dri/i915_dri.so > #1 0x00007fffd8a98041 in ?? () from /usr/lib/dri/i915_dri.so > #2 0x00007fffd8a3a18e in ?? () from /usr/lib/dri/i915_dri.so > #3 0x00007fffd8a3fa4b in ?? () from /usr/lib/dri/i915_dri.so > #4 0x00007fffd8a531fd in ?? () from /usr/lib/dri/i915_dri.so > #5 0x00007fffd8a22975 in ?? () from /usr/lib/dri/i915_dri.so > #6 0x00007fffd8a23318 in ?? () from /usr/lib/dri/i915_dri.so > #7 0x00007fffd8a17f1a in ?? () from /usr/lib/dri/i915_dri.so > #8 0x00007fffd877811e in ?? () from /usr/lib/dri/i915_dri.so > #9 0x00007fffd8a17507 in ?? () from /usr/lib/dri/i915_dri.so > #10 0x00007fffd8a17c89 in ?? () from /usr/lib/dri/i915_dri.so > #11 0x00007fffd8b0e609 in ?? () from /usr/lib/dri/i915_dri.so > #12 0x00007fffd8b0efef in ?? () from /usr/lib/dri/i915_dri.so > #13 0x00007ffff1e921d7 in QSGBatchRenderer::Renderer::renderUnmergedBatch(QSGBatchRenderer::Batch const*) () from /usr/lib/libQt5Quick.so.5 > #14 0x00007ffff1e928dc in QSGBatchRenderer::Renderer::renderBatches() () from /usr/lib/libQt5Quick.so.5 > #15 0x00007ffff1e98103 in QSGBatchRenderer::Renderer::render() () from /usr/lib/libQt5Quick.so.5 > #16 0x00007ffff1e884ee in QSGRenderer::renderScene(QSGBindable const&) () from /usr/lib/libQt5Quick.so.5 > #17 0x00007ffff1ec99fb in QSGDefaultLayer::grab() () from /usr/lib/libQt5Quick.so.5 > #18 0x00007ffff1ec9fee in QSGDefaultLayer::updateTexture() () from /usr/lib/libQt5Quick.so.5 > #19 0x00007ffff203ec77 in QQuickOpenGLShaderEffectMaterial::updateTextures() const () from /usr/lib/libQt5Quick.so.5 > #20 0x00007ffff1e88e02 in QSGRenderer::preprocess() () from /usr/lib/libQt5Quick.so.5 > #21 0x00007ffff1e884b9 in QSGRenderer::renderScene(QSGBindable const&) () from /usr/lib/libQt5Quick.so.5 > #22 0x00007ffff1e88990 in QSGRenderer::renderScene(unsigned int) () from /usr/lib/libQt5Quick.so.5 > #23 0x00007ffff1ec3030 in QSGDefaultRenderContext::renderNextFrame(QSGRenderer*, unsigned int) () from /usr/lib/libQt5Quick.so.5 > #24 0x00007ffff1f26db5 in QQuickWindowPrivate::renderSceneGraph(QSize const&) () from /usr/lib/libQt5Quick.so.5 > #25 0x00007ffff1fe7e8a in QQuickRenderControl::render() () from /usr/lib/libQt5Quick.so.5 > #26 0x00007ffff23b1397 in ?? () from /usr/lib/libQt5QuickWidgets.so.5 > #27 0x00007ffff23b435e in QQuickWidget::resizeEvent(QResizeEvent*) () from /usr/lib/libQt5QuickWidgets.so.5 > #28 0x00007ffff4ed5cce in QWidget::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5 > #29 0x00007ffff23b5256 in QQuickWidget::event(QEvent*) () from /usr/lib/libQt5QuickWidgets.so.5 > #30 0x00007ffff4e95a74 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5 > #31 0x00007ffff4e9d341 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5 > #32 0x00007ffff3e91cb9 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5 > #33 0x00007ffff4ecda55 in QWidgetPrivate::sendPendingMoveAndResizeEvents(bool, bool) () from /usr/lib/libQt5Widgets.so.5 > #34 0x00007ffff4ed1af4 in QWidgetPrivate::show_helper() () from /usr/lib/libQt5Widgets.so.5 > #35 0x00007ffff4ed4e35 in QWidget::setVisible(bool) () from /usr/lib/libQt5Widgets.so.5 > #36 0x00007ffff4ed1aa9 in QWidgetPrivate::showChildren(bool) () from /usr/lib/libQt5Widgets.so.5 > #37 0x00007ffff4ed1b12 in QWidgetPrivate::show_helper() () from /usr/lib/libQt5Widgets.so.5 > #38 0x00007ffff4ed4e35 in QWidget::setVisible(bool) () from /usr/lib/libQt5Widgets.so.5 > #39 0x00007ffff4ed4242 in ?? () from /usr/lib/libQt5Widgets.so.5 > ---Type <return> to continue, or q <return> to quit--- > #40 0x00007ffff3ebc3d2 in QObject::event(QEvent*) () from /usr/lib/libQt5Core.so.5 > #41 0x00007ffff4ed576c in QWidget::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5 > #42 0x00007ffff4e95a74 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5 > #43 0x00007ffff4e9d341 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5 > #44 0x00007ffff3e91cb9 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5 > #45 0x00007ffff3e94d4c in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQt5Core.so.5 > #46 0x00007ffff3ee5a54 in ?? () from /usr/lib/libQt5Core.so.5 > #47 0x00007fffec84e368 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 > #48 0x00007fffec84e5b1 in ?? () from /usr/lib/libglib-2.0.so.0 > #49 0x00007fffec84e63e in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 > #50 0x00007ffff3ee5039 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5 > #51 0x00007fffe6e5c722 in ?? () from /usr/lib/libQt5XcbQpa.so.5 > #52 0x00007ffff3e9094c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5 > #53 0x00007ffff3e98c46 in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5 > #54 0x000055555555ee5f in ?? () > #55 0x00007ffff34fe06b in __libc_start_main () from /usr/lib/libc.so.6 > #56 0x000055555555eeea in _start ()
Enabling compositing (Shift-Alt-F12) in either OpenGL 2.0 or 3.1 doesn't solve the issue. This is part of the output of glxinfo: > direct rendering: Yes > server glx vendor string: SGI > server glx version string: 1.4 > server glx extensions: > > client glx vendor string: Mesa Project and SGI > client glx version string: 1.4 > client glx extensions: > GLX version: 1.4 > Extended renderer info (GLX_MESA_query_renderer): > Vendor: Intel Open Source Technology Center (0x8086) > Device: Mesa DRI Intel(R) Pineview M (0xa011) > Version: 18.1.1 > Accelerated: yes > Video memory: 384MB > Unified memory: yes > Preferred profile: compat (0x2) > Max core profile version: 0.0 > Max compat profile version: 1.4 > Max GLES1 profile version: 1.1 > Max GLES[23] profile version: 2.0 > > OpenGL vendor string: Intel Open Source Technology Center > OpenGL renderer string: Mesa DRI Intel(R) Pineview M > OpenGL version string: 2.1 Mesa 18.1.1 > OpenGL shading language version string: 1.20 > > OpenGL ES profile version string: OpenGL ES 2.0 Mesa 18.1.1 > OpenGL ES profile shading language version string: OpenGL ES GLSL ES 1.0.16
Obtained a new backtrace with mesa debug symbols. I see mentions to 'swrast' so that's probably the cause of the slowness. If you believe this has nothing to do with you, then I shall file a mesa bug report... > #0 0x00007fffd86e950a in get_src_register_pointer (machine=machine@entry=0x555557059b40, source=0x55555936c45c, source@entry=0x7fffffffb3cc) > at program/prog_execute.c:95 > #1 fetch_vector4 (source=source@entry=0x55555936c45c, machine=machine@entry=0x555557059b40, result=result@entry=0x7fffffffb3c0) at program/prog_execute.c:190 > #2 0x00007fffd86e9f42 in _mesa_execute_program (ctx=ctx@entry=0x55555748af70, program=program@entry=0x555559374ea0, machine=machine@entry=0x555557059b40) > at program/prog_execute.c:798 > #3 0x00007fffd86a514e in run_program (start=0, end=<optimized out>, span=0x7fffffffc290, ctx=0x55555748af70) at swrast/s_fragprog.c:215 > #4 _swrast_exec_fragment_program (ctx=0x55555748af70, span=0x7fffffffc290) at swrast/s_fragprog.c:272 > #5 0x00007fffd86ab8bb in _swrast_write_rgba_span (ctx=ctx@entry=0x55555748af70, span=span@entry=0x7fffffffc290) at swrast/s_span.c:1265 > #6 0x00007fffd86bf06d in general_triangle (ctx=0x55555748af70, v0=<optimized out>, v1=<optimized out>, v2=0x5555586be998) at swrast/s_tritemp.h:824 > #7 0x00007fffd8685865 in _tnl_render_tri_strip_elts (ctx=0x55555748af70, start=<optimized out>, count=6, flags=<optimized out>) at tnl/t_vb_rendertmp.h:234 > #8 0x00007fffd8686208 in run_render (ctx=0x55555748af70, stage=<optimized out>) at tnl/t_vb_render.c:323 > #9 0x00007fffd867ae0a in _tnl_run_pipeline (ctx=ctx@entry=0x55555748af70) at tnl/t_pipeline.c:241 > #10 0x00007fffd88cfdbe in intelRunPipeline (ctx=0x55555748af70) at intel_tris.c:1087 > #11 0x00007fffd867a297 in _tnl_draw_prims (ctx=ctx@entry=0x55555748af70, arrays=arrays@entry=0x55555708e298, prim=prim@entry=0x7fffffffd2d0, > nr_prims=nr_prims@entry=1, ib=ib@entry=0x7fffffffd2b0, index_bounds_valid=index_bounds_valid@entry=0 '\000', min_index=<optimized out>, > max_index=<optimized out>, tfb_vertcount=0x0, stream=0, indirect=0x0) at tnl/t_draw.c:529 > #12 0x00007fffd867ab9d in _tnl_draw (ctx=0x55555748af70, prim=0x7fffffffd2d0, nr_prims=1, ib=0x7fffffffd2b0, index_bounds_valid=<optimized out>, min_index=0, > max_index=4294967295, tfb_vertcount=0x0, stream=0, indirect=0x0) at tnl/t_draw.c:648 > #13 0x00007fffd86608c9 in vbo_validated_drawrangeelements (ctx=<optimized out>, mode=<optimized out>, index_bounds_valid=<optimized out>, start=0, > end=<optimized out>, count=<optimized out>, type=5123, indices=0x40, basevertex=0, numInstances=1, baseInstance=0) at vbo/vbo_exec_array.c:842 > #14 0x00007fffd866121c in vbo_exec_DrawElements (mode=5, count=6, type=5123, indices=0x40) at vbo/vbo_exec_array.c:1000 > #15 0x00007ffff1e921d7 in QSGBatchRenderer::Renderer::renderUnmergedBatch(QSGBatchRenderer::Batch const*) () from /usr/lib/libQt5Quick.so.5 > #16 0x00007ffff1e92976 in QSGBatchRenderer::Renderer::renderBatches() () from /usr/lib/libQt5Quick.so.5 > #17 0x00007ffff1e98103 in QSGBatchRenderer::Renderer::render() () from /usr/lib/libQt5Quick.so.5 > #18 0x00007ffff1e884ee in QSGRenderer::renderScene(QSGBindable const&) () from /usr/lib/libQt5Quick.so.5 > #19 0x00007ffff1e88990 in QSGRenderer::renderScene(unsigned int) () from /usr/lib/libQt5Quick.so.5 > #20 0x00007ffff1ec3030 in QSGDefaultRenderContext::renderNextFrame(QSGRenderer*, unsigned int) () from /usr/lib/libQt5Quick.so.5 > #21 0x00007ffff1f26db5 in QQuickWindowPrivate::renderSceneGraph(QSize const&) () from /usr/lib/libQt5Quick.so.5 > #22 0x00007ffff1fe7e8a in QQuickRenderControl::render() () from /usr/lib/libQt5Quick.so.5 > #23 0x00007ffff23b1397 in ?? () from /usr/lib/libQt5QuickWidgets.so.5 > #24 0x00007ffff23b2a87 in QQuickWidget::showEvent(QShowEvent*) () from /usr/lib/libQt5QuickWidgets.so.5 > #25 0x00007ffff4ed52b8 in QWidget::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5 > #26 0x00007ffff23b5256 in QQuickWidget::event(QEvent*) () from /usr/lib/libQt5QuickWidgets.so.5 > #27 0x00007ffff4e95a74 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5 > #28 0x00007ffff4e9d341 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5 > #29 0x00007ffff3e91cb9 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5 > #30 0x00007ffff4ed1b3d in QWidgetPrivate::show_helper() () from /usr/lib/libQt5Widgets.so.5 > #31 0x00007ffff4ed4e35 in QWidget::setVisible(bool) () from /usr/lib/libQt5Widgets.so.5 > #32 0x00007ffff4ed1aa9 in QWidgetPrivate::showChildren(bool) () from /usr/lib/libQt5Widgets.so.5 > #33 0x00007ffff4ed1b12 in QWidgetPrivate::show_helper() () from /usr/lib/libQt5Widgets.so.5 > #34 0x00007ffff4ed4e35 in QWidget::setVisible(bool) () from /usr/lib/libQt5Widgets.so.5 > #35 0x00007ffff4ed4242 in ?? () from /usr/lib/libQt5Widgets.so.5 > #36 0x00007ffff3ebc3d2 in QObject::event(QEvent*) () from /usr/lib/libQt5Core.so.5 > #37 0x00007ffff4ed576c in QWidget::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5 > #38 0x00007ffff4e95a74 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5 > #39 0x00007ffff4e9d341 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5 > #40 0x00007ffff3e91cb9 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5 > #41 0x00007ffff3e94d4c in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQt5Core.so.5 > #42 0x00007ffff3ee5a54 in ?? () from /usr/lib/libQt5Core.so.5 > #43 0x00007fffec84e368 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 > #44 0x00007fffec84e5b1 in ?? () from /usr/lib/libglib-2.0.so.0 > #45 0x00007fffec84e63e in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 > #46 0x00007ffff3ee5039 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5 > #47 0x00007fffe6e5c722 in ?? () from /usr/lib/libQt5XcbQpa.so.5 > #48 0x00007ffff3e9094c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5 > #49 0x00007ffff3e98c46 in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5 > #50 0x000055555555ee5f in ?? () > #51 0x00007ffff34fe06b in __libc_start_main () from /usr/lib/libc.so.6 > #52 0x000055555555eeea in _start ()
You are right, the issue is in the Mesa drivers. Before reporting, I would try to find out why your system does not use hardware OpenGL. I suggest to ask for help in a forum of your distribution how to setup the video drivers.
Alright. Thank you very much.