#1002690 clutter-1.0: unit tests fail on mips64el: segmentation fault in an llvmpipe thread with swrast_dri.so driver

Package:
src:clutter-1.0
Source:
clutter-1.0
Submitter:
Simon McVittie
Date:
2026-01-10 11:39:15 UTC
Severity:
important
Tags:
#1002690#5
Date:
2021-12-27 14:26:56 UTC
From:
To:
The clutter-1.0 unit tests fail on mips64el with segmentation faults in
actor-anchors, actor-layout, actor-offscreen-redirect, actor-pick and
texture.

This (or at least a similar crash) is reproducible in a sid mips64el
chroot on eller, and can be reproduced in the built tree with a command
like:

    dbus-run-session -- xvfb-run -a ./libtool --mode=execute gdb ./tests/conform/texture

By installing libgl1-mesa-dri-dbgsym on eller, I was able to get the
backtrace below. This might indicate that this is actually a Mesa bug,
I don't know.

Before version 1.26.4+dfsg-3, the result of clutter-1.0 unit tests was
ignored on mips*el. For now I'm going to resume ignoring the failed result:
I suspect that Mesa and Clutter have few or no users on mips*.

Clutter is essentially unmaintained upstream (see #996690) so if it needs
anything architecture-specific, that will have to come from architecture
porters, and is vanishingly unlikely to come from upstream.

    smcv

Thread 10 (Thread 0xffe17f9e50 (LWP 25902) "texture:disk$0"):
#0  0x000000fff6f813bc in __futex_abstimed_wait_common64 () at /lib/mips64el-linux-gnuabi64/libpthread.so.0
#1  0x000000fff6f77778 in pthread_cond_wait@@GLIBC_2.3.2 () at /lib/mips64el-linux-gnuabi64/libpthread.so.0
#2  0x000000fff4c20e44 in cnd_wait (mtx=0xaaaab30ba8, cond=0xaaaab30bd0) at ../include/c11/threads_posix.h:155
#3  util_queue_thread_func (input=<optimized out>) at ../src/util/u_queue.c:294
#4  0x000000fff4c206e0 in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#5  0x000000fff6f6f24c in start_thread () at /lib/mips64el-linux-gnuabi64/libpthread.so.0

Thread 9 (Thread 0xffe1ffae50 (LWP 25901) "texture"):
#0  0x000000fff6f813bc in __futex_abstimed_wait_common64 () at /lib/mips64el-linux-gnuabi64/libpthread.so.0
#1  0x000000fff6f77778 in pthread_cond_wait@@GLIBC_2.3.2 () at /lib/mips64el-linux-gnuabi64/libpthread.so.0
#2  0x000000fff537102c in cnd_wait (mtx=0xaaaab30250, cond=0xaaaab30278) at ../include/c11/threads_posix.h:155
#3  lp_cs_tpool_worker (data=0xaaaab30250) at ../src/gallium/drivers/llvmpipe/lp_cs_tpool.c:48
#4  0x000000fff5370f80 in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#5  0x000000fff6f6f24c in start_thread () at /lib/mips64el-linux-gnuabi64/libpthread.so.0

Thread 8 (Thread 0xffe27fbe50 (LWP 25900) "texture"):
#0  0x000000fff6f813bc in __futex_abstimed_wait_common64 () at /lib/mips64el-linux-gnuabi64/libpthread.so.0
#1  0x000000fff6f77778 in pthread_cond_wait@@GLIBC_2.3.2 () at /lib/mips64el-linux-gnuabi64/libpthread.so.0
#2  0x000000fff537102c in cnd_wait (mtx=0xaaaab30250, cond=0xaaaab30278) at ../include/c11/threads_posix.h:155
#3  lp_cs_tpool_worker (data=0xaaaab30250) at ../src/gallium/drivers/llvmpipe/lp_cs_tpool.c:48
#4  0x000000fff5370f80 in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#5  0x000000fff6f6f24c in start_thread () at /lib/mips64el-linux-gnuabi64/libpthread.so.0

Thread 7 (Thread 0xffe2ffce50 (LWP 25899) "texture"):
#0  0x000000fff6f813bc in __futex_abstimed_wait_common64 () at /lib/mips64el-linux-gnuabi64/libpthread.so.0
#1  0x000000fff6f77778 in pthread_cond_wait@@GLIBC_2.3.2 () at /lib/mips64el-linux-gnuabi64/libpthread.so.0
#2  0x000000fff537102c in cnd_wait (mtx=0xaaaab30250, cond=0xaaaab30278) at ../include/c11/threads_posix.h:155
#3  lp_cs_tpool_worker (data=0xaaaab30250) at ../src/gallium/drivers/llvmpipe/lp_cs_tpool.c:48
#4  0x000000fff5370f80 in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#5  0x000000fff6f6f24c in start_thread () at /lib/mips64el-linux-gnuabi64/libpthread.so.0

Thread 6 (Thread 0xffe37fde50 (LWP 25898) "texture"):
#0  0x000000fff6f813bc in __futex_abstimed_wait_common64 () at /lib/mips64el-linux-gnuabi64/libpthread.so.0
#1  0x000000fff6f77778 in pthread_cond_wait@@GLIBC_2.3.2 () at /lib/mips64el-linux-gnuabi64/libpthread.so.0
#2  0x000000fff537102c in cnd_wait (mtx=0xaaaab30250, cond=0xaaaab30278) at ../include/c11/threads_posix.h:155
#3  lp_cs_tpool_worker (data=0xaaaab30250) at ../src/gallium/drivers/llvmpipe/lp_cs_tpool.c:48
#4  0x000000fff5370f80 in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#5  0x000000fff6f6f24c in start_thread () at /lib/mips64el-linux-gnuabi64/libpthread.so.0

Thread 5 (Thread 0xffe3ffee50 (LWP 25897) "llvmpipe-3"):
#0  0x000000fff6f79420 in pthread_barrier_wait () at /lib/mips64el-linux-gnuabi64/libpthread.so.0
#1  0x000000fff5374944 in util_barrier_wait (barrier=0xaaaab220a0) at ../src/util/u_thread.h:301
#2  thread_function (init_data=0xaaaab20e38) at ../src/gallium/drivers/llvmpipe/lp_rast.c:887
#3  0x000000fff5374350 in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#4  0x000000fff6f6f24c in start_thread () at /lib/mips64el-linux-gnuabi64/libpthread.so.0

Thread 4 (Thread 0xffe8f5ae50 (LWP 25896) "llvmpipe-2"):
#0  0x000000fff6f79420 in pthread_barrier_wait () at /lib/mips64el-linux-gnuabi64/libpthread.so.0
#1  0x000000fff5374944 in util_barrier_wait (barrier=0xaaaab220a0) at ../src/util/u_thread.h:301
#2  thread_function (init_data=0xaaaab20cd8) at ../src/gallium/drivers/llvmpipe/lp_rast.c:887
#3  0x000000fff5374350 in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#4  0x000000fff6f6f24c in start_thread () at /lib/mips64el-linux-gnuabi64/libpthread.so.0

Thread 3 (Thread 0xffe975be50 (LWP 25895) "llvmpipe-1"):
warning: GDB can't find the start of the function at 0xfff62f52a8.
#0  0x000000fff62f52a8 in  ()

Thread 2 (Thread 0xffe9f5ce50 (LWP 25894) "llvmpipe-0"):
#0  0x000000fff6f79420 in pthread_barrier_wait () at /lib/mips64el-linux-gnuabi64/libpthread.so.0
#1  0x000000fff5374944 in util_barrier_wait (barrier=0xaaaab220a0) at ../src/util/u_thread.h:301
#2  thread_function (init_data=0xaaaab20a18) at ../src/gallium/drivers/llvmpipe/lp_rast.c:887
#3  0x000000fff5374350 in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#4  0x000000fff6f6f24c in start_thread () at /lib/mips64el-linux-gnuabi64/libpthread.so.0

Thread 1 (Thread 0xfff62fb800 (LWP 24730) "texture"):
#0  0x000000fff6f813bc in __futex_abstimed_wait_common64 () at /lib/mips64el-linux-gnuabi64/libpthread.so.0
#1  0x000000fff6f77778 in pthread_cond_wait@@GLIBC_2.3.2 () at /lib/mips64el-linux-gnuabi64/libpthread.so.0
#2  0x000000fff5375204 in cnd_wait (mtx=0xaaaab20b18, cond=0xaaaab20b40) at ../include/c11/threads_posix.h:155
#3  pipe_semaphore_wait (sema=0xaaaab20b18) at ../src/gallium/auxiliary/os/os_thread.h:108
#4  lp_rast_finish (rast=0xaaaab20a00) at ../src/gallium/drivers/llvmpipe/lp_rast.c:825
#5  0x000000fff538908c in lp_setup_rasterize_scene (setup=0xaaaae0c9d0) at ../src/gallium/drivers/llvmpipe/lp_setup.c:182
#6  set_scene_state (setup=0xaaaae0c9d0, new_state=<optimized out>, reason=<optimized out>) at ../src/gallium/drivers/llvmpipe/lp_setup.c:332
#7  0x000000fff53893f8 in lp_setup_flush (setup=0xaaaae0c9d0, fence=0xffffffb7f0, reason=<optimized out>) at ../src/gallium/drivers/llvmpipe/lp_setup.c:361
#8  0x000000fff5371f40 in llvmpipe_flush (reason=0xfff5a5e148 <__func__.0> "llvmpipe_transfer_map_ms", fence=0xffffffb7f0, pipe=0xaaaab3e380) at ../src/gallium/drivers/llvmpipe/lp_flush.c:56
warning: GDB can't find the start of the function at 0xfff7d8411f.
#9  llvmpipe_finish (pipe=0xaaaab3e380, reason=0xfff5a5e148 <__func__.0> "llvmpipe_transfer_map_ms") at ../src/gallium/drivers/llvmpipe/lp_flush.c:83
#10 0x000000fff537202c in llvmpipe_flush_resource (pipe=0xaaaab3e380, resource=<optimized out>, level=<optimized out>, read_only=<optimized out>, cpu_access=<optimized out>, do_not_block=<optimized out>, reason=0xfff5a5e148 <__func__.0> "llvmpipe_transfer_map_ms") at ../src/gallium/drivers/llvmpipe/lp_flush.c:122
#11 0x000000fff53703dc in llvmpipe_transfer_map_ms (pipe=0xaaaab3e380, resource=0xaaab154470, level=<optimized out>, usage=<optimized out>, sample=<optimized out>, box=0xffffffb8f8, transfer=0xaaab14e440) at ../src/gallium/drivers/llvmpipe/lp_texture.c:564
#12 0x000000fff4c98728 in pipe_texture_map (transfer=0xaaab14e440, h=1, w=1, y=0, x=0, access=<optimized out>, layer=<optimized out>, level=<optimized out>, resource=<optimized out>, context=0xaaaab3e380) at ../src/gallium/auxiliary/util/u_inlines.h:532
#13 st_MapRenderbuffer (ctx=<optimized out>, rb=0xaaab14e3d0, x=<optimized out>, y=<optimized out>, w=<optimized out>, h=<optimized out>, mode=<optimized out>, mapOut=0xffffffb9f8, rowStrideOut=0xffffffb9f0, flip_y=true) at ../src/mesa/state_tracker/st_cb_fbo.c:933
#14 0x000000fff4e2efc0 in read_rgba_pixels (packing=0xffffffbc90, pixels=0xffffffbed0, type=5121, format=6408, height=1, width=1, y=<optimized out>, x=0, ctx=0xaaaafc0eb0) at ../src/mesa/main/readpix.c:465
#15 _mesa_readpixels (ctx=0xaaaafc0eb0, x=<optimized out>, y=<optimized out>, width=<optimized out>, height=<optimized out>, format=<optimized out>, type=<optimized out>, packing=0xffffffbc90, pixels=0xffffffbed0) at ../src/mesa/main/readpix.c:897
#16 0x000000fff4cbe258 in st_ReadPixels (ctx=0xaaaafc0eb0, x=<optimized out>, y=<optimized out>, width=<optimized out>, height=<optimized out>, format=<optimized out>, type=<optimized out>, pack=<optimized out>, pixels=0xffffffbed0) at ../src/mesa/state_tracker/st_cb_readpixels.c:571
#17 0x000000fff4e30578 in read_pixels (no_error=false, pixels=0xffffffbed0, bufSize=2147483647, type=5121, format=6408, height=<optimized out>, width=<optimized out>, y=<optimized out>, x=<optimized out>) at ../src/mesa/main/readpix.c:1165
#18 _mesa_ReadnPixelsARB (x=<optimized out>, y=<optimized out>, width=<optimized out>, height=<optimized out>, format=<optimized out>, type=<optimized out>, bufSize=<optimized out>, pixels=0xffffffbed0) at ../src/mesa/main/readpix.c:1182
#19 0x000000fff7d84120 in  () at /usr/lib/mips64el-linux-gnuabi64/libcogl.so.20
warning: GDB can't find the start of the function at 0xfff62f52a8.

#1002690#10
Date:
2021-12-27 14:36:01 UTC
From:
To:
Control: user debian-mips@lists.debian.org
Control: usertags -1 + mips64el

This might be related to https://bugs.debian.org/935884 and/or
https://bugs.debian.org/868745, which are other mips-specific crashes
involving llvmpipe.

I'm now trying to build 1.26.4+dfsg-2 on eller to see whether this is a
regression in some other package - I suspect it was, since clutter-1.0
has had no code changes since 2020, but it would be good to be more sure
of this.

    smcv

#1002690#15
Date:
2021-12-27 14:46:16 UTC
From:
To:
Yes, I think this is a regression in some other component, probably Mesa
or LLVM. 1.26.4+dfsg-2 passed unit tests on the buildds, but when rebuilt
on eller with current versions, it fails the same 5 tests as 1.26.4+dfsg-3
(although the failure is ignored by the d/rules from 1.26.4+dfsg-2).

    smcv

#1002690#20
Date:
2026-01-10 10:08:08 UTC
From:
To:
Es gibt eine Familienspende in Höhe von 1.850.000,00 USD von Cheng Charlie
Saephan. Bitte antworten Sie für weitere Informationen. Denken Sie daran,
Ihrer Familie und den Bedürftigen in Ihrer Umgebung Gutes zu tun.

Dies ist bereits der zweite Versuch, Sie zu erreichen. Bitte antworten Sie
für weitere Details.