Attaching crash files to bugs doesn't usually work, but this time we got lucky. This shows gnome-shell using software rendering to redraw the screen as expected, but being blocked in a wait (as are all threads). So this might be a threading/timing regression in the kernel, or it might be irrelevant because we expect VMs to spend all their time doing software rendering like this anyway. Just not deadlocked like this appears to be. My only remaining suggestion is to bisect the individual kernel changes :( https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/jammy/log/?h=Ubuntu-hwe-5.19-5.19.0-42.43_22.04.1 --- The gnome-shell stack trace stuck in Mesa doing software rendering: #3 0x00007f11f4242476 in __GI_raise (sig=6) at ../sysdeps/posix/raise.c:26 #4 0x0000561bf427f7aa in () #5 0x00007f11f4242520 in () at /lib/x86_64-linux-gnu/libc.so.6 #6 __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x561bf5fbc578) at ./nptl/futex-internal.c:57 #7 __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x561bf5fbc578) at ./nptl/futex-internal.c:87 #8 __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x561bf5fbc578, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139 #9 0x00007f11f4293ac1 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x561bf5fbc528, cond=0x561bf5fbc550) at ./nptl/pthread_cond_wait.c:503 #10 ___pthread_cond_wait (cond=0x561bf5fbc550, mutex=0x561bf5fbc528) at ./nptl/pthread_cond_wait.c:627 #11 0x00007f11dd70aced in cnd_wait (cond=, mtx=) at ../src/c11/impl/threads_posix.c:135 #12 0x00007f11ddcbc2c3 in lp_fence_wait (f=f@entry=0x561bf5fbc520) at ../src/gallium/drivers/llvmpipe/lp_fence.c:124 #13 0x00007f11ddcb9594 in llvmpipe_fence_finish (screen=, ctx=, fence_handle=0x561bf5fbc520, timeout=18446744073709551615) at ../src/gallium/drivers/llvmpipe/lp_screen.c:908 #14 0x00007f11ddcbc531 in llvmpipe_finish (pipe=pipe@entry=0x561bf5dc3130, reason=reason@entry=0x7f11de927657 "sotropy") at ../src/gallium/drivers/llvmpipe/lp_flush.c:93 #15 0x00007f11ddcbc60f in llvmpipe_flush_resource (pipe=pipe@entry=0x561bf5dc3130, resource=0x561bfbff5860, level=level@entry=0, read_only=read_only@entry=1 '\001', cpu_access=cpu_access@entry=0 '\000', do_not_block=do_not_block@entry=0 '\000', reason=0x7f11de927657 "sotropy") at ../src/gallium/drivers/llvmpipe/lp_flush.c:132 #16 0x00007f11ddce9e13 in llvmpipe_set_sampler_views (pipe=0x561bf5dc3130, shader=PIPE_SHADER_FRAGMENT, start=0, num=1, unbind_num_trailing_slots=0, take_ownership=true, views=0x7ffe044f7440) at ../src/gallium/drivers/llvmpipe/lp_state_sampler.c:153 #17 0x00007f11dd76b04b in update_textures (st=0x561bf5fcb770, shader_stage=PIPE_SHADER_FRAGMENT, prog=) at ../src/mesa/state_tracker/st_atom_texture.c:271 #18 0x00007f11dd762bd8 in st_validate_state (st=st@entry=0x561bf5fcb770, pipeline=pipeline@entry=ST_PIPELINE_RENDER) at ../src/util/bitscan.h:102 #19 0x00007f11dd77b62b in prepare_draw (st=0x561bf5fcb770, ctx=0x561bf611cea0, state_mask=, pipeline=ST_PIPELINE_RENDER) at ../src/mesa/state_tracker/st_draw.c:102 --Type for more, q to quit, c to continue without paging-- #20 0x00007f11dd77baaf in st_draw_gallium (ctx=0x561bf611cea0, info=0x7ffe044f7660, drawid_offset=0, draws=0x7ffe044f7654, num_draws=1) at ../src/mesa/state_tracker/st_draw.c:180 #21 0x00007f11dd876035 in _mesa_draw_arrays (ctx=, mode=, start=, count=, numInstances=, baseInstance=) at ../src/mesa/main/draw.c:1324 #22 0x00007f11f5476eb2 in () at /usr/lib/x86_64-linux-gnu/mutter-10/libmutter-cogl-10.so.0 #23 0x00007f11f5477266 in () at /usr/lib/x86_64-linux-gnu/mutter-10/libmutter-cogl-10.so.0 #24 0x00007f11f54774c6 in () at /usr/lib/x86_64-linux-gnu/mutter-10/libmutter-cogl-10.so.0 #25 0x00007f11f5477f4f in () at /usr/lib/x86_64-linux-gnu/mutter-10/libmutter-cogl-10.so.0 #26 0x00007f11f547f343 in () at /usr/lib/x86_64-linux-gnu/mutter-10/libmutter-cogl-10.so.0 #27 0x00007f11f5482d1d in cogl_onscreen_swap_region () at /usr/lib/x86_64-linux-gnu/mutter-10/libmutter-cogl-10.so.0