xWayland process crashes on KDE Plasma Wayland session and the whole computer freezes
problem originally reported in KDE bug tracker
https://bugs.kde.org/show_bug.cgi?id=400346
My system:
Arch Linux
xorg 1.20.3
KDE Plasma 5.14.2 desktop environment
kernel 4.18.16-arch1-1-ARCH
intel hd graphics, modesetting driver
backtraces
Thread 1 "Xwayland" received signal SIGABRT, Aborted.
0x00007f8dadbf8d7f in raise () from target:/usr/lib/libc.so.6
(gdb) thread apply all bt
Thread 4 (Thread 527.531):
#0 0x00007f8dac8b8afc in pthread_cond_wait@@GLIBC_2.3.2 ()
from target:/usr/lib/libpthread.so.0
#1 0x00007f8da875a094 in cnd_wait (mtx=0x55f6ead05d18, cond=0x55f6ead05d40)
at ../mesa-18.2.3/include/c11/threads_posix.h:155
#2 pipe_semaphore_wait (sema=0x55f6ead05d18)
at ../mesa-18.2.3/src/gallium/auxiliary/os/os_thread.h:108
#3 thread_function (init_data=init_data@entry=0x55f6ead05c78)
at ../mesa-18.2.3/src/gallium/drivers/llvmpipe/lp_rast.c:805
#4 0x00007f8da8759fd8 in impl_thrd_routine (p=<optimized out>)
at ../mesa-18.2.3/include/c11/threads_posix.h:87
#5 0x00007f8dac8b2a9d in start_thread () from target:/usr/lib/libpthread.so.0
#6 0x00007f8dadcbcb23 in clone () from target:/usr/lib/libc.so.6
Thread 3 (Thread 527.530):
#0 0x00007f8dac8b8afc in pthread_cond_wait@@GLIBC_2.3.2 ()
from target:/usr/lib/libpthread.so.0
#1 0x00007f8da875a094 in cnd_wait (mtx=0x55f6ead05bb8, cond=0x55f6ead05be0)
--Type <RET> for more, q to quit, c to continue without paging--c
at ../mesa-18.2.3/include/c11/threads_posix.h:155
#2 pipe_semaphore_wait (sema=0x55f6ead05bb8) at ../mesa-18.2.3/src/gallium/auxiliary/os/os_thread.h:108
#3 thread_function (init_data=init_data@entry=0x55f6ead05b18) at ../mesa-18.2.3/src/gallium/drivers/llvmpipe/lp_rast.c:805
#4 0x00007f8da8759fd8 in impl_thrd_routine (p=<optimized out>) at ../mesa-18.2.3/include/c11/threads_posix.h:87
#5 0x00007f8dac8b2a9d in start_thread () from target:/usr/lib/libpthread.so.0
#6 0x00007f8dadcbcb23 in clone () from target:/usr/lib/libc.so.6
Thread 2 (Thread 527.529):
#0 0x00007f8dac8b8afc in pthread_cond_wait@@GLIBC_2.3.2 () from target:/usr/lib/libpthread.so.0
#1 0x00007f8daa3801ac in cnd_wait (mtx=0x55f6eac4b148, cond=0x55f6eac4b170) at ../mesa-18.2.3/src/../include/c11/threads_posix.h:155
#2 util_queue_thread_func (input=input@entry=0x55f6eab30530) at ../mesa-18.2.3/src/util/u_queue.c:256
#3 0x00007f8daa37fee8 in impl_thrd_routine (p=<optimized out>) at ../mesa-18.2.3/src/../include/c11/threads_posix.h:87
#4 0x00007f8dac8b2a9d in start_thread () from target:/usr/lib/libpthread.so.0
#5 0x00007f8dadcbcb23 in clone () from target:/usr/lib/libc.so.6
Thread 1 (Thread 527.527):
#0 0x00007f8dadbf8d7f in raise () from target:/usr/lib/libc.so.6
#1 0x00007f8dadbe3672 in abort () from target:/usr/lib/libc.so.6
#2 0x00007f8dadbe3548 in __assert_fail_base.cold.0 () from target:/usr/lib/libc.so.6
#3 0x00007f8dadbf1396 in __assert_fail () from target:/usr/lib/libc.so.6
#4 0x000055f6ea63943b in xwl_present_flips_stop (window=<optimized out>, window=<optimized out>) at ../xorg-server-1.20.3/hw/xwayland/xwayland-present.c:521
#5 0x000055f6ea5882ae in present_wnmd_flips_stop (window=<optimized out>, window=<optimized out>) at ../xorg-server-1.20.3/present/present_wnmd.c:159
#6 0x000055f6ea588525 in present_wnmd_check_flip_window (window=0x55f6eb1ca0e0) at ../xorg-server-1.20.3/present/present_wnmd.c:332
#7 0x000055f6ea58b60f in present_clip_notify (window=0x55f6eb1ca0e0, dx=0, dy=0) at ../xorg-server-1.20.3/present/present_screen.c:203
#8 0x000055f6ea5b4078 in compClipNotify (pWin=0x55f6eb1ca0e0, dx=0, dy=0) at ../xorg-server-1.20.3/composite/compwindow.c:317
#9 0x000055f6ea5f9775 in miComputeClips (pParent=pParent@entry=0x55f6eb1ca0e0, pScreen=pScreen@entry=0x55f6eaaf8320, universe=universe@entry=0x7ffe2a91ccc0, kind=kind@entry=VTOther, exposed=exposed@entry=0x7ffe2a91cef0) at ../xorg-server-1.20.3/mi/mivaltree.c:478
#10 0x000055f6ea5f9668 in miComputeClips (pParent=pParent@entry=0x55f6eb162000, pScreen=pScreen@entry=0x55f6eaaf8320, universe=universe@entry=0x7ffe2a91cd90, kind=kind@entry=VTOther, exposed=exposed@entry=0x7ffe2a91cef0) at ../xorg-server-1.20.3/mi/mivaltree.c:428
#11 0x000055f6ea5f9668 in miComputeClips (pParent=pParent@entry=0x55f6eb16c490, pScreen=pScreen@entry=0x55f6eaaf8320, universe=universe@entry=0x7ffe2a91ce60, kind=kind@entry=VTOther, exposed=exposed@entry=0x7ffe2a91cef0) at ../xorg-server-1.20.3/mi/mivaltree.c:428
#12 0x000055f6ea5f9668 in miComputeClips (pParent=pParent@entry=0x55f6eb16c240, pScreen=pScreen@entry=0x55f6eaaf8320, universe=universe@entry=0x7ffe2a91cf10, kind=kind@entry=VTOther, exposed=exposed@entry=0x7ffe2a91cef0) at ../xorg-server-1.20.3/mi/mivaltree.c:428
#13 0x000055f6ea5f9dcb in miValidateTree (pParent=0x55f6ead3f640, pChild=0x55f6eb16c240, kind=<optimized out>) at ../xorg-server-1.20.3/mi/mivaltree.c:681
#14 0x000055f6ea5f43c1 in miResizeWindow (pWin=0x55f6eb16c240, x=0, y=<optimized out>, w=<optimized out>, h=<optimized out>, pSib=0x0) at ../xorg-server-1.20.3/mi/miwindow.c:467
#15 0x000055f6ea5b3ecd in compResizeWindow (pWin=0x55f6eb16c240, x=<optimized out>, y=<optimized out>, w=<optimized out>, h=<optimized out>, pSib=<optimized out>) at ../xorg-server-1.20.3/composite/compwindow.c:407
#16 0x000055f6ea5ba7d1 in ConfigureWindow (pWin=<optimized out>, mask=<optimized out>, vlist=<optimized out>, client=<optimized out>) at ../xorg-server-1.20.3/dix/window.c:2422
#17 0x000055f6ea5eb930 in ProcConfigureWindow (client=0x55f6eb0f5cb0) at ../xorg-server-1.20.3/dix/dispatch.c:916
#18 0x000055f6ea5ea070 in Dispatch () at ../xorg-server-1.20.3/dix/dispatch.c:478
#19 0x000055f6ea4e412d in dix_main (envp=<optimized out>, argv=<optimized out>, argc=<optimized out>) at ../xorg-server-1.20.3/dix/main.c:276
#20 main (argc=<optimized out>, argv=<optimized out>, envp=<optimized out>) at ../xorg-server-1.20.3/dix/stubmain.c:34
Thread 4 (Thread 0x7f91ec8a8700 (LWP 525)):
#0 0x00007f91f2fa7afc in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1 0x00007f91eee49094 in cnd_wait (mtx=0x5575028cdb88, cond=0x5575028cdbb0) at ../mesa-18.2.3/include/c11/threads_posix.h:155
#2 pipe_semaphore_wait (sema=0x5575028cdb88) at ../mesa-18.2.3/src/gallium/auxiliary/os/os_thread.h:108
#3 thread_function (init_data=init_data@entry=0x5575028cdae8) at ../mesa-18.2.3/src/gallium/drivers/llvmpipe/lp_rast.c:805
#4 0x00007f91eee48fd8 in impl_thrd_routine (p=<optimized out>) at ../mesa-18.2.3/include/c11/threads_posix.h:87
#5 0x00007f91f2fa1a9d in start_thread () from /usr/lib/libpthread.so.0
#6 0x00007f91f43abb23 in clone () from /usr/lib/libc.so.6
Thread 3 (Thread 0x7f91e4036700 (LWP 526)):
#0 0x00007f91f2fa7afc in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1 0x00007f91eee49094 in cnd_wait (mtx=0x5575028cdce8, cond=0x5575028cdd10) at ../mesa-18.2.3/include/c11/threads_posix.h:155
#2 pipe_semaphore_wait (sema=0x5575028cdce8) at ../mesa-18.2.3/src/gallium/auxiliary/os/os_thread.h:108
#3 thread_function (init_data=init_data@entry=0x5575028cdc48) at ../mesa-18.2.3/src/gallium/drivers/llvmpipe/lp_rast.c:805
#4 0x00007f91eee48fd8 in impl_thrd_routine (p=<optimized out>) at ../mesa-18.2.3/include/c11/threads_posix.h:87
#5 0x00007f91f2fa1a9d in start_thread () from /usr/lib/libpthread.so.0
#6 0x00007f91f43abb23 in clone () from /usr/lib/libc.so.6
Thread 2 (Thread 0x7f91f02f3700 (LWP 524)):
#0 0x00007f91f2fa7afc in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1 0x00007f91f0a6f1ac in cnd_wait (mtx=0x557502813148, cond=0x557502813170) at ../mesa-18.2.3/src/../include/c11/threads_posix.h:155
#2 util_queue_thread_func (input=input@entry=0x5575026f8530) at ../mesa-18.2.3/src/util/u_queue.c:256
#3 0x00007f91f0a6eee8 in impl_thrd_routine (p=<optimized out>) at ../mesa-18.2.3/src/../include/c11/threads_posix.h:87
#4 0x00007f91f2fa1a9d in start_thread () from /usr/lib/libpthread.so.0
#5 0x00007f91f43abb23 in clone () from /usr/lib/libc.so.6
Thread 1 (Thread 0x7f91f1362d00 (LWP 522)):
#0 0x00007f91f42e7d7f in raise () from /usr/lib/libc.so.6
#1 0x00007f91f42d2672 in abort () from /usr/lib/libc.so.6
#2 0x0000557500c7aeaa in OsAbort () at ../xorg-server-1.20.3/os/utils.c:1350
#3 0x0000557500c735b5 in AbortServer () at ../xorg-server-1.20.3/os/log.c:879
#4 FatalError (f=<optimized out>) at ../xorg-server-1.20.3/os/log.c:1017
--Type <RET> for more, q to quit, c to continue without paging--c
#5 0x0000557500c7e6e6 in OsSigHandler (signo=<optimized out>, sip=<optimized out>, unused=<optimized out>, signo=<optimized out>, sip=<optimized out>, unused=<optimized out>) at ../xorg-server-1.20.3/os/osinit.c:156
#6 <signal handler called>
#7 xwl_glamor_gbm_get_wl_buffer_for_pixmap (pixmap=0x5575028feff0, created=0x0) at ../xorg-server-1.20.3/hw/xwayland/xwayland-glamor-gbm.c:247
#8 0x0000557500da029f in xwl_window_post_damage (xwl_window=0x557502d2ec20) at ../xorg-server-1.20.3/hw/xwayland/xwayland.c:680
#9 xwl_screen_post_damage (xwl_screen=0x5575026c0860) at ../xorg-server-1.20.3/hw/xwayland/xwayland.c:742
#10 block_handler (data=0x5575026c0860, timeout=<optimized out>) at ../xorg-server-1.20.3/hw/xwayland/xwayland.c:881
#11 0x0000557500d447e1 in BlockHandler (pTimeout=0x7ffdbebf532c) at ../xorg-server-1.20.3/dix/dixutils.c:388
#12 WaitForSomething (are_ready=0) at ../xorg-server-1.20.3/os/WaitFor.c:201
#13 Dispatch () at ../xorg-server-1.20.3/dix/dispatch.c:421
#14 0x0000557500c3f12d in dix_main (envp=<optimized out>, argv=<optimized out>, argc=<optimized out>) at ../xorg-server-1.20.3/dix/main.c:276
#15 main (argc=<optimized out>, argv=<optimized out>, envp=<optimized out>) at ../xorg-server-1.20.3/dix/stubmain.c:34
Edited by Strangiato