#973811 crashes /usr/libexec/tracker-extract with signal SIGSYS, Bad system call.

Package:
libopenblas0-pthread
Source:
openblas
Description:
Optimized BLAS (linear algebra) library (shared lib, pthread)
Submitter:
Roderich Schupp
Date:
2021-04-07 15:39:04 UTC
Severity:
normal
#973811#5
Date:
2020-11-05 11:17:41 UTC
From:
To:
I see several crashes of tracker-extract (2.3.5-2) with coredumps like

Core was generated by `/usr/libexec/tracker-extract'.
Program terminated with signal SIGSYS, Bad system call.
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
38      ../sysdeps/unix/sysv/linux/x86_64/syscall.S: No such file or directory.
[Current thread is 1 (Thread 0x7f47f4434700 (LWP 76793))]
(gdb) where
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007f47f52d996e in  () at /lib/x86_64-linux-gnu/libopenblas.so.0
#2  0x00007f47f52d9da9 in blas_memory_alloc () at /lib/x86_64-linux-
gnu/libopenblas.so.0
#3  0x00007f47f52da5a4 in  () at /lib/x86_64-linux-gnu/libopenblas.so.0
#4  0x00007f485fd47ea7 in start_thread (arg=<optimized out>) at
pthread_create.c:477
#5  0x00007f485fc77d4f in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95

(seems that tracker-extract loads libopenblas0-pthread since it provides
libblas.so.3, rdep of libsphinxbase3, rdep of libavfilter7, rdep of
gstreamer1.0-libav, probably loaded as gstreamer plugin)

#973811#10
Date:
2021-04-06 09:47:14 UTC
From:
To:
Dear Maintainer,
I tried to fill the gaps in the given backtrace with
the matching dbgsym packages, see below.

Might this be a kind of sandbox, not allowing
to allocate memory the way libopenblas.so does/did?

Kind regards,
Bernhard


#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007ffff295196e in my_mbind at ../../common_linux.h:87
#2  0x00007ffff2951da9 in blas_memory_alloc at memory.c:2793
#3  0x00007ffff29525a4 in blas_thread_server at blas_server.c:366
#4  0x00007ffff7b1bea7 in start_thread (arg=<optimized out>) at pthread_create.c:477
#5  0x00007ffff7a4bd4f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95


# 0.3.12+ds-2 not available anymore, looking at 0.3.13+ds-2
https://sources.debian.org/src/openblas/0.3.13+ds-2/driver/others/memory.c/?hl=2925#L2793
https://sources.debian.org/src/openblas/0.3.13+ds-2/driver/others/blas_server.c/?hl=366#L366
https://sources.debian.org/src/openblas/0.3.13+ds-2/common_linux.h/#L80

#973811#15
Date:
2021-04-06 10:33:00 UTC
From:
To:
Hi Bernhard (OP here),
https://sources.debian.org/src/tracker-miners/2.3.5-2/src/libtracker-miners-common/tracker-seccomp.c/?hl=71#L71

In particular, it does not ALLOW syscalls mbind and set_mempolicy.

Maybe tracker-miners should be modified. OTOH, I'm not sure why
openblas is actually involved in this
(I never found out which file on my disk triggered this).

Cheers, Roderich

#973811#20
Date:
2021-04-07 15:37:04 UTC
From:
To:
Hello Roderich,
I looked a little around and found Debian bug #967941.
There the media file is a video file that led
to loading libopenblas.so. This seems to be caused
by the file gstreamer-1.0/libgstlibav.so.

I could reproduce it now within a VM with current testing.
By creating a mkv video container containing dummy h264 video.

This made tracker-extract crash with the same backtrace.

Details creating the test video file and some more
details in attached file.

Kind regards,
Bernhard