dav1d-worker segfaults on ppc64le when decoding certain avif images in Firefox or Chromium with asm optimizations enabled
Chromium's bundled dav1d library segfaults when visiting the following web page: https://www.diptyqueparis.com/en_uk/p/eau-capitale-eau-de-parfum.html Firefox disables asm on ppc64 so it doesn't segfault. Firefox with +system-av1 (built with +asm) crashes as well, but it doesn't crash when enforcing libaom instead of dav1d. I've tried latest git master of dav1d (+asm) and it segfaults as well:
Thread 22 "dav1d-worker" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x3fffe82c97c0 (LWP 255027)]
copy8xN (edges=(CDEF_HAVE_RIGHT | CDEF_HAVE_BOTTOM), h=8, w=8, bottom=<optimized out>, top=<optimized out>, left=0x3fffe82c8a40, src_stride=768, src=0x3a0c08e40000 "", tmp_stride=16, tmp=0x3fffe82c8590) at ../dav1d-9999/src/ppc/cdef_tmpl.c:164
164 ../dav1d-9999/src/ppc/cdef_tmpl.c: No such file or directory.
(gdb) bt
#0 copy8xN (edges=(CDEF_HAVE_RIGHT | CDEF_HAVE_BOTTOM), h=8, w=8, bottom=<optimized out>, top=<optimized out>, left=0x3fffe82c8a40, src_stride=768, src=0x3a0c08e40000 "", tmp_stride=16, tmp=0x3fffe82c8590) at ../dav1d-9999/src/ppc/cdef_tmpl.c:164
#1 filter_8xN (tmp=0x3fffe82c8594, tmp_stride=16, edges=(CDEF_HAVE_RIGHT | CDEF_HAVE_BOTTOM), damping=5, dir=<optimized out>, sec_strength=2, pri_strength=0, h=8, w=8, bottom=<optimized out>, top=<optimized out>, left=0x3fffe82c8a40, dst_stride=768, dst=0x3a0c08e40000 "") at ../dav1d-9999/src/ppc/cdef_tmpl.c:389
#2 dav1d_cdef_filter_8x8_vsx (dst=0x3a0c08e40000 "", dst_stride=768, left=0x3fffe82c8a40, top=<optimized out>, bottom=<optimized out>, pri_strength=0, sec_strength=2, dir=<optimized out>, damping=<optimized out>, edges=<optimized out>) at ../dav1d-9999/src/ppc/cdef_tmpl.c:467
#3 0x00003ffff656f08c in dav1d_cdef_brow_8bpc (tc=0x3a0c08900000, p=<optimized out>, lflvl=0x3a0c00d06000, by_start=<optimized out>, by_end=<optimized out>, sbrow_start=<optimized out>, sby=<optimized out>) at ../dav1d-9999/src/cdef_apply_tmpl.c:240
#4 0x00003ffff658b860 in dav1d_filter_sbrow_cdef_8bpc (tc=0x3a0c08900000, sby=<optimized out>) at ../dav1d-9999/src/recon_tmpl.c:2117
#5 0x00003ffff65b1dd4 in dav1d_worker_task (data=0x3a0c08900000) at ../dav1d-9999/src/thread_task.c:849
#6 0x00003ffff5289508 in start_thread (arg=0x3fffe82c97c0) at pthread_create.c:442
#7 0x00003ffff533412c in clone () at ../sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S:107
See also: https://bugs.gentoo.org/880989