Subject: Get "segmentation fault" with mariabackup on Alpine 3.20 amd64 version

From: Hans Harder <[email-masked]>
Date: Tue, 4 Jun 2024 09:24:45 +0200

Did a fresh alpine container install on 3.20 with amd64
after the initial setup-alpine I did:

mkdir /root/backup
apk add mariadb mariadb-backup mariadb-client mariadb-openrc
/etc/init.d/mariadb setup
/etc/init.d/mariadb start
mariabackup --backup -u root -p --targetdir=/root/backup/

Result:
[00] 2024-06-04 08:58:55 Connecting to MariaDB server host: localhost,
user: root, password: set, port: not set, socket: not set
[00] 2024-06-04 08:58:55 Using server version 10.11.8-MariaDB
mariabackup based on MariaDB server 10.11.8-MariaDB Linux (x86_64)
[00] 2024-06-04 08:58:55 uses posix_fadvise().
[00] 2024-06-04 08:58:55 cd to /var/lib/mysql/
[00] 2024-06-04 08:58:55 open files limit requested 0, set to 1024
[00] 2024-06-04 08:58:55 mariabackup: using the following InnoDB configuration:
..
[00] 2024-06-04 08:58:55 Stop scanning aria tables.
[00] 2024-06-04 08:58:55 Copying ./mysql/transaction_registry.ibd to
/root/xtrabackup_backupfiles/mysql/transaction_registry.ibd
Segmentation fault

with strace mariabackup --backup -u root -p --targetdir=/root/backup/
writev(2, [{iov_base="[00] 2024-06-04 09:20:42 Acquiri"...,
iov_len=51}, {iov_base=NULL, iov_len=0}], 2[00] 2024-06-04 09:20:42
Acquiring BACKUP LOCKS...
) = 51
poll([{fd=6, events=POLLIN|POLLPRI}], 1, 0) = 0 (Timeout)
sendto(6, "\36\0\0\0\3SET SESSION wsrep_sync_wait"..., 34, 0, NULL, 0) = 34
recvfrom(6, "\7\0\0\1\0\0\0\2\0\0\0", 16384, 0, NULL, NULL) = 11
poll([{fd=6, events=POLLIN|POLLPRI}], 1, 0) = 0 (Timeout)
sendto(6, "\23\0\0\0\3BACKUP STAGE START", 23, 0, NULL, 0) = 23
recvfrom(6, "\7\0\0\1\0\0\0\2\0\0\0", 16384, 0, NULL, NULL) = 11
futex(0x7f1cbac41904, FUTEX_WAKE_PRIVATE, 1) = 1
nanosleep({tv_sec=0, tv_nsec=1000000}, [00] 2024-06-04 09:20:42
Copying ./mysql/transaction_registry.ibd to
/root/xtrabackup_backupfiles/mysql/transaction_registry.ibd
0x7ffd2c488300) = 0
nanosleep({tv_sec=0, tv_nsec=1000000}, 0x7ffd2c488300) = 0
nanosleep({tv_sec=0, tv_nsec=1000000}, 0x7ffd2c488300) = 0
nanosleep({tv_sec=0, tv_nsec=1000000}, 0x7ffd2c488300) = 0
nanosleep({tv_sec=0, tv_nsec=1000000},  <unfinished ...>) = ?
+++ killed by SIGSEGV +++
Segmentation fault

Did this in a lxc container on WSL and on RH8.9  both got the Segmentation fault

Did this also on 3.19 amd64  backup went ok
Did this also on 3.20 arm64   backup went ok

---

From: Faustin Lammler <[email-masked]>
Date: Tue, 4 Jun 2024 10:15:54 +0200

Hi Hans!
I can confirm this (tested in podman containers with):
| podman run --name init-test --rm -d fauust/docker-systemd:alpine-3.20
| podman exec -it init-test sh
| mkdir /root/backup
| apk add mariadb mariadb-backup mariadb-client mariadb-openrc
| /etc/init.d/mariadb setup
| /etc/init.d/mariadb start
| mariabackup --backup -u root -p --targetdir=/root/backup/

I could not find anything upstream
(https://jira.mariadb.org/browse/MDEV-20189?jql=text%20~%20%22mariabackup%20segfault%22)
but my first guess would be that this does not comes from Alpine
packaging. So, you might consider opening a jira issue there?

Cheers!

Hans Harder <[email-masked]>,

-- 
Faustin
GPG: F652 BCD1 1AA8 8975 F010 48A5 390A 2F27 832A 5C79