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

Simon McVittie <[email protected]>
Newsgroups gmane.linux.debian.ports.mips
Message-ID <YcnNMEUsioA6ZqNn__4942.89366049401$1640615429$gmane$org@momentum.pseudorandom.co.uk>
Source: clutter-1.0
Version: 1.26.4+dfsg-3
Severity: important
Tags: ftbfs
X-Debbugs-Cc: [email protected], [email protected]

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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.