Announcement

Collapse
No announcement yet.

debugging advice for infrequent hangs in kwin / plasmashell

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    debugging advice for infrequent hangs in kwin / plasmashell

    Roughly once a month during continuous use, my KDE desktop becomes unresponsive. I can still move the mouse and use the keyboard to access a tty, but none of the windows are responsive. Also, as I recall the panel clock stops ticking upward.

    I was just typing in a textbox when the error occurred; nothing unusual and nothing I can reproduce at the moment.

    This normally works from a tty:

    DISPLAY=:0 xdpyinfo

    but in this case it would just hang.

    This also hung:

    DISPLAY=:0 kwin --replace

    and showed an error:

    qt.qpa.screen: QXcbConnection: Could not connect to display :0
    Next tried this:

    DISPLAY=:0 kquitapp5 plasmashell && kstart5 plasmashell

    Got a different error after a timeout:

    "Quitting application plasmashell failed. Error reported was:\n\n org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bug security policy blocked the reply, the reply timeout expired, or the network connection was broken."
    There was nothing interesting in dmesg or journalctl output.

    Below, I'm including backtraces and strace logs I took from the tty.

    I also took backtraces from a tty when the shell was not hung. Plasmashell's backtrace was almost the same, but kwin's backtrace was markedly different. This may suggest that the bug is in kwin.

    I would appreciate information on anything further debugging to try if this bug re-occurs.

    Questions:

    - How can I tell if this is a bug in Kwin or a bug in Plasmashell?

    - What other debugging information should I gather when this re-occurs?

    - Should I file a bug report even if I can't reliably reproduce?

    Version information:

    strace for kwin:
    Code:
    [CONSOLE]
    strace: Process 17277 attached
       0.000000 restart_syscall(<... resuming interrupted restart_syscall ...>) = 1 <6.961568>
       6.961887 recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\17\0G4\257\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 256 <0.000062>
       0.000289 futex(0x55b7c6f84058, FUTEX_WAKE_PRIVATE, 1) = 1 <0.000059>
       0.000246 futex(0x55b7c6f84008, FUTEX_WAKE_PRIVATE, 1) = 1 <0.000078>
       0.000255 poll([{fd=3, events=POLLIN}], 1, -1) = 1 ([{fd=3, revents=POLLIN}]) <0.000042>
       0.000253 recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\f\0G4v\235p\1\0\0\0\0@\6\35\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 288 <0.000058>
       0.000324 futex(0x55b7c6f8405c, FUTEX_WAKE_PRIVATE, 1) = 1 <0.000056>
       0.000241 futex(0x55b7c6f84008, FUTEX_WAKE_PRIVATE, 1) = 1 <0.000072>
       0.000252 poll([{fd=3, events=POLLIN}], 1, -1) = 1 ([{fd=3, revents=POLLIN}]) <0.000043>
    <snip>
    [/CONSOLE]
    strace for plasmashell:
    Code:
    [CONSOLE]
    strace: Process 17281 attached
       0.000000 restart_syscall(<... resuming interrupted restart_syscall ...>) = 1 <1.903452>
       1.903651 recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\f\0A\254\31\0 \2\0\0\0\0@\6*\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 64 <0.000085>
       0.000281 futex(0x55ce34f5fe3c, FUTEX_WAKE_PRIVATE, 1) = 1 <0.000066>
       0.000167 poll([{fd=3, events=POLLIN}], 1, -1) = 1 ([{fd=3, revents=POLLIN}]) <0.002015>
       0.002158 recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\f\0A\254\16\0 \2\0\0\0\0@\6\204\3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32 <0.000045>
       0.000168 futex(0x55ce34f5fe38, FUTEX_WAKE_PRIVATE, 1) = 1 <0.000036>
       0.000152 poll([{fd=3, events=POLLIN}], 1, -1) = 1 ([{fd=3, revents=POLLIN}]) <0.015041>
    <snip>
    [/CONSOLE]
    Version information:
    Code:
    [CONSOLE]
    kwin-common:
    Installed: 4:5.12.9.1-0ubuntu0.1
    Candidate: 4:5.12.9.1-0ubuntu0.1
    Version table:
    *** 4:5.12.9.1-0ubuntu0.1 500
          500 http://us.archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages
          100 /var/lib/dpkg/status
       4:5.12.4-0ubuntu2 500
          500 http://us.archive.ubuntu.com/ubuntu bionic/universe amd64 Packages
    kwin-x11:
    Installed: 4:5.12.9.1-0ubuntu0.1
    Candidate: 4:5.12.9.1-0ubuntu0.1
    Version table:
    *** 4:5.12.9.1-0ubuntu0.1 500
          500 http://us.archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages
          100 /var/lib/dpkg/status
       4:5.12.4-0ubuntu2 500
          500 http://us.archive.ubuntu.com/ubuntu bionic/universe amd64 Packages
    plasma-workspace:
    Installed: 4:5.12.9-0ubuntu0.1
    Candidate: 4:5.12.9-0ubuntu0.1
    Version table:
    *** 4:5.12.9-0ubuntu0.1 500
          500 http://us.archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages
          100 /var/lib/dpkg/status
       4:5.12.4-0ubuntu3 500
          500 http://us.archive.ubuntu.com/ubuntu bionic/universe amd64 Packages
    libglx-mesa0:
    Installed: 19.2.8-0ubuntu0~18.04.3
    Candidate: 19.2.8-0ubuntu0~18.04.3
    Version table:
    *** 19.2.8-0ubuntu0~18.04.3 500
          500 http://us.archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages
          100 /var/lib/dpkg/status
       19.2.8-0ubuntu0~18.04.2 500
          500 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages
       18.0.0~rc5-1ubuntu1 500
          500 http://us.archive.ubuntu.com/ubuntu bionic/main amd64 Packages
    [/CONSOLE]
    [CONSOLE]
    #0  0x00007f44bb30bbf9 in __GI___poll (fds=fds@entry=0x7ffee94290b8, nfds=nfds@entry=1, timeout=timeout@entry=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
    #1  0x00007f44ba215747 in poll (__timeout=-1, __nfds=1, __fds=0x7ffee94290b8) at /usr/include/x86_64-linux-gnu/bits/poll2.h:46
    #2  0x00007f44ba215747 in _xcb_conn_wait (c=c@entry=0x55b7c6f83ff0, cond=cond@entry=0x7ffee94291d0, vector=vector@entry=0x0, count=count@entry=0x0) at ../../src/xcb_conn.c:479
    #3  0x00007f44ba21706f in wait_for_reply (c=c@entry=0x55b7c6f83ff0, request=request@entry=1039610951, e=e@entry=0x7ffee9429250) at ../../src/xcb_in.c:516
    #4  0x00007f44ba2172a8 in xcb_request_check (c=0x55b7c6f83ff0, cookie=cookie@entry=...) at ../../src/xcb_in.c:745
    #5  0x00007f44bae66c41 in KWin::WindowPixmap::create() (this=this@entry=0x55b7c7801540) at ./scene.cpp:1021
    #6  0x00007f448b1f7498 in KWin::XRenderWindowPixmap::create() (this=0x55b7c7801540) at ./plugins/scenes/xrender/scene_xrender.cpp:803
    #7  0x00007f448b1f3ef2 in KWin::Scene::Window::windowPixmap<KWin::XRenderWindowPixmap>() (this=0x55b7c8a09d90) at ./scene.h:626
    #8  0x00007f448b1f3ef2 in KWin::SceneXrender::Window::performPaint(int, QRegion, KWin::WindowPaintData) (this=this@entry=0x55b7c8a09d90, mask=mask@entry=9, region=..., data=<incomplete type>) at ./plugins/scenes/xrender/scene_xrender.cpp:429
    #9  0x00007f44bae6cd1d in KWin::Scene::finalDrawWindow(KWin::EffectWindowImpl*, int, QRegion, KWin::WindowPaintData&) (this=this@entry=0x55b7c6febd30, w=w@entry=0x55b7c7d3e870, mask=mask@entry=9, region=..., data=...) at ./scene.cpp:615
    #10 0x00007f44bae7a986 in KWin::EffectsHandlerImpl::drawWindow(KWin::EffectWindow*, int, QRegion, KWin::WindowPaintData&) (this=<optimized out>, w=0x55b7c7d3e870, mask=9, region=..., data=...) at ./effects.cpp:459
    #11 0x00007f44b7e81620 in KWin::Effect::drawWindow(KWin::EffectWindow*, int, QRegion, KWin::WindowPaintData&) () at /usr/lib/x86_64-linux-gnu/libkwineffects.so.11
    #12 0x00007f44bae7a91e in KWin::EffectsHandlerImpl::drawWindow(KWin::EffectWindow*, int, QRegion, KWin::WindowPaintData&) (this=this@entry=0x55b7c7249c20, w=w@entry=0x55b7c7d3e870, mask=mask@entry=9, region=..., data=...) at ./effects.cpp:456
    #13 0x00007f44bae66890 in KWin::Scene::finalPaintWindow(KWin::EffectWindowImpl*, int, QRegion, KWin::WindowPaintData&) (this=this@entry=0x55b7c6febd30, w=w@entry=0x55b7c7d3e870, mask=mask@entry=9, region=..., data=...) at ./scene.cpp:606
    #14 0x00007f44bae7a7ad in KWin::EffectsHandlerImpl::paintWindow(KWin::EffectWindow*, int, QRegion, KWin::WindowPaintData&) (this=<optimized out>, w=0x55b7c7d3e870, mask=9, region=..., data=...) at ./effects.cpp:422
    #15 0x00007f44b7e8db97 in KWin::AnimationEffect::paintWindow(KWin::EffectWindow*, int, QRegion, KWin::WindowPaintData&) () at /usr/lib/x86_64-linux-gnu/libkwineffects.so.11
    #16 0x00007f44bae7a74e in KWin::EffectsHandlerImpl::paintWindow(KWin::EffectWindow*, int, QRegion, KWin::WindowPaintData&) (this=this@entry=0x55b7c7249c20, w=0x55b7c7d3e870, mask=mask@entry=9, region=..., data=...) at ./effects.cpp:419
    #17 0x00007f44bae6cc02 in KWin::Scene::paintWindow(KWin::Scene::Window*, int, QRegion, KWin::WindowQuadList) (this=this@entry=0x55b7c6febd30, w=0x55b7c8a09d90, mask=9, region=..., quads=...) at ./scene.cpp:478
    #18 0x00007f44bae6b97c in KWin::Scene::paintSimpleScreen(int, QRegion) (this=this@entry=0x55b7c6febd30, orig_mask=orig_mask@entry=8, region=...) at ./scene.cpp:376
    #19 0x00007f44bae6c197 in KWin::Scene::finalPaintScreen(int, QRegion, KWin::ScreenPaintData&) (this=this@entry=0x55b7c6febd30, mask=mask@entry=8, region=..., data=...) at ./scene.cpp:201
    #20 0x00007f44bae7a505 in KWin::EffectsHandlerImpl::paintScreen(int, QRegion, KWin::ScreenPaintData&) (this=<optimized out>, mask=8, region=..., data=...) at ./effects.cpp:379
    #21 0x00007f44b7e81401 in KWin::Effect::paintScreen(int, QRegion, KWin::ScreenPaintData&) () at /usr/lib/x86_64-linux-gnu/libkwineffects.so.11
    #22 0x00007f44bae7a4ad in KWin::EffectsHandlerImpl::paintScreen(int, QRegion, KWin::ScreenPaintData&) (this=this@entry=0x55b7c7249c20, mask=8, region=..., data=...) at ./effects.cpp:376
    #23 0x00007f44bae6be8e in KWin::Scene::paintScreen(int*, QRegion const&, QRegion const&, QRegion*, QRegion*, QMatrix4x4 const&, QRect const&) (this=this@entry=0x55b7c6febd30, mask=mask@entry=0x7ffee9429ec4, damage=..., repaint=..., updateRegion=updateRegion@entry=0x7ffee9429ec8, validRegion=validRegion@entry=0x7ffee9429ed0, projection=..., outputGeometry=...) at ./scene.cpp:151
    #24 0x00007f448b1f0edf in KWin::SceneXrender::paint(QRegion, QList<KWin::Toplevel*>) (this=this@entry=0x55b7c6febd30, damage=..., toplevels=...) at ./plugins/scenes/xrender/scene_xrender.cpp:259
    #25 0x00007f44bae5e412 in KWin::Compositor::performCompositing() (this=0x55b7c701b630) at ./composite.cpp:747
    #26 0x00007f44b86e807b in QObject::event(QEvent*) (this=0x55b7c701b630, e=<optimized out>) at kernel/qobject.cpp:1269
    #27 0x00007f44b943683c in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x55b7c6f77c40, receiver=receiver@entry=0x55b7c701b630, e=e@entry=0x7ffee942a300) at kernel/qapplication.cpp:3722
    #28 0x00007f44b943e104 in QApplication::notify(QObject*, QEvent*) (this=0x7ffee942a5b0, receiver=0x55b7c701b630, e=0x7ffee942a300) at kernel/qapplication.cpp:3481
    #29 0x00007f44b86b88d8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x55b7c701b630, event=event@entry=0x7ffee942a300) at kernel/qcoreapplication.cpp:1024
    #30 0x00007f44b8710d2e in QCoreApplication::sendEvent(QObject*, QEvent*) (event=0x7ffee942a300, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:233
    #31 0x00007f44b8710d2e in QTimerInfoList::activateTimers() (this=this@entry=0x55b7c6fc5210) at kernel/qtimerinfo_unix.cpp:643
    #32 0x00007f44b870e10c in QEventDispatcherUNIXPrivate::activateTimers() (this=this@entry=0x55b7c6fc5170) at kernel/qeventdispatcher_unix.cpp:249
    #33 0x00007f44b870eee2 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at kernel/qeventdispatcher_unix.cpp:514
    #34 0x00007f44a287866d in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at qunixeventdispatcher.cpp:68
    #35 0x00007f44b86b690a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffee942a4c0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
    #36 0x00007f44b86bf9b4 in QCoreApplication::exec() () at kernel/qcoreapplication.cpp:1297
    #37 0x00007f44bb5f0dbb in kdemain () at /usr/lib/x86_64-linux-gnu/libkdeinit5_kwin_x11.so
    #38 0x00007f44bb218b97 in __libc_start_main (main=0x55b7c5a61730, argc=1, argv=0x7ffee942a748, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffee942a738) at ../csu/libc-start.c:310
    #39 0x000055b7c5a6176a in _start ()
    quit
    Detaching from program: /usr/bin/kwin_x11, process 17277
    [/CONSOLE]
    
    [CONSOLE]
    #0  0x00007f5579db6bf9 in __GI___poll (fds=fds@entry=0x7ffde3d28dd8, nfds=nfds@entry=1, timeout=timeout@entry=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
    #1  0x00007f557eddb747 in poll (__timeout=-1, __nfds=1, __fds=0x7ffde3d28dd8) at /usr/include/x86_64-linux-gnu/bits/poll2.h:46
    #2  0x00007f557eddb747 in _xcb_conn_wait (c=c@entry=0x55ce34f5fdd0, cond=cond@entry=0x55ce46f54d18, vector=vector@entry=0x0, count=count@entry=0x0) at ../../src/xcb_conn.c:479
    #3  0x00007f557eddd45a in xcb_wait_for_special_event (c=0x55ce34f5fdd0, se=0x55ce46f54cf0) at ../../src/xcb_in.c:795
    #4  0x00007f5558cbf6fb in dri3_wait_for_event_locked (draw=0x55ce477a4ee8) at ../src/loader/loader_dri3_helper.c:545
    #5  0x00007f5558cbf848 in dri3_find_back (draw=draw@entry=0x55ce477a4ee8) at ../src/loader/loader_dri3_helper.c:670
    #6  0x00007f5558cc0abe in dri3_get_buffer (format=format@entry=4107, buffer_type=buffer_type@entry=loader_dri3_buffer_back, draw=draw@entry=0x55ce477a4ee8, driDrawable=0x55ce47194cf0) at ../src/loader/loader_dri3_helper.c:1800
    #7  0x00007f5558cc1a19 in loader_dri3_get_buffers (driDrawable=driDrawable@entry=0x55ce47194cf0, format=4107, stamp=stamp@entry=0x55ce47194d20, loaderPrivate=loaderPrivate@entry=0x55ce477a4ee8, buffer_mask=<optimized out>, buffer_mask@entry=1, buffers=buffers@entry=0x7ffde3d290a0) at ../src/loader/loader_dri3_helper.c:2019
    #8  0x00007f54cec3d2e9 in intel_update_image_buffers (drawable=0x55ce47194cf0, brw=0x55ce35f34390) at ../src/mesa/drivers/dri/i965/brw_context.c:1879
    #9  0x00007f54cec3d2e9 in intel_update_renderbuffers (context=context@entry=0x55ce35f275b0, drawable=drawable@entry=0x55ce47194cf0) at ../src/mesa/drivers/dri/i965/brw_context.c:1508
    #10 0x00007f54cec3d675 in intel_prepare_render (brw=brw@entry=0x55ce35f34390) at ../src/mesa/drivers/dri/i965/brw_context.c:1529
    #11 0x00007f54cec389b9 in brw_clear (ctx=0x55ce35f34390, mask=50) at ../src/mesa/drivers/dri/i965/brw_clear.c:254
    #12 0x00007f557e20ff88 in QSGBatchRenderer::Renderer::renderBatches() (this=this@entry=0x55ce385bad80) at scenegraph/coreapi/qsgbatchrenderer.cpp:2542
    #13 0x00007f557e21585e in QSGBatchRenderer::Renderer::render() (this=<optimized out>) at scenegraph/coreapi/qsgbatchrenderer.cpp:2768
    #14 0x00007f557e2062a0 in QSGRenderer::renderScene(QSGBindable const&) (this=0x55ce385bad80, bindable=...) at scenegraph/coreapi/qsgrenderer.cpp:243
    #15 0x00007f557e20675b in QSGRenderer::renderScene(unsigned int) (this=<optimized out>, fboId=<optimized out>) at scenegraph/coreapi/qsgrenderer.cpp:196
    #16 0x00007f557e240af0 in QSGDefaultRenderContext::renderNextFrame(QSGRenderer*, unsigned int) (this=0x55ce3534cd10, renderer=0x55ce385bad80, fboId=<optimized out>) at scenegraph/qsgdefaultrendercontext.cpp:181
    #17 0x00007f557e29eb68 in QQuickWindowPrivate::renderSceneGraph(QSize const&) (this=this@entry=0x55ce35a0e740, size=...) at items/qquickwindow.cpp:474
    #18 0x00007f557e232eb9 in QSGGuiThreadRenderLoop::renderWindow(QQuickWindow*) (this=0x55ce3536afc0, window=<optimized out>) at scenegraph/qsgrenderloop.cpp:431
    #19 0x00007f557e2a8726 in QQuickWindow::event(QEvent*) (this=0x55ce35a03f40, e=0x7ffde3d299a0) at items/qquickwindow.cpp:1588
    #20 0x000055ce344a88db in PanelView::event(QEvent*) (this=0x55ce35a03f40, e=0x7ffde3d299a0) at ./shell/panelview.cpp:925
    #21 0x00007f557b6ae83c in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x55ce34f4fad0, receiver=receiver@entry=0x55ce35a03f40, e=e@entry=0x7ffde3d299a0) at kernel/qapplication.cpp:3722
    #22 0x00007f557b6b6104 in QApplication::notify(QObject*, QEvent*) (this=0x7ffde3d2a0c0, receiver=0x55ce35a03f40, e=0x7ffde3d299a0) at kernel/qapplication.cpp:3481
    #23 0x00007f557a6a68d8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=receiver@entry=0x55ce35a03f40, event=event@entry=0x7ffde3d299a0) at kernel/qcoreapplication.cpp:1024
    #24 0x00007f557aefe1a1 in QCoreApplication::sendEvent(QObject*, QEvent*) (event=0x7ffde3d299a0, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:233
    #25 0x00007f557aefe1a1 in QWindowPrivate::deliverUpdateRequest() (this=this@entry=0x55ce35a0e740) at kernel/qwindow.cpp:2305
    #26 0x00007f557aefe6b9 in QWindow::event(QEvent*) (this=this@entry=0x55ce35a03f40, ev=ev@entry=0x7ffde3d29d70) at kernel/qwindow.cpp:2276
    #27 0x00007f557e2a86c5 in QQuickWindow::event(QEvent*) (this=0x55ce35a03f40, e=0x7ffde3d29d70) at items/qquickwindow.cpp:1607
    #28 0x000055ce344a88db in PanelView::event(QEvent*) (this=0x55ce35a03f40, e=0x7ffde3d29d70) at ./shell/panelview.cpp:925
    #29 0x00007f557b6ae83c in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x55ce34f4fad0, receiver=receiver@entry=0x55ce35a03f40, e=e@entry=0x7ffde3d29d70) at kernel/qapplication.cpp:3722
    #30 0x00007f557b6b6104 in QApplication::notify(QObject*, QEvent*) (this=0x7ffde3d2a0c0, receiver=0x55ce35a03f40, e=0x7ffde3d29d70) at kernel/qapplication.cpp:3481
    #31 0x00007f557a6a68d8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x55ce35a03f40, event=event@entry=0x7ffde3d29d70) at kernel/qcoreapplication.cpp:1024
    #32 0x00007f557a6fed2e in QCoreApplication::sendEvent(QObject*, QEvent*) (event=0x7ffde3d29d70, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:233
    #33 0x00007f557a6fed2e in QTimerInfoList::activateTimers() (this=this@entry=0x55ce34f7afa0) at kernel/qtimerinfo_unix.cpp:643
    #34 0x00007f557a6ff4f1 in timerSourceDispatch(GSource*, GSourceFunc, gpointer) (source=source@entry=0x55ce34f7af40) at kernel/qeventdispatcher_glib.cpp:182
    #35 0x00007f557491f417 in g_main_dispatch (context=0x7f5564004ff0) at ../../../../glib/gmain.c:3176
    #36 0x00007f557491f417 in g_main_context_dispatch (context=context@entry=0x7f5564004ff0) at ../../../../glib/gmain.c:3829
    #37 0x00007f557491f650 in g_main_context_iterate (context=context@entry=0x7f5564004ff0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../../glib/gmain.c:3902
    #38 0x00007f557491f6dc in g_main_context_iteration (context=0x7f5564004ff0, may_block=may_block@entry=1) at ../../../../glib/gmain.c:3963
    #39 0x00007f557a6ff88f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x55ce34fa0db0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
    #40 0x00007f557a6a490a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffde3d29fc0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
    #41 0x00007f557a6ad9b4 in QCoreApplication::exec() () at kernel/qcoreapplication.cpp:1297
    #42 0x000055ce34499d6a in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at ./shell/main.cpp:166
    quit
    Detaching from program: /usr/bin/plasmashell, process 17281
    [/CONSOLE]

    After a reboot:
    Code:
    [CONSOLE]
    $ qdbus org.kde.KWin /KWin supportInformation
    KWin Support Information:
    The following information should be used when requesting support on e.g. http://forum.kde.org.
    It provides information about the currently running instance, which options are used,
    what OpenGL driver and which effects are running.
    Please post the information provided underneath this introductory text to a paste bin service
    like http://paste.kde.org instead of pasting into support threads.
    
    ==========================
    
    Version
    =======
    KWin version: 5.12.9
    Qt Version: 5.9.5
    Qt compile version: 5.9.5
    XCB compile version: 1.13
    
    Operation Mode: X11 only
    
    Build Options
    =============
    KWIN_BUILD_DECORATIONS: yes
    KWIN_BUILD_TABBOX: yes
    KWIN_BUILD_ACTIVITIES: yes
    HAVE_INPUT: yes
    HAVE_DRM: yes
    HAVE_GBM: yes
    HAVE_X11_XCB: yes
    HAVE_EPOXY_GLX: yes
    HAVE_WAYLAND_EGL: yes
    
    X11
    ===
    Vendor: The X.Org Foundation
    Vendor Release: 12005000
    Protocol Version/Revision: 11/0
    SHAPE: yes; Version: 0x11
    RANDR: yes; Version: 0x14
    DAMAGE: yes; Version: 0x11
    Composite: yes; Version: 0x4
    RENDER: yes; Version: 0xb
    XFIXES: yes; Version: 0x50
    SYNC: yes; Version: 0x31
    GLX: yes; Version: 0x0
    
    Decoration
    ==========
    Plugin: org.kde.breeze
    Theme: 
    Blur: 0
    onAllDesktopsAvailable: false
    alphaChannelSupported: true
    closeOnDoubleClickOnMenu: false
    decorationButtonsLeft: 0, 2
    decorationButtonsRight: 6, 3, 4, 5
    borderSize: 3
    gridUnit: 10
    font: Noto Sans,10,-1,0,50,0,0,0,0,0,Regular
    smallSpacing: 2
    largeSpacing: 10
    
    Platform
    ==========
    Name: KWin::X11StandalonePlatform
    
    Options
    =======
    focusPolicy: 0
    nextFocusPrefersMouse: false
    clickRaise: true
    autoRaise: false
    autoRaiseInterval: 0
    delayFocusInterval: 0
    shadeHover: false
    shadeHoverInterval: 250
    separateScreenFocus: false
    placement: 4
    focusPolicyIsReasonable: true
    borderSnapZone: 10
    windowSnapZone: 10
    centerSnapZone: 0
    snapOnlyWhenOverlapping: false
    rollOverDesktops: false
    focusStealingPreventionLevel: 2
    legacyFullscreenSupport: false
    operationTitlebarDblClick: 5000
    operationMaxButtonLeftClick: 5000
    operationMaxButtonMiddleClick: 5015
    operationMaxButtonRightClick: 5014
    commandActiveTitlebar1: 0
    commandActiveTitlebar2: 30
    commandActiveTitlebar3: 2
    commandInactiveTitlebar1: 4
    commandInactiveTitlebar2: 30
    commandInactiveTitlebar3: 2
    commandWindow1: 7
    commandWindow2: 8
    commandWindow3: 8
    commandWindowWheel: 31
    commandAll1: 10
    commandAll2: 3
    commandAll3: 14
    keyCmdAllModKey: 16777251
    showGeometryTip: false
    condensedTitle: false
    electricBorderMaximize: true
    electricBorderTiling: true
    electricBorderCornerRatio: 0.25
    borderlessMaximizedWindows: false
    killPingTimeout: 5000
    hideUtilityWindowsForInactive: true
    inactiveTabsSkipTaskbar: false
    autogroupSimilarWindows: false
    autogroupInForeground: true
    compositingMode: 2
    useCompositing: true
    compositingInitialized: true
    hiddenPreviews: 1
    glSmoothScale: 2
    xrenderSmoothScale: true
    maxFpsInterval: 16666666
    refreshRate: 0
    vBlankTime: 6000000
    glStrictBinding: true
    glStrictBindingFollowsDriver: true
    glCoreProfile: false
    glPreferBufferSwap: 112
    glPlatformInterface: 1
    windowsBlockCompositing: true
    
    Screen Edges
    ============
    desktopSwitching: false
    desktopSwitchingMovingClients: false
    cursorPushBackDistance: 1x1
    timeThreshold: 150
    reActivateThreshold: 350
    actionTopLeft: 0
    actionTop: 0
    actionTopRight: 0
    actionRight: 0
    actionBottomRight: 0
    actionBottom: 0
    actionBottomLeft: 0
    actionLeft: 0
    
    Screens
    =======
    Multi-Head: no
    Active screen follows mouse:  no
    Number of Screens: 1
    
    Screen 0:
    ---------
    Name: LVDS-1
    Geometry: 0,0,1600x900
    Scale: 1
    Refresh Rate: 60.007
    
    Compositing
    ===========
    Compositing is active
    Compositing Type: XRender
    
    Loaded Effects:
    ---------------
    kwin4_effect_frozenapp
    kwin4_effect_windowaperture
    kwin4_effect_morphingpopups
    kwin4_effect_dialogparent
    slide
    screenshot
    desktopgrid
    presentwindows
    highlightwindow
    screenedge
    kscreen
    
    Currently Active Effects:
    -------------------------
    
    Effect Settings:
    ----------------
    kwin4_effect_frozenapp:
    
    kwin4_effect_windowaperture:
    
    kwin4_effect_morphingpopups:
    
    kwin4_effect_dialogparent:
    
    slide:
    
    screenshot:
    
    desktopgrid:
    zoomDuration: 1
    border: 10
    desktopNameAlignment: 0
    layoutMode: 0
    customLayoutRows: 2
    usePresentWindows: true
    
    presentwindows:
    layoutMode: 0
    showCaptions: true
    showIcons: true
    doNotCloseWindows: false
    ignoreMinimized: false
    accuracy: 20
    fillGaps: true
    fadeDuration: 1
    showPanel: false
    leftButtonWindow: 1
    rightButtonWindow: 2
    middleButtonWindow: 0
    leftButtonDesktop: 2
    middleButtonDesktop: 0
    rightButtonDesktop: 0
    
    highlightwindow:
    
    screenedge:
    
    kscreen:
    
    [/CONSOLE]
    Last edited by oshunluvr; Jul 14, 2020, 09:47 AM.

    #2
    (BTW, you could use code tags for the long listings.)
    Originally posted by nmfbeaver View Post
    DISPLAY=:0 xdpyinfo

    but in this case it would just hang.
    That suggests that the hang is in some part of X. If so, it's maybe caused by kwin or plasmashell, but restarting them won't help.

    Originally posted by nmfbeaver View Post
    DISPLAY=:0 kwin --replace
    DISPLAY=:0 kquitapp5 plasmashell && kstart5 plasmashell
    I'd progress to kill, and kill -9, though it usually doesn't help. I have a vague memory that it did, once.
    Regards, John Little

    Comment


      #3
      I can confirm that it is an issue with Kwin, not another component. I had some success with running this in a tty:

      Code:
      kill -SIGUSR1 $(pgrep kwin_x11)
      DISPLAY=:0 kwin --replace
      Ubuntu (downstream) bug report:

      https://bugs.launchpad.net/ubuntu/+s...n/+bug/1886293

      KDE (upstream) bug report:

      https://bugs.kde.org/show_bug.cgi?id=423889

      Comment


        #4
        Thank you for letting us know.
        Regards, John Little

        Comment


          #5
          Another BTW, your post can be much more readable by using code or quote tags as jlittle suggested. I'll edit this one so you can see what I mean. The idea is to allow others the chance to determine what you're posting about without wading through pages of text.

          Please Read Me

          Comment

          Working...
          X